diff options
| author | 2011-01-12 16:59:43 -0800 | |
|---|---|---|
| committer | 2011-01-13 08:03:09 -0800 | |
| commit | fb842b00c5eab66ec361b31550aa8a922745ce9e (patch) | |
| tree | cef7e6a0bd01849fcfc911f36293304f9ba7b3c2 /include | |
| parent | dca: remove unneeded NULL check (diff) | |
printk: use RCU to prevent potential lock contention in kmsg_dump
dump_list_lock is used to protect dump_list in kmsg_dumper implementation,
kmsg_dump() uses it to traverse dump_list too. But if there is contention
on the lock, kmsg_dump() will fail, and the valuable kernel message may be
lost.
This patch solves this issue with RCU. Because kmsg_dump() only read the
list, no lock is needed in kmsg_dump(). So that kmsg_dump() will never
fail because of lock contention.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
