Messages in this thread | | | Date | Wed, 09 Jul 2008 11:02:58 -0700 | From | Mike Travis <> | Subject | Re: [RFC 00/15] x86_64: Optimize percpu accesses |
| |
Christoph Lameter wrote: > Jeremy Fitzhardinge wrote: > >> The bulk of this series is pda_X to x86_X_percpu conversion. This seems >> like pointless churn to me; there's nothing inherently wrong with the >> pda_X interfaces, and doing this transformation doesn't get us any >> closer to unifying 32 and 64 bit. > > What is the point of the pda_X interface? It does not exist on 32 bit. > The pda wastes the GS segment register on a small memory area. This patchset > makes the GS segment usable to reach all of the per cpu area by placing > the pda into the per cpu area. Thus the pda_X interface becomes obsolete > and the 32 bit per cpu stuff becomes usable under 64 bit unifying both > architectures. > > >> I think we should start devolving things out of the pda in the other >> direction: make a series where each patch takes a member of struct >> x8664_pda, converts it to a per-cpu variable (where possible, the same >> one that 32-bit uses), and updates all the references accordingly. When >> the pda is as empty as it can be, we can look at removing the >> pda-specific interfaces. > > This patchset places the whole x8664_pda structure into the per cpu area and makes the pda macros operate on the x8664_pda structure in the per cpu area. Not sure why you want to go through the churn of doing it for each object separately.
I think Jeremy's point is that by removing the pda struct entirely, the references to the fields can be the same for both x86_32 and x86_64.
Thanks, Mike
| |