Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH v5 2/9] IB/core: Replace semaphore sm_sem with an atomic wait | Date | Mon, 21 Nov 2016 17:52:27 +0100 |
| |
On Monday, November 21, 2016 7:57:53 AM CET Linus Torvalds wrote: > Don't do this. > > Never ever do your own locking primitives. You will get the memory ordering > wrong. And even if you get it right, why do it? > > If you want to get rid of semaphores, and replace them with a mutex, that's > OK. But don't replace them with something more complex like an open coded > waiting model.
I think a mutex would't work here, since fops->open() and fops->close() are not called from the same context and lockdep will complain about that.
Version of the series had replaced the semaphore with a completion here, which worked correctly, but one reviewer suggested using the wait_event() instead since it's confusing to have a completion starting out in 'completed' state.
Arnd
| |