Messages in this thread |  | | Subject | Re: introduce task_rcu_dereference? | From | Kirill Tkhai <> | Date | Fri, 24 Oct 2014 11:51:58 +0400 |
| |
В Чт, 23/10/2014 в 20:18 +0200, Oleg Nesterov пишет: > 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?
Ok, really, not big simplification there. Your variant is good.
> > 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?
No, it would be the same except probe_slab_address(). So, let's stay on probe_slab_address() variant and fix the bug this way.
Kirill
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |