[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6 3/4] xen/rcu: add assertions to debug build
On 13.03.2020 14:06, Juergen Gross wrote: > Xen's RCU implementation relies on no softirq handling taking place > while being in a RCU critical section. Add ASSERT()s in debug builds > in order to catch any violations. > > For that purpose modify rcu_read_[un]lock() to use a dedicated percpu > counter additional to preempt_[en|dis]able() as this enables to test > that condition in __do_softirq() (ASSERT_NOT_IN_ATOMIC() is not > usable there due to __cpu_up() calling process_pending_softirqs() > while holding the cpu hotplug lock). > > While at it switch the rcu_read_[un]lock() implementation to static > inline functions instead of macros. > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> with one remark: > @@ -91,16 +114,23 @@ typedef struct _rcu_read_lock rcu_read_lock_t; > * will be deferred until the outermost RCU read-side critical section > * completes. > * > - * It is illegal to block while in an RCU read-side critical section. > + * It is illegal to process softirqs while in an RCU read-side critical > section. The latest with the re-added preempt_disable(), wouldn't this better say "... to process softirqs or block ..."? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |