[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <79E93560F4A5FD42BB769DAAF8BEF62A01AA8E7C@scsmsx411.amr.corp.intel.com>
Date: Wed, 23 May 2007 14:13:24 -0700
From: "Yu, Fenghua" <fenghua.yu@...el.com>
To: "Andrew Morton" <akpm@...ux-foundation.org>,
"Ravikiran G Thirumalai" <kiran@...lex86.org>
Cc: "Siddha, Suresh B" <suresh.b.siddha@...el.com>, <clameter@....com>,
<rmk@....linux.org.uk>, <linux-kernel@...r.kernel.org>,
<schwidefsky@...ibm.com>, <heiko.carstens@...ibm.com>
Subject: RE: [PATCH 1/2] Define new percpu interface for shared data -- version 3
>> So what we have now is space wastage on some architectures, space
savings on
>> some, but with no measurable performance benefit due to the
infrastructure
>> itself. Why not push the infrastructure when we really need it, as
against
>> pushing it now when we are not sure if it benefits?
>
>It makes sense from a theoretical POV and is pretty much a no-op in
terms
>of resource consumption.
>The problem with the wait-until-it-hurts approach is that by the time
>someone hurts from this and we find out about it, they may well be
using
>some year-old enterprise kernel and it's too late to fix it for them.
Yes, in theory, sharing shared percpu data with local percpu data in one
cache line can cause cache line contention between remote and local
access.
And this undesirable sharing does happen in current git.
On x86, without the patch, runqueue shares cacheline with cpu_domains.
c0633e80 d per_cpu__runqueues
c06347e0 d per_cpu__cpu_domains
Other architectures also have this undesired sharing. IA64 is an
example.
In future, this undesired sharing could happen with other data if we do
not have a methodology to prevent it.
I just do not have data to show the performance hit for this sharing
now.
Thanks.
-Fenghua
-
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