summaryrefslogtreecommitdiff
path: root/kernel/range.c
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2011-01-12 16:59:43 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-13 08:03:09 -0800
commitfb842b00c5eab66ec361b31550aa8a922745ce9e (patch)
treecef7e6a0bd01849fcfc911f36293304f9ba7b3c2 /kernel/range.c
parentf0f2c2b5b40b5e621a47a6a274117cce77841f1e (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 'kernel/range.c')
0 files changed, 0 insertions, 0 deletions