Re: [PATCH 0/8] infiniband: Remove semaphores

From: Arnd Bergmann
Date: Mon Oct 17 2016 - 16:39:31 EST


On Monday, October 17, 2016 1:28:01 PM CEST Bart Van Assche wrote:
> On 10/17/2016 01:06 PM, Arnd Bergmann wrote:
> > Using an open-coded semaphore as a replacement is probably just
> > the last resort that we can consider once we are down to the
> > last handful of users. I haven't looked at drivers/infiniband/
> > yet for this, but I believe that drivers/acpi/ is a case for
> > which I see no better alternative (the AML bytecode requires
> > counting semaphore semantics).
>
> Hello Arnd,
>
> Thanks for the detailed reply. However, I doubt that removing and
> open-coding counting semaphores is the best alternative. Counting
> semaphores are a useful abstraction. I think open-coding counting
> semaphores everywhere counting semaphores are used would be a step back
> instead of a step forward.

Absolutely agreed, that's why I said 'last resort' above. I don't
think that we need to go there for infiniband. See my reply
for patch 6 for one idea on how to handle hns and mthca. There
might be better ways.

These fall into the general category of using the counting semaphore
to count something that we already know in the code that uses
the semaphore, so we can remove the count and just need some other
waiting primitive.

Arnd