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]

 



>What's "shared percpu data" ?  It sounds to me like a contradiction in
>terms.  Isn't percpu data supposed to only be accessed by the CPU which
>owns it to prevent cache line bouncing?  In which case, what's the
point
>of sharing that data with other CPUs?  Surely "shared percpu data" is
>just the same as normal data?

Like said in the patch description:
"per cpu data section contains two types of data. One set which is
exclusively accessed by the local cpu and the other set which is  per
cpu,
but also shared by remote cpus."

The patches separate shared and aligned per cpu data from others to
eliminate cache pouncing between remote and local access.

The patches do not separate shared but non-aligned percpu data, e.g.
cpu_idle_state, flush_state in x86-64. We can do that later if needed.

I think the shared percpu data are "mainly" accessed by local cpu. We
need
to concentrate on their local cpu access i.e. define in percpu. If we
treat them as "normal" data, we may lose percpu benefits e.g. numa
allocation.

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