Andi Kleen
3cfc348bf9
[PATCH] x86: Add portable getcpu call
...
For NUMA optimization and some other algorithms it is useful to have a fast
to get the current CPU and node numbers in user space.
x86-64 added a fast way to do this in a vsyscall. This adds a generic
syscall for other architectures to make it a generic portable facility.
I expect some of them will also implement it as a faster vsyscall.
The cache is an optimization for the x86-64 vsyscall optimization. Since
what the syscall returns is an approximation anyways and user space
often wants very fast results it can be cached for some time. The norma
methods to get this information in user space are relatively slow
The vsyscall is in a better position to manage the cache because it has direct
access to a fast time stamp (jiffies). For the generic syscall optimization
it doesn't help much, but enforce a valid argument to keep programs
portable
I only added an i386 syscall entry for now. Other architectures can follow
as needed.
AK: Also added some cleanups from Andrew Morton
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26 10:52:28 +02:00
..
mach-bigsmp
[PATCH] x86: convert bigsmp to use flat physical mode
2006-01-06 08:33:37 -08:00
mach-default
[PATCH] x86: increase MAX_MP_BUSSES on default arch
2006-09-01 11:39:08 -07:00
mach-es7000
[PATCH] i386: Allow to use GENERICARCH for UP kernels
2006-09-26 10:52:26 +02:00
mach-generic
[PATCH] x86: sutomatically enable bigsmp when we have more than 8 CPUs
2005-09-05 00:06:10 -07:00
mach-numaq
[PATCH] Do not enforce unique IO_APIC_ID check for xAPIC systems (i386)
2005-06-23 09:45:09 -07:00
mach-summit
[PATCH] i386: Allow to use GENERICARCH for UP kernels
2006-09-26 10:52:26 +02:00
mach-visws
[PATCH] fix sgivwfb compile
2006-06-29 10:26:19 -07:00
mach-voyager
[PATCH] Clean up and refactor i386 sub-architecture setup
2006-06-25 10:00:55 -07:00
8253pit.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
a.out.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
acpi.h
[PATCH] don't call check_acpi_pci() on x86 with ACPI disabled
2006-03-22 07:53:54 -08:00
agp.h
[PATCH] i386: inline asm cleanup
2005-09-05 00:06:11 -07:00
alternative.h
[PATCH] i386: Remove alternative_smp
2006-08-30 16:05:15 -07:00
apic.h
[PATCH] x86_64: nmi watchdog header cleanup
2006-06-26 10:48:16 -07:00
apicdef.h
x86_64: Remove stale lapic definition from apicdef.h
2006-04-01 22:50:03 -05:00
arch_hooks.h
[PATCH] x86: early printk handling fixes
2006-03-23 07:38:05 -08:00
atomic.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
auxvec.h
[PATCH] auxiliary vector cleanups
2005-09-07 16:57:21 -07:00
bitops.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
boot.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bug.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
bugs.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
byteorder.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
cache.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
cacheflush.h
[PATCH] x86/x86_64: mark rodata section read only: x86 parts
2006-01-06 08:33:36 -08:00
checksum.h
[NET]: Fix ipl=>ihl typo in ip_fast_csum
2005-08-29 16:02:48 -07:00
cpu.h
[PATCH] Register sysfs file for hotplugged new node
2006-06-27 17:32:36 -07:00
cpufeature.h
[PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs
2006-06-26 10:48:22 -07:00
cputime.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
current.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
debugreg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
delay.h
[PATCH] Time: i386 Conversion - part 3: Enable Generic Timekeeping
2006-06-26 09:58:21 -07:00
desc.h
[PATCH] x86: fix broken SMP boot sequence
2006-02-24 14:31:38 -08:00
div64.h
[PATCH] include/asm-i386/: "extern inline" -> "static inline"
2005-09-10 10:06:34 -07:00
dma-mapping.h
[PATCH] i386: make pci_map_single/pci_map_sg warn for zero length.
2006-01-11 19:04:56 -08:00
dma.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
dmi.h
[PATCH] x86_64: Implement early DMI scanning
2006-03-25 09:10:55 -08:00
dwarf2.h
[PATCH] i386: reliable stack trace support i386 entry.S
2006-06-26 10:48:17 -07:00
e820.h
[PATCH] x86_64: Introduce e820_all_mapped
2006-04-09 11:53:50 -07:00
edac.h
[PATCH] EDAC: core EDAC support code
2006-01-18 19:20:31 -08:00
elf.h
[PATCH] headers_check: move kernel-only #includes within <asm-i386/elf.h>
2006-09-13 07:32:15 -07:00
emergency-restart.h
[PATCH] i386: Implement machine_emergency_reboot
2005-07-26 14:35:42 -07:00
errno.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
fcntl.h
[PATCH] Clean up struct flock64 definitions
2005-09-07 16:57:38 -07:00
fixmap.h
[PATCH] vdso: randomize the i386 vDSO by moving it into a vma
2006-06-27 17:32:38 -07:00
floppy.h
[PATCH] irq-flags: i386: Use the new IRQF_ constants
2006-07-02 13:58:47 -07:00
futex.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
genapic.h
[PATCH] i386: Allow to use GENERICARCH for UP kernels
2006-09-26 10:52:26 +02:00
hardirq.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
highmem.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
hpet.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
hw_irq.h
[PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend()
2006-06-29 10:26:23 -07:00
i387.h
[PATCH] i386: fix broken FP exception handling
2006-04-29 14:13:16 -07:00
i8253.h
[PATCH] x86: i8253/i8259A lock cleanup
2005-06-30 08:45:10 -07:00
i8259.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ide.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
intel_arch_perfmon.h
[PATCH] x86: i386/x86-64 Add nmi watchdog support for new Intel CPUs
2006-09-26 10:52:27 +02:00
io.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
io_apic.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
2006-05-24 09:22:21 +01:00
ioctl.h
[PATCH] Generic ioctl.h
2006-01-10 08:01:34 -08:00
ioctls.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipcbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
irq.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
irqflags.h
[PATCH] lockdep: irqtrace cleanup of include/asm-i386/irqflags.h
2006-07-03 15:27:03 -07:00
ist.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
k8.h
[PATCH] x86_64: Clean and enhance up K8 northbridge access code
2006-06-26 10:48:15 -07:00
Kbuild
[HEADERS] One line per header in Kbuild files to reduce conflicts
2006-09-19 12:43:58 +01:00
kdebug.h
[PATCH] Notify page fault call chain for i386
2006-06-26 09:58:22 -07:00
kexec.h
[PATCH] Kdump: i386 compiler warning fix
2006-01-10 08:01:27 -08:00
kmap_types.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
kprobes.h
[PATCH] IA64: kprobe invalidate icache of jump buffer
2006-07-31 13:28:38 -07:00
ldt.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
linkage.h
[PATCH] i386: fix prevent_tail_call
2005-05-26 16:16:16 -07:00
local.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
math_emu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mc146818rtc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mca.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mca_dma.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mce.h
[PATCH] Don't trigger full rebuild via CONFIG_X86_MCE
2006-06-23 07:42:56 -07:00
mman.h
[PATCH] add asm-generic/mman.h
2006-02-15 15:32:22 -08:00
mmu.h
[PATCH] vdso: randomize the i386 vDSO by moving it into a vma
2006-06-27 17:32:38 -07:00
mmu_context.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
mmx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mmzone.h
[PATCH] CONFIG_ACPI_SRAT NUMA build fix
2006-08-27 11:01:32 -07:00
module.h
[PATCH] Base support for AMD Geode GX/LX processors
2006-01-06 08:33:38 -08:00
mpspec.h
[PATCH] mptspec: remove duplicate #include
2006-04-11 06:18:34 -07:00
mpspec_def.h
[PATCH] mpspec: remove unneeded packed attribute
2006-01-06 08:33:39 -08:00
msgbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
msi.h
[PATCH] PCI: cleanup unused variable about msi driver
2006-06-21 12:00:00 -07:00
msr.h
[PATCH] x86: more asm cleanups
2005-09-05 00:06:12 -07:00
mtrr.h
[PATCH] Don't trigger full rebuild via CONFIG_MTRR
2006-06-23 07:42:56 -07:00
mutex.h
[PATCH] x86: SMP alternatives
2006-03-23 07:38:04 -08:00
namei.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
nmi.h
[PATCH] i386/x86-64: Fix NMI watchdog suspend/resume
2006-09-26 10:52:27 +02:00
numa.h
[PATCH] x86-64: Use ACPI PXM to parse PCI<->node assignments
2005-09-12 10:49:57 -07:00
numaq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
page.h
[PATCH] vdso: randomize the i386 vDSO by moving it into a vma
2006-06-27 17:32:38 -07:00
param.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
parport.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci-direct.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
percpu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgalloc.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
pgtable-2level-defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgtable-2level.h
[PATCH] x86/PAE: Fix pte_clear for the >4GB RAM case
2006-04-27 12:00:59 -07:00
pgtable-3level-defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgtable-3level.h
[PATCH] x86/PAE: Fix pte_clear for the >4GB RAM case
2006-04-27 12:00:59 -07:00
pgtable.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
2006-04-29 01:42:26 +01:00
poll.h
[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications
2006-03-25 08:22:56 -08:00
posix_types.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
processor.h
[PATCH] i386: move phys_proc_id and cpu_core_id to cpuinfo_x86
2006-06-27 17:32:37 -07:00
ptrace.h
[PATCH] PTRACE_SYSEMU is only for i386 and clashes with other ptrace codes of other archs
2006-01-08 20:14:04 -08:00
resource.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rtc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rwlock.h
[PATCH] i386: rwlock.h fix smp alternatives fix
2006-08-31 10:46:07 -07:00
rwsem.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
scatterlist.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
seccomp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sections.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
segment.h
[PATCH] x86: Pnp segments in segment h
2006-01-06 08:33:34 -08:00
semaphore.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
sembuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
serial.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
setup.h
[PATCH] headers_check: don't expose PFN stuff to userspace in <asm-i386/setup.h>
2006-09-13 07:32:16 -07:00
shmbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
shmparam.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sigcontext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
siginfo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
signal.h
[PATCH] headers_check: move inclusion of <linux/linkage.h> in <asm-i386/signal.h>
2006-09-13 07:32:15 -07:00
smp.h
[PATCH] i386: Allow to use GENERICARCH for UP kernels
2006-09-26 10:52:26 +02:00
socket.h
[AF_UNIX]: Datagram getpeersec
2006-06-29 16:58:06 -07:00
sockios.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sparsemem.h
[PATCH] sparsemem memory model for i386
2005-06-23 09:45:05 -07:00
spinlock.h
[PATCH] i386: Remove alternative_smp
2006-08-30 16:05:15 -07:00
spinlock_types.h
[PATCH] spinlock consolidation
2005-09-10 10:06:21 -07:00
srat.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
stat.h
[PATCH] 2TB files: st_blocks is invalid when calling stat64
2006-03-26 08:57:00 -08:00
statfs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
string.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
suspend.h
[PATCH] i386: Use loaddebug macro consistently
2005-04-16 15:24:46 -07:00
system.h
x86: save/restore eflags in context switch
2006-09-18 16:20:40 -07:00
termbits.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
termios.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
thread_info.h
[PATCH] i386: use thread_info flags for debug regs and IO bitmaps
2006-07-09 18:47:12 -07:00
timer.h
[PATCH] Time: i386 Conversion - part 3: Enable Generic Timekeeping
2006-06-26 09:58:21 -07:00
timex.h
[PATCH] Time: i386 Conversion - part 2: Rework TSC Support
2006-06-26 09:58:21 -07:00
tlb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tlbflush.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
topology.h
[PATCH] sched: mc/smt power savings sched policy
2006-06-27 17:32:45 -07:00
tsc.h
[PATCH] Time: i386 Conversion - part 2: Rework TSC Support
2006-06-26 09:58:21 -07:00
types.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
uaccess.h
[PATCH] Make copy_from_user_inatomic NOT zero the tail on i386
2006-06-25 10:01:09 -07:00
ucontext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unaligned.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unistd.h
[PATCH] x86: Add portable getcpu call
2006-09-26 10:52:28 +02:00
unwind.h
[PATCH] x86: Make backtracer fallback logic more bullet-proof
2006-08-30 16:05:15 -07:00
user.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vga.h
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
vic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vm86.h
[PATCH] Make vm86 support optional
2006-01-08 20:14:11 -08:00
voyager.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xor.h
[PATCH] i386: inline asm cleanup
2005-09-05 00:06:11 -07:00