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
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
mach-numaq
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
a.out.h
acpi.h
[PATCH] don't call check_acpi_pci() on x86 with ACPI disabled
2006-03-22 07:53:54 -08:00
agp.h
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
bitops.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
boot.h
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
checksum.h
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
current.h
[PATCH] mark several functions __always_inline
2006-01-14 18:27:15 -08:00
debugreg.h
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
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
errno.h
fcntl.h
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
i8259.h
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
ipc.h
ipcbuf.h
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
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
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
linkage.h
local.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
math_emu.h
mc146818rtc.h
mca.h
mca_dma.h
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
mmzone.h
[PATCH] CONFIG_ACPI_SRAT NUMA build fix
2006-08-27 11:01:32 -07:00
module.h
mpspec.h
[PATCH] mptspec: remove duplicate #include
2006-04-11 06:18:34 -07:00
mpspec_def.h
msgbuf.h
msi.h
[PATCH] PCI: cleanup unused variable about msi driver
2006-06-21 12:00:00 -07:00
msr.h
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
nmi.h
[PATCH] i386/x86-64: Fix NMI watchdog suspend/resume
2006-09-26 10:52:27 +02:00
numa.h
numaq.h
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
pci-direct.h
pci.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
percpu.h
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
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
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
resource.h
rtc.h
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
seccomp.h
sections.h
segment.h
semaphore.h
i386: improve and correct inline asm memory constraints
2006-07-08 15:24:18 -07:00
sembuf.h
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
shmparam.h
sigcontext.h
siginfo.h
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
sparsemem.h
spinlock.h
[PATCH] i386: Remove alternative_smp
2006-08-30 16:05:15 -07:00
spinlock_types.h
srat.h
stat.h
[PATCH] 2TB files: st_blocks is invalid when calling stat64
2006-03-26 08:57:00 -08:00
statfs.h
string.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
suspend.h
system.h
x86: save/restore eflags in context switch
2006-09-18 16:20:40 -07:00
termbits.h
termios.h
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
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
unaligned.h
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
vga.h
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
vic.h
vm86.h
voyager.h
xor.h