[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080725211117.586723000@polaris-admin.engr.sgi.com>
Date: Fri, 25 Jul 2008 14:11:17 -0700
From: Mike Travis <travis@....com>
To: Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: "Eric W. Biederman" <ebiederm@...ssion.com>,
Hugh Dickins <hugh@...itas.com>,
Jack Steiner <steiner@....com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org
Subject: [PATCH 0/4] x86_64: Optimize percpu accesses
This patchset provides the following:
* x86_64: Cleanup setup_percpu by fixing some minor potential
problems as well as add some debugging aids.
* x86_64: Rebase per cpu variables to zero
Rebase per cpu variables to zero in preparation for the following
patch to fold the pda into the per cpu area.
* x86_64: Fold pda into per cpu area
Declare the pda as a per cpu variable. This will allow the per cpu
variables to be accessible on the x86_64 using %gs as the base of
the percpu areas for each cpu:
%gs:per_cpu_xxxx
* x86_64: Reference zero-based percpu variables offset from gs
Actually implement the above operation for __get_cpu_var() and
__put_cpu_var(). Since this is now a single instruction, we
can remove the non-preemptible versions of x86_read_percpu()
and x86_write_percpu().
Note that the following changes are NOT in this patchset as the plan now
seems to be that the common (to x86) variables that are in the pda should
be made individual per cpu variables, leaving only the stack canary in place.
* x86_64: Replace cpu_pda ops with percpu ops
* x86_64: Replace xxx_pda() operations with x86_xxx_percpu().
* x86_64: Remove xxx_pda() operations
* x86_64: Remove cpu_pda() macro
Based on linux-2.6.tip/master.
Signed-off-by: Christoph Lameter <cl@...ux-foundation.org>
Signed-off-by: Mike Travis <travis@....com>
---
--
--
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