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
anyway.
> 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()
is a plain LOAD unless CONFIG_DEBUG_PAGEALLOC.
But!
> 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 ;)
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/