Thomas Gleixner <tglx@xxxxxxxxxxxxx> writes: > "Paul E. McKenney" <paulmck@xxxxxxxxxx> writes: >> On Tue, Aug 11, 2020 at 04:44:21PM +0200, Thomas Gleixner wrote: >>> Now RCU creates a new thing which enforces to make page allocation in >>> atomic context possible on RT. What for? >>> >>> What's the actual use case in truly atomic context for this new thing on >>> an RT kernel? >> >> It is not just RT kernels. CONFIG_PROVE_RAW_LOCK_NESTING=y propagates >> this constraint to all configurations, and a patch in your new favorite >> subsystem really did trigger this lockdep check in a non-RT kernel. >> >>> The actual RCU code disabling interrupts is an implementation detail >>> which can easily be mitigated with a local lock. >> >> In this case, we are in raw-spinlock context on entry to kfree_rcu(). > > Where? And aside of the where, wasn't kfree_rcu() from within raw spinlock held regions possible all the time? Either I'm missing something or you are fundamentally changing RCU internals. kfree_rcu() saved RT in various ways where invoking kfree() was just not an option. Confused... Thanks, tglx