linux/arch/i386
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
..
boot kbuild: introduce utsrelease.h 2006-07-03 23:30:54 +02:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
kernel [PATCH] x86: Add portable getcpu call 2006-09-26 10:52:28 +02:00
lib [PATCH] i386: remove redundant might_sleep() in user accessors. 2006-07-14 21:53:52 -07:00
mach-default [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
mach-es7000 [PATCH] Compilation fix for ES7000 when no ACPI is specified in config (i386) 2006-03-23 07:38:04 -08:00
mach-generic [PATCH] i386: Allow to use GENERICARCH for UP kernels 2006-09-26 10:52:26 +02:00
mach-visws [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
mach-voyager [PATCH] irq-flags: i386: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
math-emu [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
mm [PATCH] i386 bootioremap / kexec fix 2006-09-25 17:38:35 -07:00
oprofile [PATCH] i386: make functions static 2006-09-26 10:52:27 +02:00
pci Revert mmiocfg heuristics and blacklist changes 2006-09-19 08:15:22 -07:00
power Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
defconfig [PATCH] i386: Update defconfig 2006-09-26 10:52:26 +02:00
Kconfig [PATCH] i386: Allow to use GENERICARCH for UP kernels 2006-09-26 10:52:26 +02:00
Kconfig.cpu i386: Trivial typo fixes 2006-06-26 18:47:15 +02:00
Kconfig.debug [PATCH] lockdep: irqtrace subsystem, i386 support 2006-07-03 15:27:03 -07:00
Makefile [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups 2006-03-26 08:56:53 -08:00
Makefile.cpu [PATCH] x86-64: Use -mtune=generic for generic kernels 2006-03-25 09:10:52 -08:00