[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111122210018.GF9581@n2100.arm.linux.org.uk>
Date: Tue, 22 Nov 2011 21:00:18 +0000
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Gilad Ben-Yossef <gilad@...yossef.com>
Cc: linux-kernel@...r.kernel.org,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Frederic Weisbecker <fweisbec@...il.com>,
Christoph Lameter <cl@...ux.com>,
Chris Metcalf <cmetcalf@...era.com>, linux-mm@...ck.org,
Pekka Enberg <penberg@...nel.org>,
Matt Mackall <mpm@...enic.com>, Rik van Riel <riel@...hat.com>,
Andi Kleen <andi@...stfloor.org>,
Sasha Levin <levinsasha928@...il.com>
Subject: Re: [PATCH v4 2/5] arm: Move arm over to generic on_each_cpu_mask
On Tue, Nov 22, 2011 at 01:08:45PM +0200, Gilad Ben-Yossef wrote:
> -static void on_each_cpu_mask(void (*func)(void *), void *info, int wait,
> - const struct cpumask *mask)
> -{
> - preempt_disable();
> -
> - smp_call_function_many(mask, func, info, wait);
> - if (cpumask_test_cpu(smp_processor_id(), mask))
> - func(info);
> -
> - preempt_enable();
> -}
What hasn't been said in the descriptions (I couldn't find it) is that
there's a semantic change between the new generic version and this version -
that is, we run the function with IRQs disabled on the local CPU, whereas
the version above runs it with IRQs potentially enabled.
Luckily, for TLB flushing this is probably not a problem, but it's
something that should've been pointed out in the patch description.
--
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