[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150310183312.GA13665@redhat.com>
Date: Tue, 10 Mar 2015 19:33:12 +0100
From: Oleg Nesterov <oleg@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
"linux-tip-commits@...r.kernel.org"
<linux-tip-commits@...r.kernel.org>,
Davidlohr Bueso <dave@...olabs.net>,
Peter Anvin <hpa@...or.com>,
Sasha Levin <sasha.levin@...cle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Jason Low <jason.low2@...com>,
Michel Lespinasse <walken@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...nel.org>,
Paul McKenney <paulmck@...ux.vnet.ibm.com>,
Dave Jones <davej@...emonkey.org.uk>,
Ming Lei <ming.lei@...onical.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Kirill Tkhai <tkhai@...dex.ru>
Subject: Re: [tip:locking/core] locking/rwsem: Fix lock optimistic spinning
when owner is not running
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists