RE: [PATCH 1/2] Define new percpu interface for shared data -- version 3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux