Re: [tip:locking/core] locking/rwsem: Fix lock optimistic spinning when owner is not running

From: Oleg Nesterov
Date: Tue Mar 10 2015 - 14:35:50 EST

On 03/10, Linus Torvalds wrote:
> So I'm not a huge fan of SLAB_DESTROY_BY_RCU in general, but for
> really core data structures like this, I think it's worth it.

I agree, but we have other users which can't be fixed if we just add
SLAB_DESTROY_BY_RCU to task_struct_cachep. So we need something else

> The
> overhead of "call_rcu()" can be quite noticeable,

Yes, this was my concern too,

> and the other
> alternative solutions (like that suggested task_rcu_dereference()) are
> even *more* complex and subtle

Yes, but at least the ugliness is hidden inside task_rcu_dereference().
The usage is simple.

> and generally perform worse.

Well, task_rcu_dereference() should be cheap enough. probe_slab_address()


> I'm not claiming it's perfect,

Same here, it is not that I think task_rcu_dereference() is very nice.

So I leave this to you and Peter ;)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at