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 <pmla...@suse.com> > Suggested-by: Dmitry Torokhov <dmitry.torok...@gmail.com> > Signed-off-by: Luis R. Rodriguez <mcg...@kernel.org>
The change looks fine to me. The code is much easier and less hacky. Reviewed-by: Petr Mladek <pmla...@suse.com> Best Regards, Petr -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html