Re: [GIT PATCH] x86,percpu: fix pageattr handling with remap allocator

From: H. Peter Anvin
Date: Mon May 18 2009 - 15:43:06 EST


Suresh Siddha wrote:
>
> Can we don't use PERCPU_DYNAMIC_RESERVE in the first chunk and for
> dynamic per_cpu_ptr's we can use some other offset such as
> per_cpu_ptr_offset() or some such thing?
>
> Then we can separate the static and dynamic chunks. And use large page
> kernel-direct mappings for fast access for critical common things and
> use small page accesses for dynamic and not so common accesses.
>
> Just checking to see if we can reduce the complexity of setting up the
> percpu areas (different versions for embed, non-embed etc) and handling
> all these aliases with simple code, rather than making it complex.
>

I'm confused what you're suggesting here. The whole point of the percpu
unification work is that we can use %gs:absolute type references to hit
a variable right away. Although in theory we could use both %fs and %gs
for pointers, setting up both would greatly increase the cost of
entering the kernel, especially on 64 bits.

This means all percpu data has to have a constant (virtual) offset from
the beginning of the static percpu area.

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/