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
..
irq
[PATCH] genirq core: fix handle_level_irq()
2006-09-19 07:57:20 -07:00
power
[PATCH] prevent swsusp with PAE
2006-09-06 11:00:02 -07:00
time
.gitignore
acct.c
[PATCH] Fix sighand->siglock usage in kernel/acct.c
2006-07-14 21:53:54 -07:00
audit.c
[PATCH] sanity check audit_buffer
2006-09-11 13:32:17 -04:00
audit.h
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
auditfilter.c
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
auditsc.c
[PATCH] audit: AUDIT_PERM support
2006-09-11 13:32:30 -04:00
capability.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
compat.c
configs.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
cpu.c
cpu hotplug: simplify and hopefully fix locking
2006-07-23 12:12:16 -07:00
cpuset.c
[PATCH] cpuset: oom panic fix
2006-08-27 11:01:32 -07:00
delayacct.c
[PATCH] task delay accounting fixes
2006-09-01 11:39:08 -07:00
dma.c
exec_domain.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
exit.c
[PATCH] eligible_child: remove an obsolete ->tgid check
2006-09-02 14:51:27 -07:00
extable.c
fork.c
[PATCH] task delay accounting fixes
2006-09-01 11:39:08 -07:00
futex.c
[PATCH] Use the correct restart option for futex_lock_pi
2006-09-08 10:22:50 -07:00
futex_compat.c
[PATCH] futex: Apply recent futex fixes to futex_compat
2006-08-06 08:57:49 -07:00
hrtimer.c
[PATCH] fix hrtimer percpu usage typo
2006-08-14 12:54:28 -07:00
itimer.c
kallsyms.c
[PATCH] null-terminate over-long /proc/kallsyms symbols
2006-07-14 21:53:52 -07:00
Kconfig.hz
Kconfig.preempt
kexec.c
kfifo.c
kmod.c
[PATCH] bug fix in kernel/kmod.c
2006-09-16 12:54:32 -07:00
kprobes.c
[PATCH] IA64: kprobe invalidate icache of jump buffer
2006-07-31 13:28:38 -07:00
ksysfs.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
kthread.c
[PATCH] remove kernel/kthread.c:kthread_stop_sem()
2006-07-14 21:53:52 -07:00
lockdep.c
[PATCH] lockdep: core, reduce per-lock class-cache size
2006-07-10 13:24:14 -07:00
lockdep_internals.h
[PATCH] lockdep: double the number of stack-trace entries
2006-09-13 07:32:14 -07:00
lockdep_proc.c
[PATCH] lockdep: procfs
2006-07-03 15:27:04 -07:00
Makefile
[PATCH] per-task-delay-accounting: taskstats interface
2006-07-14 21:53:56 -07:00
module.c
[PATCH] load_module: no BUG if module_subsys uninitialized
2006-09-25 17:38:36 -07:00
mutex-debug.c
[PATCH] lockdep: prove mutex locking correctness
2006-07-03 15:27:04 -07:00
mutex-debug.h
[PATCH] lockdep: better lock debugging
2006-07-03 15:27:01 -07:00
mutex.c
[PATCH] lockdep: prove mutex locking correctness
2006-07-03 15:27:04 -07:00
mutex.h
[PATCH] lockdep: prove mutex locking correctness
2006-07-03 15:27:04 -07:00
panic.c
[PATCH] x86: Allow users to force a panic on NMI
2006-09-26 10:52:27 +02:00
params.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
pid.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
posix-cpu-timers.c
posix-timers.c
printk.c
[PATCH] vt: printk: Fix framebuffer console triggering might_sleep assertion
2006-08-06 08:57:47 -07:00
profile.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
ptrace.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
rcupdate.c
[PATCH] rcu_do_batch: make ->qlen decrement irq safe
2006-09-13 07:32:14 -07:00
rcutorture.c
relay.c
resource.c
[PATCH] memory hotadd fixes: find_next_system_ram catch range fix
2006-08-06 08:57:48 -07:00
rtmutex-debug.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
rtmutex-debug.h
[PATCH] lockdep: better lock debugging
2006-07-03 15:27:01 -07:00
rtmutex-tester.c
[PATCH] Add try_to_freeze() to rt-test kthreads
2006-07-14 21:53:53 -07:00
rtmutex.c
[PATCH] reference rt-mutex-design in rtmutex.c
2006-07-31 13:28:43 -07:00
rtmutex.h
[PATCH] lockdep: better lock debugging
2006-07-03 15:27:01 -07:00
rtmutex_common.h
rwsem.c
[PATCH] lockdep: prove rwsem locking correctness
2006-07-03 15:27:04 -07:00
sched.c
[PATCH] revert "Drop tasklist lock in do_sched_setscheduler"
2006-08-27 11:01:29 -07:00
seccomp.c
signal.c
Fix force_sig_info() semantics after cleanups
2006-08-02 20:17:49 -07:00
softirq.c
[PATCH] Reducing local_bh_enable/disable overhead in irqtrace
2006-07-31 13:28:42 -07:00
softlockup.c
[PATCH] cpu hotplug: replace __devinit* with __cpuinit* for cpu notifications
2006-07-31 13:28:39 -07:00
spinlock.c
[PATCH] lockdep ifdef fix
2006-09-06 11:00:01 -07:00
stacktrace.c
[PATCH] lockdep: stacktrace subsystem, core
2006-07-03 15:27:02 -07:00
stop_machine.c
[PATCH] Remove redundant up() in stop_machine()
2006-08-27 11:01:31 -07:00
sys.c
[PATCH] x86: Add portable getcpu call
2006-09-26 10:52:28 +02:00
sys_ni.c
sysctl.c
[PATCH] x86: Allow users to force a panic on NMI
2006-09-26 10:52:27 +02:00
taskstats.c
[NETLINK]: Extend netlink messaging interface
2006-09-22 14:53:43 -07:00
time.c
timer.c
[PATCH] sys_getppid oopses on debug kernel
2006-08-14 12:54:29 -07:00
uid16.c
unwind.c
user.c
wait.c
[PATCH] uninline init_waitqueue_head()
2006-07-10 13:24:25 -07:00
workqueue.c
[PATCH] workqueue: remove lock_cpu_hotplug()
2006-08-14 12:54:29 -07:00