linux-stable-rt/include/asm-sparc64
Fenghua Yu 5fb7dc37dc define new percpu interface for shared data
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.  In the current kernel, these two sets are
not clearely separated out.  This can potentially cause the same data
cacheline shared between the two sets of data, which will result in
unnecessary bouncing of the cacheline between cpus.

One way to fix the problem is to cacheline align the remotely accessed per
cpu data, both at the beginning and at the end.  Because of the padding at
both ends, this will likely cause some memory wastage and also the
interface to achieve this is not clean.

This patch:

Moves the remotely accessed per cpu data (which is currently marked
as ____cacheline_aligned_in_smp) into a different section, where all the data
elements are cacheline aligned. And as such, this differentiates the local
only data and remotely accessed data cleanly.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: <linux-arch@vger.kernel.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:44 -07:00
..
Kbuild consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
a.out.h [SPARC]: Add unsigned to unused bit field in a.out.h 2007-04-02 14:26:21 -07:00
agp.h
apb.h
asi.h
atomic.h atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency 2007-05-08 11:15:20 -07:00
auxio.h
auxvec.h
bbc.h
bitops.h
bpp.h
bsderrno.h
bug.h
bugs.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
byteorder.h
cache.h
cacheflush.h
chafsr.h
checksum.h
chmctrl.h
cmt.h
compat.h Introduce compat_u64 and compat_s64 types 2007-07-16 09:05:48 -07:00
compat_signal.h
cpudata.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
cputime.h
current.h
dcr.h
dcu.h
delay.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
device.h [SPARC64]: Probe PCI bus using OF device tree. 2007-04-26 01:55:06 -07:00
display7seg.h
div64.h
dma-mapping.h [SPARC64]: Really fix parport. 2007-06-13 00:01:24 -07:00
dma.h [SPARC64]: Fix floppy build failure. 2007-03-05 13:22:28 -08:00
ebus.h [SPARC64] ebus: Convert to use pci_device_to_OF_node(). 2007-04-26 01:55:04 -07:00
elf.h
emergency-restart.h
envctrl.h
errno.h
estate.h
fb.h fbdev: detect primary display device 2007-07-17 10:23:11 -07:00
fbio.h
fcntl.h
fhc.h
floppy.h [SPARC64] constify of_get_property return: include 2007-04-26 01:54:30 -07:00
fpumacro.h
futex.h
hardirq.h
head.h
hvtramp.h [SPARC64]: Initial LDOM cpu hotplug support. 2007-07-16 04:04:40 -07:00
hw_irq.h [SPARC64]: Minor irq handling cleanups. 2006-12-17 14:06:56 -08:00
hypervisor.h [SPARC64]: Initial LDOM cpu hotplug support. 2007-07-16 04:04:40 -07:00
ide.h
idprom.h
intr_queue.h
io.h [SPARC]: Mark sparc and sparc64 as not having virt_to_bus 2007-07-18 01:20:22 -07:00
ioctl.h
ioctls.h
iommu.h [SPARC64]: SUN4U PCI-E controller support. 2007-05-06 22:44:06 -07:00
ipc.h
ipcbuf.h
irq.h [SPARC64]: dr-cpu unconfigure support. 2007-07-16 04:05:32 -07:00
irq_regs.h
irqflags.h
isa.h [SPARC64] isa: Convert to use pci_device_to_OF_node(). 2007-04-26 01:55:05 -07:00
kdebug.h [SPARC64]: Kill unused DIE_PAGE_FAULT enum value. 2007-05-29 02:49:14 -07:00
kmap_types.h
kprobes.h jprobes: remove JPROBE_ENTRY() 2007-07-19 10:04:44 -07:00
ldc.h [SPARC64]: Fix build regressions added by dr-cpu changes. 2007-07-16 04:04:49 -07:00
linkage.h
local.h local_t: sparc64 cleanup 2007-05-08 11:15:20 -07:00
lsu.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
mc146818rtc.h
mdesc.h [SPARC64]: Add basic infrastructure for MD add/remove notification. 2007-07-18 01:19:51 -07:00
mman.h
mmu.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
mmu_context.h [SPARC64]: dr-cpu unconfigure support. 2007-07-16 04:05:32 -07:00
module.h
mostek.h [SPARC]: sparc64 gcc-4.2.0 20070317 -Werror failure 2007-03-27 01:13:55 -07:00
msgbuf.h
mutex.h
namei.h
ns87303.h
numnodes.h
of_device.h [SPARC64]: Fix of_iounmap() region release. 2006-12-31 14:06:05 -08:00
openprom.h [SPARC64]: Bump PROMINTR_MAX to 32. 2007-05-10 00:55:59 -07:00
openpromio.h
oplib.h [SPARC64]: Use machine description and OBP properly for cpu probing. 2007-05-29 02:49:41 -07:00
page.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
param.h
parport.h [SPARC64]: Really fix parport. 2007-06-13 00:01:24 -07:00
pci.h PCI: remove pci_dac_dma_... APIs 2007-07-11 16:02:11 -07:00
pconf.h
percpu.h define new percpu interface for shared data 2007-07-19 10:04:44 -07:00
perfctr.h
pgalloc.h Quicklist support for sparc64 2007-05-07 12:12:54 -07:00
pgtable.h page table handling cleanup 2007-07-16 09:05:36 -07:00
pil.h
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h
power.h [SPARC64]: Export powerd facilities for external entities. 2007-07-16 04:04:16 -07:00
processor.h
prom.h [SPARC64]: Use machine description and OBP properly for cpu probing. 2007-05-29 02:49:41 -07:00
psrcompat.h
pstate.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
ptrace.h
reg.h
resource.h
rtc.h
rwsem-const.h
rwsem.h
sbus.h
scatterlist.h PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
scratchpad.h
seccomp.h
sections.h
semaphore.h
sembuf.h
setup.h [SPARC64]: Increase command line size to 2048 like other arches. 2007-02-12 15:15:47 -08:00
sfafsr.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
sfp-machine.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h [SPARC64]: dr-cpu unconfigure support. 2007-07-16 04:05:32 -07:00
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
solerrno.h
sparsemem.h [SPARC64]: MAX_PHYSADDR_BITS et al. really need to be 42 bits not 41. 2007-04-26 01:55:24 -07:00
spinlock.h
spinlock_types.h
spitfire.h
sstate.h [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
starfire.h
stat.h
statfs.h
string.h
sunbpp.h
svr4.h
system.h Remove tas() 2007-05-08 11:15:20 -07:00
termbits.h
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
thread_info.h [SPARC64]: Eliminate NR_CPUS limitations. 2007-05-29 02:49:49 -07:00
timer.h [SPARC64]: Add clocksource/clockevents support. 2007-04-26 01:54:15 -07:00
timex.h
tlb.h [SPARC64]: Add linux/pagemap.h to asm/tlb.h 2007-06-28 21:25:31 -07:00
tlbflush.h
topology.h [SPARC64]: Fix {mc,smt}_capable(). 2007-06-04 21:50:05 -07:00
tsb.h [SPARC64]: Fix two bugs wrt. kernel 4MB TSB. 2007-05-29 02:51:38 -07:00
ttable.h [SPARC64]: Unify timer interrupt handler. 2007-04-26 01:54:11 -07:00
types.h
uaccess.h
uctx.h
unaligned.h
unistd.h [SPARC]: Wire up signalfd/timerfd/eventfd syscalls. 2007-05-11 22:06:51 -07:00
upa.h
user.h
utrap.h
vga.h
vio.h [SPARC64]: Massively simplify VIO device layer and support hot add/remove. 2007-07-18 01:20:04 -07:00
visasm.h
watchdog.h
xor.h