[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <520AC215.4050803@tilera.com>
Date: Tue, 13 Aug 2013 19:32:37 -0400
From: Chris Metcalf <cmetcalf@...era.com>
To: Tejun Heo <tj@...nel.org>
CC: Andrew Morton <akpm@...ux-foundation.org>,
<linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>,
Thomas Gleixner <tglx@...utronix.de>,
Frederic Weisbecker <fweisbec@...il.com>,
Cody P Schafer <cody@...ux.vnet.ibm.com>
Subject: Re: [PATCH v7 2/2] mm: make lru_add_drain_all() selective
On 8/13/2013 7:29 PM, Tejun Heo wrote:
> Hello,
>
> On Tue, Aug 13, 2013 at 06:53:32PM -0400, Chris Metcalf wrote:
>> int lru_add_drain_all(void)
>> {
>> - return schedule_on_each_cpu(lru_add_drain_per_cpu);
>> + return schedule_on_each_cpu_cond(lru_add_drain_per_cpu,
>> + lru_add_drain_cond, NULL);
> It won't nest and doing it simultaneously won't buy anything, right?
Correct on both counts, I think.
> Wouldn't it be better to protect it with a mutex and define all
> necessary resources statically (yeah, cpumask is pain in the ass and I
> think we should un-deprecate cpumask_t for static use cases)? Then,
> there'd be no allocation to worry about on the path.
If allocation is a real problem on this path, I think this is probably
OK, though I don't want to speak for Andrew. You could just guard it
with a trylock and any caller that tried to start it while it was
locked could just return happy that it was going on.
I'll put out a version that does that and see how that looks
for comparison's sake.
--
Chris Metcalf, Tilera Corp.
http://www.tilera.com
--
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