Re: introduce task_rcu_dereference?
From: Oleg Nesterov
Date: Thu Oct 23 2014 - 14:22:01 EST
On 10/23, Kirill Tkhai wrote:
>
> I'm agree generic helper is better. But probe_slab_address() has a sence
> if we know that SDBR is worse in our subject area.
And I still think it is worse.
> Less of code is
> easier to support :)
Sure, but ignoring the comments, SDBR needs the same code in
task_rcu_dereference() ? Except, of course
- probe_slab_address(&task->sighand, sighand);
+ sighand = task->sighand;
or how do you think we can simplify it?
> probe_slab_address() it's not a trivial logic.
But it already has a user. And probably it can have more.
To me the usage of SDBR is not trivial (and confusing) in this case.
Once again, ignoring the CONFIG_DEBUG_PAGEALLOC problems it does not
help at all.
With or without SDBR rq->curr can be reused and we need to avoid this
race. The fact that with SDBR it can be reused only as another instance
of task_struct is absolutely immaterial imo.
Not to mention that SDBR still adds some overhead while probe_slab()
is free unless CONFIG_DEBUG_PAGEALLOC, but this option adds a large
slowdown anyway.
But again, I can't really work today, perhaps I missed something.
Perhaps you can show a better code which relies on SDBR?
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/