Jens Axboe
abf137dd77
aio: make the lookup_ioctx() lockless
...
The mm->ioctx_list is currently protected by a reader-writer lock,
so we always grab that lock on the read side for doing ioctx
lookups. As the workload is extremely reader biased, turn this into
an rcu hlist so we can make lookup_ioctx() lockless. Get rid of
the rwlock and use a spinlock for providing update side exclusion.
There's usually only 1 entry on this list, so it doesn't make sense
to look into fancier data structures.
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-12-29 08:29:50 +01:00
..
irq
genirq: __irq_set_trigger: change pr_warning to pr_debug
2008-11-13 11:59:48 +01:00
power
Merge branches 'tracing/ftrace', 'tracing/ring-buffer' and 'tracing/urgent' into tracing/core
2008-12-19 09:42:40 +01:00
time
time: catch xtime_nsec underflows and fix them
2008-12-04 08:43:02 +01:00
trace
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:21:10 -08:00
.gitignore
acct.c
CRED: Wrap task credential accesses in the core kernel
2008-11-14 10:39:12 +11:00
audit.c
[PATCH] fix broken timestamps in AVC generated by kernel threads
2008-12-09 02:27:41 -05:00
audit.h
audit_tree.c
Fix inotify watch removal/umount races
2008-11-15 12:26:44 -08:00
auditfilter.c
Fix inotify watch removal/umount races
2008-11-15 12:26:44 -08:00
auditsc.c
Merge branch 'next' into for-linus
2008-12-25 11:40:09 +11:00
backtracetest.c
backtrace: replace timer with tasklet + completions
2008-06-27 18:09:16 +02:00
bounds.c
capability.c
CRED: Inaugurate COW credentials
2008-11-14 10:39:23 +11:00
cgroup.c
Merge branch 'next' into for-linus
2008-12-25 11:40:09 +11:00
cgroup_debug.c
cgroups: fix probable race with put_css_set[_taskexit] and find_css_set
2008-10-20 08:52:38 -07:00
cgroup_freezer.c
freezer_cg: disable writing freezer.state of root cgroup
2008-11-12 17:17:16 -08:00
compat.c
Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus
2008-10-20 13:14:06 +02:00
configs.c
kernel/configs.c: remove useless comments
2008-10-20 08:52:34 -07:00
cpu.c
cpuinit fixes in kernel/*
2008-11-30 10:03:37 -08:00
cpuset.c
sched, cpusets: fix warning in kernel/cpuset.c
2008-11-29 20:39:29 +01:00
cred-internals.h
CRED: Inaugurate COW credentials
2008-11-14 10:39:23 +11:00
cred.c
User namespaces: set of cleanups (v2)
2008-11-24 18:57:41 -05:00
delayacct.c
schedstat: consolidate per-task cpu runtime stats
2008-12-18 13:54:01 +01:00
dma-coherent.c
dma-coherent: export dma_[alloc|release]_from_coherent methods
2008-08-22 08:34:53 +02:00
dma.c
kernel/dma.c: remove a CVS keyword
2008-10-16 11:21:30 -07:00
exec_domain.c
proc: move /proc/execdomains to kernel/exec_domain.c
2008-10-23 14:30:41 +04:00
exit.c
Do not free io context when taking recursive faults in do_exit
2008-12-29 08:28:43 +01:00
extable.c
tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions
2008-12-08 15:11:44 +01:00
fork.c
aio: make the lookup_ioctx() lockless
2008-12-29 08:29:50 +01:00
freezer.c
freezer_cg: use thaw_process() in unfreeze_cgroup()
2008-10-30 11:38:45 -07:00
futex.c
CRED: Use RCU to access another task's creds and to release a task's own creds
2008-11-14 10:39:19 +11:00
futex_compat.c
CRED: Use RCU to access another task's creds and to release a task's own creds
2008-11-14 10:39:19 +11:00
hrtimer.c
hrtimer: clean up unused callback modes
2008-11-12 09:54:40 +01:00
itimer.c
timers: fix itimer/many thread hang
2008-09-14 16:25:35 +02:00
kallsyms.c
allow stripping of generated symbols under CONFIG_KALLSYMS_ALL
2008-12-19 22:47:10 +01:00
Kconfig.freezer
container freezer: implement freezer cgroup subsystem
2008-10-20 08:52:34 -07:00
Kconfig.hz
sched: fix SCHED_HRTICK dependency
2008-07-28 14:37:38 +02:00
Kconfig.preempt
kexec.c
kexec: fix crash_save_vmcoreinfo_init build problem
2008-10-20 15:28:50 -07:00
kfifo.c
kgdb.c
kgdb: call touch_softlockup_watchdog on resume
2008-10-06 13:50:59 -05:00
kmod.c
CRED: Inaugurate COW credentials
2008-11-14 10:39:23 +11:00
kprobes.c
kernel/kprobes.c: don't pad kretprobe_table_locks[] on uniprocessor builds
2008-11-12 17:17:17 -08:00
ksysfs.c
profiling: dynamically enable readprofile at runtime
2008-10-16 11:21:31 -07:00
kthread.c
tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()
2008-11-16 09:01:36 +01:00
latencytop.c
KSYM_SYMBOL_LEN fixes
2008-12-10 08:01:54 -08:00
lockdep.c
ftrace: replace raw_local_irq_save with local_irq_save
2008-12-03 08:56:19 +01:00
lockdep_internals.h
lockdep: build fix
2008-08-13 12:55:10 +02:00
lockdep_proc.c
lockstat: fix numerical output rounding error
2008-08-26 10:37:46 +02:00
Makefile
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:27:58 -08:00
marker.c
markers/tracpoints: fix non-modular build
2008-11-16 09:52:03 +01:00
module.c
tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions
2008-12-08 15:11:44 +01:00
mutex-debug.c
mutex-debug: check mutex magic before owner
2008-05-16 16:53:35 +02:00
mutex-debug.h
mutex.c
locking: fix mutex @key parameter kernel-doc notation
2008-07-28 18:12:36 +02:00
mutex.h
notifier.c
ftrace: ignore functions that cannot be kprobe-ed
2008-10-14 10:34:22 +02:00
ns_cgroup.c
cgroup_clone: use pid of newly created task for new cgroup
2008-07-25 10:53:37 -07:00
nsproxy.c
User namespaces: set of cleanups (v2)
2008-11-24 18:57:41 -05:00
panic.c
taint: add missing comment
2008-12-01 19:55:24 -08:00
params.c
Fix compile warning in kernel/params.c
2008-10-23 12:09:00 -07:00
pid.c
pidns: remove now unused find_pid function.
2008-07-25 10:53:45 -07:00
pid_namespace.c
pid_ns: (BUG 11391) change ->child_reaper when init->group_leader exits
2008-09-02 19:21:38 -07:00
pm_qos_params.c
pm_qos_requirement might sleep
2008-09-02 19:21:40 -07:00
posix-cpu-timers.c
posix-cpu-timers: fix clock_gettime with CLOCK_PROCESS_CPUTIME_ID
2008-11-24 16:41:40 +01:00
posix-timers.c
Null pointer deref with hrtimer_try_to_cancel()
2008-12-20 14:13:45 -08:00
printk.c
printk: remove unused code from kernel/printk.c
2008-10-23 21:54:29 +02:00
profile.c
Merge commit 'v2.6.28-rc7' into tracing/core
2008-12-04 09:07:19 +01:00
ptrace.c
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:21:10 -08:00
rcuclassic.c
rcu: RCU-based detection of stalled CPUs for Classic RCU, fix
2008-10-03 10:41:00 +02:00
rcupdate.c
rcupdate: fix bug of rcu_barrier*()
2008-10-21 15:59:53 +02:00
rcupreempt.c
byteorder: remove direct includes of linux/byteorder/swab[b].h
2008-10-20 08:52:40 -07:00
rcupreempt_trace.c
rcu: trace fix possible mem-leak
2008-08-15 17:54:40 +02:00
rcutorture.c
byteorder: remove direct includes of linux/byteorder/swab[b].h
2008-10-20 12:51:53 -07:00
relay.c
relayfs: fix infinite loop with splice()
2008-12-10 08:01:52 -08:00
res_counter.c
cgroup files: convert res_counter_write() to be a cgroups write_string() handler
2008-07-25 10:53:36 -07:00
resource.c
reserve_region_with_split: Fix GFP_KERNEL usage under spinlock
2008-11-01 09:53:58 -07:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
sysdev: Pass the attribute to the low level sysdev show/store function
2008-07-21 21:55:02 -07:00
rtmutex.c
hrtimer: convert kernel/* to the new hrtimer apis
2008-09-05 21:35:13 -07:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:27:58 -08:00
sched_clock.c
Revert "sched_clock: prevent scd->clock from moving backwards"
2008-12-14 16:23:17 -08:00
sched_cpupri.c
sched: use a 2-d bitmap for searching lowest-pri CPU
2008-06-06 15:19:28 +02:00
sched_cpupri.h
sched: fix the cpuprio count really
2008-06-06 15:19:44 +02:00
sched_debug.c
sched: add uid information to sched_debug for CONFIG_USER_SCHED
2008-12-01 20:39:50 +01:00
sched_fair.c
sched: optimize update_curr()
2008-12-16 09:46:33 +01:00
sched_features.h
sched: backward looking buddy
2008-11-05 10:30:14 +01:00
sched_idletask.c
sched: add CONFIG_SMP consistency
2008-10-22 10:01:52 +02:00
sched_rt.c
Merge branch 'sched/urgent'; commit 'v2.6.28' into sched/core
2008-12-25 13:42:23 +01:00
sched_stats.h
schedstat: consolidate per-task cpu runtime stats
2008-12-18 13:54:01 +01:00
seccomp.c
semaphore.c
semaphore: __down_common: use signal_pending_state()
2008-08-05 14:33:47 -07:00
signal.c
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:21:10 -08:00
smp.c
generic-ipi: fix the smp_mb() placement
2008-11-06 08:41:56 +01:00
softirq.c
irq: call __irq_enter() before calling the tick_idle_check
2008-11-10 22:36:39 +01:00
softlockup.c
check_hung_task(): unsigned sysctl_hung_task_warnings cannot be less than 0
2008-12-03 10:11:51 +01:00
spinlock.c
lockdep: spin_lock_nest_lock(), checkpatch fixes
2008-08-13 13:56:51 +02:00
srcu.c
stacktrace.c
stacktrace: fix modular build, export print_stack_trace and save_stack_trace
2008-06-30 09:20:55 +02:00
stop_machine.c
stop_machine: fix race with return value (fixes Bug #11989 )
2008-11-16 15:09:52 -08:00
sys.c
User namespaces: set of cleanups (v2)
2008-11-24 18:57:41 -05:00
sys_ni.c
reintroduce accept4
2008-11-19 18:49:57 -08:00
sysctl.c
Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:21:10 -08:00
sysctl_check.c
sysctl: check for bogus modes
2008-07-25 10:53:45 -07:00
taskstats.c
taskstats: remove initialization of static per-cpu variable
2008-07-25 10:53:47 -07:00
test_kprobes.c
time.c
select: add a timespec_add_safe() function
2008-09-05 21:34:57 -07:00
timeconst.pl
Make constants in kernel/timeconst.h fixed 64 bits
2008-05-02 16:18:42 -07:00
timer.c
Merge branch 'master' into next
2008-11-14 11:29:12 +11:00
tracepoint.c
markers/tracpoints: fix non-modular build
2008-11-16 09:52:03 +01:00
tsacct.c
CRED: Use RCU to access another task's creds and to release a task's own creds
2008-11-14 10:39:19 +11:00
uid16.c
CRED: Wrap current->cred and a few other accessors
2008-11-14 10:39:18 +11:00
user.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2008-12-28 12:27:58 -08:00
user_namespace.c
User namespaces: set of cleanups (v2)
2008-11-24 18:57:41 -05:00
utsname.c
removed unused #include <linux/version.h>'s
2008-08-23 12:14:12 -07:00
utsname_sysctl.c
sysctl: simplify ->strategy
2008-10-16 11:21:47 -07:00
wait.c
wait: kill is_sync_wait()
2008-10-16 11:21:31 -07:00
workqueue.c
Merge branch 'master' into next
2008-11-14 11:29:12 +11:00