Re: [PATCH RFC tip/core/rcu] Restore barrier() to rcu_read_lock() and rcu_read_unlock()

2019-06-06 Thread Paul E. McKenney
On Thu, Jun 06, 2019 at 09:42:33PM +0800, Herbert Xu wrote: > On Thu, Jun 06, 2019 at 06:19:33AM -0700, Paul E. McKenney wrote: > > Commit bb73c52bad36 ("rcu: Don't disable preemption for Tiny and Tree > > RCU readers") removed the barrier() calls from rcu_read_lock() and > > rcu_write_lock() in CO

Re: [PATCH RFC tip/core/rcu] Restore barrier() to rcu_read_lock() and rcu_read_unlock()

2019-06-06 Thread Herbert Xu
On Thu, Jun 06, 2019 at 06:19:33AM -0700, Paul E. McKenney wrote: > Commit bb73c52bad36 ("rcu: Don't disable preemption for Tiny and Tree > RCU readers") removed the barrier() calls from rcu_read_lock() and > rcu_write_lock() in CONFIG_PREEMPT=n&&CONFIG_PREEMPT_COUNT=n kernels. > Within RCU, this c

[PATCH RFC tip/core/rcu] Restore barrier() to rcu_read_lock() and rcu_read_unlock()

2019-06-06 Thread Paul E. McKenney
Commit bb73c52bad36 ("rcu: Don't disable preemption for Tiny and Tree RCU readers") removed the barrier() calls from rcu_read_lock() and rcu_write_lock() in CONFIG_PREEMPT=n&&CONFIG_PREEMPT_COUNT=n kernels. Within RCU, this commit was OK, but it failed to account for things like get_user() that can