kernel-fxtec-pro1x/Documentation
Paul E. McKenney e4cc1f22b2 rcu: Simplify quiescent-state accounting
There is often a delay between the time that a CPU passes through a
quiescent state and the time that this quiescent state is reported to the
RCU core.  It is quite possible that the grace period ended before the
quiescent state could be reported, for example, some other CPU might have
deduced that this CPU passed through dyntick-idle mode.  It is critically
important that quiescent state be counted only against the grace period
that was in effect at the time that the quiescent state was detected.

Previously, this was handled by recording the number of the last grace
period to complete when passing through a quiescent state.  The RCU
core then checks this number against the current value, and rejects
the quiescent state if there is a mismatch.  However, one additional
possibility must be accounted for, namely that the quiescent state was
recorded after the prior grace period completed but before the current
grace period started.  In this case, the RCU core must reject the
quiescent state, but the recorded number will match.  This is handled
when the CPU becomes aware of a new grace period -- at that point,
it invalidates any prior quiescent state.

This works, but is a bit indirect.  The new approach records the current
grace period, and the RCU core checks to see (1) that this is still the
current grace period and (2) that this grace period has not yet ended.
This approach simplifies reasoning about correctness, and this commit
changes over to this new approach.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
2011-09-28 21:38:22 -07:00
..
ABI [SCSI] isci: Adding documentation to API change and fixup sysfs registration 2011-08-23 19:54:24 -07:00
accounting
acpi ACPI, APEI, EINJ Param support is disabled by default 2011-08-03 11:15:59 -04:00
aoe
arm
auxdisplay
blackfin
block cfq-iosched: Add documentation about idling 2011-08-05 09:42:20 +02:00
blockdev
cdrom
cgroups memcg: Revert "memcg: add memory.vmscan_stat" 2011-09-14 18:09:38 -07:00
connector
console
cpu-freq
cpuidle
cris
crypto
development-process
device-mapper dm crypt: optionally support discard requests 2011-08-02 12:32:08 +01:00
devicetree Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-08-03 22:00:09 -10:00
DocBook [media] v4l2: Fix documentation of the codec device controls 2011-09-11 09:33:38 -03:00
driver-model
dvb [media] em28xx: Change firmware name for Terratec H5 DRX-K 2011-07-27 17:55:51 -03:00
early-userspace
fault-injection fault-injection: add ability to export fault_attr in arbitrary directory 2011-08-03 14:25:20 -10:00
fb
filesystems Documentation: befs.txt: no maintainer, orphaned 2011-08-13 18:34:03 -07:00
firmware_class
frv Documentation: add pointer to name_to_dev_t for root= values 2011-08-03 14:25:21 -10:00
hid
hwmon hwmon: (coretemp) Don't use threshold registers for tempX_max 2011-09-21 17:25:18 -07:00
i2c
i2o
ia64
ide
infiniband
input
ioctl ioctl: register LTTng ioctl 2011-09-12 11:50:56 -07:00
isdn
ja_JP
kbuild
kdump
ko_KR
laptops
leds
m68k Documentation: add pointer to name_to_dev_t for root= values 2011-08-03 14:25:21 -10:00
make
mips
misc-devices
mmc
mn10300
mtd
namespaces
netlabel
networking Documentation: networking: dmfe.txt: Remove the maintainer of orphan networking driver 2011-09-15 14:49:43 -04:00
nfc
parisc
PCI Docs: MSI-HOWTO: MSI -> MSIs 2011-08-02 21:34:41 +00:00
pcmcia
power PM / Runtime: Correct documentation of pm_runtime_irq_safe() 2011-08-25 15:31:05 +02:00
powerpc
pps
prctl
pti
ptp
rapidio
RCU rcu: Simplify quiescent-state accounting 2011-09-28 21:38:22 -07:00
s390
scheduler
scsi [SCSI] megaraid_sas Version to 5.40-rc1 and Changelog update 2011-07-27 15:45:22 +04:00
security
serial
sh
sound
sparc
spi
sysctl ipc: introduce shm_rmid_forced sysctl 2011-07-26 16:49:44 -07:00
target
telephony
thermal
timers
trace
usb
vDSO
video4linux [media] v4l2-framework.txt: update v4l2_event section 2011-07-27 17:53:33 -03:00
virtual lguest: allow booting guest with CONFIG_RELOCATABLE=y 2011-08-15 10:15:10 +09:30
vm thp: fix khugepaged defrag tunable documentation 2011-09-22 14:27:14 -07:00
w1
watchdog watchdog: WatchDog Timer Driver Core - Add minimum and max timeout 2011-07-28 08:01:18 +00:00
wimax
x86 Merge commit 'v3.0' into x86/vdso 2011-08-04 16:13:20 -07:00
zh_CN
.gitignore
00-INDEX Documentation: add Ramoops usage description 2011-08-13 18:34:03 -07:00
applying-patches.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes
circular-buffers.txt
coccinelle.txt
CodingStyle CodingStyle: Document the exception of not splitting user-visible strings, for grepping 2011-08-06 11:59:07 -07:00
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
DMA-API-HOWTO.txt Documentation/DMA-API-HOWTO.txt: fix misleading example 2011-07-26 16:49:45 -07:00
DMA-API.txt
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt Improve slave/cyclic DMA engine documentation 2011-07-27 20:33:48 +05:30
dontdiff
dynamic-debug-howto.txt
edac.txt
eisa.txt
email-clients.txt Documentation: email-clients: Add better Thunderbird information 2011-08-13 18:34:03 -07:00
feature-removal-schedule.txt xfs: deprecate the nodelaylog mount option 2011-08-25 10:30:05 -05:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
highuid.txt
HOWTO
hw_random.txt
hwspinlock.txt
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt Documentation: drop Linux Source Driver from kernel-docs references 2011-08-13 18:34:02 -07:00
kernel-parameters.txt Merge branches 'apei', 'bz-13195' and 'doc' into acpi 2011-09-12 20:00:00 -04:00
kmemcheck.txt
kmemleak.txt
kobject.txt
kprobes.txt
kref.txt
ldm.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
logo.gif
logo.txt
magic-number.txt
Makefile
ManagementStyle
mca.txt
md.txt md: update documentation for md/rdev/state sysfs interface 2011-07-28 11:31:48 +10:00
media-framework.txt [media] v4l: Fix minor typos in the documentation 2011-07-27 17:53:10 -03:00
memory-barriers.txt
memory-hotplug.txt
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
printk-formats.txt
prio_tree.txt
ramoops.txt Documentation: add Ramoops usage description 2011-08-13 18:34:03 -07:00
rbtree.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
sparse.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
SubmitChecklist
SubmittingDrivers Documentation: SubmittingDrivers: fix Linus's git tree URL 2011-08-13 18:34:03 -07:00
SubmittingPatches Documentation: fix spelling error in SubmittingPatches 2011-08-13 18:34:02 -07:00
svga.txt
sysfs-rules.txt
sysrq.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
volatile-considered-harmful.txt
workqueue.txt
xz.txt
zorro.txt