Messages in this thread | | | Date | Mon, 26 Jun 2017 13:36:44 +0200 | From | Petr Mladek <> | Subject | Re: [PATCH v3 2/4] kmod: reduce atomic operations on kmod_concurrent and simplify |
| |
On Fri 2017-05-26 14:12:26, Luis R. Rodriguez wrote: > atomic operations. We do this by inverting the logic of of the enabler, > instead of incrementing kmod_concurrent as we get new kmod users, define the > variable kmod_concurrent_max as the max number of currently allowed kmod > users and as we get new kmod users just decrement it if its still positive. > This combines the dec and read in one atomic operation. > > In this case we no longer get the same false failure: > > CPU1 CPU2 > atomic_dec_if_positive() > atomic_dec_if_positive() > atomic_inc() > atomic_inc() > > Suggested-by: Petr Mladek <pmladek@suse.com> > Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> > Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
The change looks fine to me. The code is much easier and less hacky.
Reviewed-by: Petr Mladek <pmladek@suse.com>
Best Regards, Petr
| |