aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/stacktrace.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2009-11-02 13:52:29 -0800
committerIngo Molnar <mingo@elte.hu>2009-11-10 04:12:11 +0100
commit9160306e6f5b68bb64630c9031c517ca1cf463db (patch)
treed8f78f99d417f34121c21e45a4675b2b1d5c2674 /include/linux/stacktrace.h
parentrcu: Fix synchronization for rcu_process_gp_end() uses of ->completed counter (diff)
rcu: Fix note_new_gpnum() uses of ->gpnum
Impose a clear locking design on the note_new_gpnum() function's use of the ->gpnum counter. This is done by updating rdp->gpnum only from the corresponding leaf rcu_node structure's rnp->gpnum field, and even then only under the protection of that same rcu_node structure's ->lock field. Performance and scalability are maintained using a form of double-checked locking, and excessive spinning is avoided by use of the spin_trylock() function. The use of spin_trylock() is safe due to the fact that CPUs who fail to acquire this lock will try again later. The hierarchical nature of the rcu_node data structure limits contention (which could be limited further if need be using the RCU_FANOUT kernel parameter). Without this patch, obscure but quite possible races could result in a quiescent state that occurred during one grace period to be accounted to the following grace period, causing this following grace period to end prematurely. Not good! Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com Cc: <stable@kernel.org> # .32.x LKML-Reference: <12571987492350-git-send-email-> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/stacktrace.h')
0 files changed, 0 insertions, 0 deletions
ef='/linux-rng/commit/Documentation/blockdev?id=6566d1a32bf725a4fa9119f16270505451ad01ac'>zram: add dynamic device add/remove functionalitySergey Senozhatsky1-3/+20 2015-06-25zram: remove max_num_devices limitationSergey Senozhatsky1-1/+3 2015-06-25zram: add `compact` sysfs entry to documentationSergey Senozhatsky1-1/+1 2015-04-16Merge branch 'for-4.1/drivers' of git://git.kernel.dk/linux-blockLinus Torvalds1-15/+29 2015-04-15zram: deprecate zram attrs sysfs nodesSergey Senozhatsky1-0/+16 2015-04-15zram: export new 'mm_stat' sysfs attrsSergey Senozhatsky1-0/+12 2015-04-15zram: export new 'io_stat' sysfs attrsSergey Senozhatsky1-0/+11 2015-04-15zram: describe device attrs in documentationSergey Senozhatsky1-14/+34 2015-04-02Documentation: nbd: Add list of module parametersMarkus Pargmann1-0/+10 2015-04-02Documentation: nbd: Reformat to allow more documentationMarkus Pargmann1-15/+19 2014-10-09zram: report maximum used memoryMinchan Kim1-0/+1 2014-10-09zram: zram memory size limitationMinchan Kim1-4/+20 2014-04-07zram: propagate error to userMinchan Kim1-4/+5 2014-04-07zram: make compression algorithm selection possibleSergey Senozhatsky1-5/+19 2014-04-07zram: add multi stream functionalitySergey Senozhatsky1-5/+26 2014-04-07zram: document failed_reads, failed_writes statsSergey Senozhatsky1-1/+2 2014-04-07zram: move zram size warning to documentationSergey Senozhatsky1-0/+5 2014-02-17drbd: Describe the future high-level structure of DRBDAndreas Gruenbacher1-0/+38 2014-01-30zram: remove old private project commentMinchan Kim1-6/+0 2014-01-30zram: promote zram from stagingMinchan Kim1-0/+77 2014-01-23Documentation/blockdev/ramdisk.txt: updatesFabian Frederick1-6/+15 2013-11-08floppy: Correct documentation of driver options when used as a module.Ben Harris1-3/+3 2013-02-27nbd: update documentation and link to mailinglistWouter Verhelst1-34/+4 2012-03-30Documentation: remove references to /etc/modprobe.confLucas De Marchi1-1/+1 2011-11-16cciss: auto engage SCSI mid layer at driver load timeStephen M. Cameron1-8/+6 2011-08-08cciss: Adds simple mode functionalityJoseph Handzik1-0/+10 2011-06-13doc: fix wrong arch/i386 referencesWanlong Gao2-5/+5 2011-05-06cciss: add cciss_tape_cmds module paramterStephen M. Cameron1-0/+15 2010-08-04Documentation: update broken web addresses.Justin P. Mattock1-1/+1 2009-10-01The DRBD driverPhilipp Reisner7-0/+1196 2009-04-07mflash: initial supportunsik Kim2-0/+86 2008-11-14Create/use more directory structure in the Documentation/ tree.Randy Dunlap8-0/+1910