android_kernel_xiaomi_sm8350/kernel
Paul E. McKenney a45bce4954 [PATCH] memory ordering in __kfifo primitives
Both __kfifo_put() and __kfifo_get() have header comments stating that if
there is but one concurrent reader and one concurrent writer, locking is not
necessary.  This is almost the case, but a couple of memory barriers are
needed.  Another option would be to change the header comments to remove the
bit about locking not being needed, and to change the those callers who
currently don't use locking to add the required locking.  The attachment
analyzes this approach, but the patch below seems simpler.

Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
Cc: Stelian Pop <stelian@popies.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-09-29 09:18:13 -07:00
..
irq [PATCH] irq: remove a extra line 2006-09-29 09:18:07 -07:00
power Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-09-26 11:49:46 -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] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
audit.h [PATCH] audit: AUDIT_PERM support 2006-09-11 13:32:30 -04:00
auditfilter.c [PATCH] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
auditsc.c [PATCH] selinux: rename selinux_ctxid_to_string 2006-09-26 08:48:52 -07:00
capability.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
compat.c
configs.c
cpu.c [PATCH] Disable CPU hotplug during suspend 2006-09-26 08:48:59 -07:00
cpuset.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
delayacct.c [PATCH] task delay accounting fixes 2006-09-01 11:39:08 -07:00
dma.c
exec_domain.c
exit.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
extable.c
fork.c [PATCH] ifdef blktrace debugging fields 2006-09-29 09:18:09 -07:00
futex_compat.c [PATCH] futex: Apply recent futex fixes to futex_compat 2006-08-06 08:57:49 -07:00
futex.c [PATCH] Use the correct restart option for futex_lock_pi 2006-09-08 10:22:50 -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 [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
kfifo.c [PATCH] memory ordering in __kfifo primitives 2006-09-29 09:18:13 -07:00
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
kthread.c [PATCH] remove kernel/kthread.c:kthread_stop_sem() 2006-07-14 21:53:52 -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
lockdep.c [PATCH] lockdep: print kernel version 2006-09-29 09:18:13 -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
mutex-debug.h
mutex.c
mutex.h
panic.c [PATCH] Add the __stack_chk_fail() function 2006-09-26 10:52:39 +02:00
params.c [PATCH] module_subsys: initialize earlier 2006-09-29 09:18:08 -07:00
pid.c [PATCH] pid: remove temporary debug code in attach_pid 2006-09-27 08:26:19 -07:00
posix-cpu-timers.c
posix-timers.c
printk.c [PATCH] PM: make it possible to disable console suspending 2006-09-26 08:49:03 -07:00
profile.c [PATCH] Profiling: require buffer allocation on the correct node 2006-09-26 08:48:50 -07:00
ptrace.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
rcupdate.c [PATCH] rcu_do_batch: make ->qlen decrement irq safe 2006-09-13 07:32:14 -07:00
rcutorture.c [PATCH] rcu: add lock annotations to rcu{,_bh}_torture_read_{lock,unlock} 2006-09-29 09:18:08 -07:00
relay.c [PATCH] kernel-doc for relay interface 2006-09-29 09:18:06 -07:00
resource.c Resources: insert identical resources above existing resources 2006-09-26 17:43:52 -07:00
rtmutex_common.h
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c [PATCH] Add try_to_freeze() to rt-test kthreads 2006-07-14 21:53:53 -07:00
rtmutex.c [PATCH] clean up and remove some extra spinlocks from rtmutex 2006-09-29 09:18:09 -07:00
rtmutex.h
rwsem.c
sched.c [PATCH] Fix longstanding load balancing bug in the scheduler 2006-09-26 08:48:43 -07:00
seccomp.c
signal.c [PATCH] NOMMU: move the fallback arch_vma_name() to a sensible place 2006-09-27 08:26:15 -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] remove generic__raw_read_trylock() 2006-09-29 09:18:03 -07:00
stacktrace.c
stop_machine.c [PATCH] Remove redundant up() in stop_machine() 2006-08-27 11:01:31 -07:00
sys_ni.c
sys.c [PATCH] x86: Add portable getcpu call 2006-09-26 10:52:28 +02:00
sysctl.c [PATCH] pidspace: is_init() 2006-09-29 09:18:12 -07:00
taskstats.c [NETLINK]: Extend netlink messaging interface 2006-09-22 14:53:43 -07:00
time.c
timer.c [PATCH] Fix kerneldoc comments in kernel/timer.c 2006-09-29 09:18:10 -07:00
uid16.c
unwind.c [PATCH] unwind: fix unused variable warning when !CONFIG_MODULES 2006-09-29 09:18:11 -07:00
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