summaryrefslogtreecommitdiffstats
path: root/include/asm-i386/unistd.h
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:28 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:28 +0200
commit3cfc348bf90ffaa777c188652aa297f04eb94de8 (patch)
tree8908d6a5a61e54ab422ec7f4800d6ac591695423 /include/asm-i386/unistd.h
parentc08c820508233b424deab3302bc404bbecc6493a (diff)
downloadop-kernel-dev-3cfc348bf90ffaa777c188652aa297f04eb94de8.zip
op-kernel-dev-3cfc348bf90ffaa777c188652aa297f04eb94de8.tar.gz
[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>
Diffstat (limited to 'include/asm-i386/unistd.h')
-rw-r--r--include/asm-i386/unistd.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h
index fc1c8dd..565d089 100644
--- a/include/asm-i386/unistd.h
+++ b/include/asm-i386/unistd.h
@@ -323,10 +323,11 @@
#define __NR_tee 315
#define __NR_vmsplice 316
#define __NR_move_pages 317
+#define __NR_getcpu 318
#ifdef __KERNEL__
-#define NR_syscalls 318
+#define NR_syscalls 319
/*
* user-visible error numbers are in the range -1 - -128: see
OpenPOWER on IntegriCloud