linux/Documentation
Paul E. McKenney 621934ee7e [PATCH] srcu-3: RCU variant permitting read-side blocking
Updated patch adding a variant of RCU that permits sleeping in read-side
critical sections.  SRCU is as follows:

o	Each use of SRCU creates its own srcu_struct, and each
	srcu_struct has its own set of grace periods.  This is
	critical, as it prevents one subsystem with a blocking
	reader from holding up SRCU grace periods for other
	subsystems.

o	The SRCU primitives (srcu_read_lock(), srcu_read_unlock(),
	and synchronize_srcu()) all take a pointer to a srcu_struct.

o	The SRCU primitives must be called from process context.

o	srcu_read_lock() returns an int that must be passed to
	the matching srcu_read_unlock().  Realtime RCU avoids the
	need for this by storing the state in the task struct,
	but SRCU needs to allow a given code path to pass through
	multiple SRCU domains -- storing state in the task struct
	would therefore require either arbitrary space in the
	task struct or arbitrary limits on SRCU nesting.  So I
	kicked the state-storage problem up to the caller.

	Of course, it is not permitted to call synchronize_srcu()
	while in an SRCU read-side critical section.

o	There is no call_srcu().  It would not be hard to implement
	one, but it seems like too easy a way to OOM the system.
	(Hey, we have enough trouble with call_rcu(), which does
	-not- permit readers to sleep!!!)  So, if you want it,
	please tell me why...

[josht@us.ibm.com: sparse notation]
Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:30 -07:00
..
ABI PM: add /sys/power documentation to Documentation/ABI 2006-09-25 21:08:38 -07:00
DocBook [PATCH] page_alloc: fix kernel-doc and func. declaration 2006-10-04 07:55:12 -07:00
RCU [PATCH] srcu-3: RCU variant permitting read-side blocking 2006-10-04 07:55:30 -07:00
accounting [PATCH] csa accounting taskstats update 2006-10-01 00:39:29 -07:00
aoe Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
arm Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
block Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
cdrom
connector [CONNECTOR]: Add userspace example code into Documentation/connector/ 2006-08-26 18:42:00 -07:00
console [PATCH] VT binding: Update documentation 2006-06-26 09:58:33 -07:00
cpu-freq Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
cris
crypto [CRYPTO] doc: Update documentation for hash and me 2006-09-21 11:46:20 +10:00
device-mapper [PATCH] Fix dm-snapshot tutorial in Documentation 2005-11-07 07:53:54 -08:00
driver-model Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
drivers/edac [PATCH] Fix and enable EDAC sysfs operation 2006-07-10 13:24:25 -07:00
dvb Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
early-userspace earlyuserspace/README: fix homonym err 2005-11-08 17:16:50 +01:00
fb Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
filesystems Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
firmware_class [PATCH] drivers/base/firmware_class.c: cleanups 2006-05-21 12:59:19 -07:00
fujitsu/frv Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
hwmon hwmon: Remove Yuan Mu's address 2006-09-28 15:31:19 -07:00
i2c i2c-viapro: Add support for the VT8237A and VT8251 2006-09-26 15:38:52 -07:00
i2o spelling: s/retreive/retrieve/ 2006-01-10 00:10:13 +01:00
i386 [PATCH] x86: reserve a boot-loader ID number for Xen 2006-09-13 07:32:14 -07:00
ia64 Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
infiniband IB/ipoib: Remove broken link from Kconfig and documentation 2006-08-03 10:48:31 -07:00
input Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
ioctl Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
isdn Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
kbuild [PATCH] docs: small kbuild cleanup 2006-10-04 07:55:12 -07:00
kdump Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
m68k Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
mips [MIPS] Replace board_timer_setup function pointer by plat_timer_setup. 2006-07-13 21:26:17 +01:00
netlabel [NetLabel]: documentation 2006-09-22 14:53:31 -07:00
networking Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
parisc
pcmcia [PATCH] pcmcia: expose tool in pcmcia/Documentation/pcmcia/ 2006-06-30 22:09:10 +02:00
power Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
powerpc Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
s390 Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
scsi Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
serial [SERIAL] Update parity handling documentation 2006-06-02 17:47:26 +01:00
sh Fix typos in Documentation/: 'H'-'M' 2006-10-03 22:50:39 +02:00
sound Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
sparc Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
spi Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
sysctl [PATCH] zone_reclaim: dynamic slab reclaim 2006-09-26 08:48:51 -07:00
telephony
uml Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
usb Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
video4linux Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-10-03 16:35:11 -07:00
vm Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
w1 [PATCH] w1: Userspace communication protocol over connector. 2006-06-22 11:22:50 -07:00
watchdog Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
x86_64 Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
00-INDEX [NetLabel]: documentation 2006-09-22 14:53:31 -07:00
BUG-HUNTING Documentation: Update to BUG-HUNTING 2006-03-22 00:37:42 +01:00
Changes Documentaion: update Documentation/Changes with minimum versions 2006-09-25 10:06:15 +02:00
CodingStyle [PATCH] Add section on function return values to CodingStyle 2006-09-29 09:18:22 -07:00
DMA-API.txt [PATCH] dma doc updates 2006-04-14 12:25:26 -07:00
DMA-ISA-LPC.txt
DMA-mapping.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
HOWTO [PATCH] HOWTO: mention bughunting 2006-10-01 00:39:22 -07:00
IO-mapping.txt
IPMI.txt Fix typos in Documentation/: 'B'-'C' 2006-10-03 22:46:31 +02:00
IRQ-affinity.txt
IRQ.txt [PATCH] genirq: irq: document what an IRQ is 2006-06-29 10:26:25 -07:00
MSI-HOWTO.txt Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
ManagementStyle
PCIEBUS-HOWTO.txt
README.DAC960 [PATCH] devfs: Last little devfs cleanups throughout the kernel tree. 2006-06-26 12:25:09 -07:00
README.cycladesZ
SAK.txt
SecurityBugs
SubmitChecklist [PATCH] submit checklist: mention headers_check 2006-10-01 00:39:21 -07:00
SubmittingDrivers [PATCH] Documentation/SubmittingDrivers: minor update 2006-09-29 09:18:25 -07:00
SubmittingPatches [PATCH] SubmittingPatches: add a note about "format=flowed" when sending patches 2006-09-29 09:18:25 -07:00
VGA-softcursor.txt
acpi-hotkey.txt Fix minor documentation typo 2006-04-01 01:49:22 +02:00
applying-patches.txt [PATCH] Docs update: typos, corrections and additions to applying-patches.txt 2006-01-10 08:01:54 -08:00
atomic_ops.txt Spelling fixes for Documentation/atomic_ops.txt 2006-06-26 18:27:35 +02:00
basic_profiling.txt
binfmt_misc.txt
cachetlb.txt [PATCH] Add flush_kernel_dcache_page() API 2006-03-26 08:56:53 -08:00
cciss.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
cli-sti-removal.txt
computone.txt remove mentionings of devfs in documentation 2006-10-03 22:17:48 +02:00
cpqarray.txt
cpu-hotplug.txt [PATCH] cpu hotplug: fix hotplug cpu documentation for proper usage 2006-07-31 13:28:39 -07:00
cpusets.txt [PATCH] cpuset: top_cpuset tracks hotplug changes to node_online_map 2006-09-29 09:18:21 -07:00
cputopology.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
dcdbas.txt
debugging-modules.txt
dell_rbu.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
devices.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
digiepca.txt typo fixes: aquire -> acquire 2006-06-30 18:23:04 +02:00
dnotify.txt
dontdiff dontdiff: add utsrelease.h 2006-09-25 13:33:04 +02:00
ecryptfs.txt [PATCH] ecryptfs: fs/Makefile and fs/Kconfig 2006-10-04 07:55:24 -07:00
eisa.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
exception.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
feature-removal-schedule.txt Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-10-03 16:35:11 -07:00
floppy.txt [PATCH] kernel Doc/ URL corrections 2005-11-22 09:14:30 -08:00
ftape.txt
hayes-esp.txt
highuid.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
hpet.txt Documentation/hpet.txt typo 2006-01-15 02:09:54 +01:00
hrtimers.txt Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
hw_random.txt
ibm-acpi.txt Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
ide.txt Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
initrd.txt [PATCH] documentation: Documentation/initrd.txt 2006-07-31 13:28:44 -07:00
io_ordering.txt
ioctl-number.txt [PATCH] devfs: Last little devfs cleanups throughout the kernel tree. 2006-06-26 12:25:09 -07:00
iostats.txt
irqflags-tracing.txt [PATCH] lockdep: irqtrace subsystem, docs 2006-07-03 15:27:03 -07:00
isapnp.txt
java.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
kernel-doc-nano-HOWTO.txt [PATCH] Doc/kernel-doc: add more usage info 2006-02-01 08:53:27 -08:00
kernel-docs.txt remove mentionings of devfs in documentation 2006-10-03 22:17:48 +02:00
kernel-parameters.txt reboot parameter in Documentation/kernel-parameters.txt 2006-10-03 23:19:24 +02:00
keys-request-key.txt [PATCH] Keys: Allow in-kernel key requestor to pass auxiliary data to upcaller 2006-06-29 10:26:20 -07:00
keys.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
kobject.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
kprobes.txt [PATCH] Update Documentation/kprobes.txt 2006-10-02 07:57:16 -07:00
kref.txt
laptop-mode.txt Fix some typos in Documentation/: 'A' 2006-10-03 22:45:33 +02:00
ldm.txt
leds-class.txt [PATCH] LED: class documentation 2006-03-31 12:18:56 -08:00
lockdep-design.txt Fix typos in Documentation/: 'N'-'P' 2006-10-03 22:52:05 +02:00
locks.txt [PATCH] Docs update: remove obsolete patch from locks.txt 2006-01-10 08:01:54 -08:00
logo.gif
logo.txt
magic-number.txt
mandatory.txt
mca.txt Fix some typos in Documentation/: 'A' 2006-10-03 22:45:33 +02:00
md.txt Fix typos in Documentation/: 'Q'-'R' 2006-10-03 22:54:15 +02:00
memory-barriers.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
memory.txt
mono.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
moxa-smartio
mtrr.txt [PATCH] Doc: fix mtrr userspace programs to build cleanly 2006-04-11 06:18:44 -07:00
mutex-design.txt [PATCH] mutex subsystem, documentation 2006-01-09 15:59:20 -08:00
nbd.txt
nfsroot.txt Fix typos in Documentation/: 'D'-'E' 2006-10-03 22:47:42 +02:00
nmi_watchdog.txt
nommu-mmap.txt [PATCH] NOMMU: Make futexes work under NOMMU conditions 2006-09-27 08:26:15 -07:00
numastat.txt
oops-tracing.txt [PATCH] doc: refer to kdump in oops-tracing.txt 2006-01-11 18:42:10 -08:00
paride.txt
parport-lowlevel.txt [PATCH] parport: fix documentation 2006-02-03 08:32:06 -08:00
parport.txt
pci-error-recovery.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
pci.txt [PATCH] irq-flags: documentation: Use the new IRQF_ constants 2006-07-02 13:58:55 -07:00
pcieaer-howto.txt PCI-Express AER implemetation: aer howto document 2006-09-26 17:43:52 -07:00
pi-futex.txt fix a typo in Documentation/pi-futex.txt 2006-10-03 23:39:02 +02:00
pm.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
pnp.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
preempt-locking.txt
prio_tree.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
ramdisk.txt [PATCH] Update ramdisk documentation 2006-07-14 21:53:53 -07:00
riscom8.txt
robust-futex-ABI.txt [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
robust-futexes.txt [PATCH] pi-futex: robust futex docs fix 2006-06-27 17:32:46 -07:00
rocket.txt Fix typos in Documentation/: 'S' 2006-10-03 22:55:17 +02:00
rpc-cache.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
rt-mutex-design.txt [PATCH] typo fixes for rt-mutex-design.txt 2006-10-01 00:39:24 -07:00
rt-mutex.txt [PATCH] pi-futex: rt mutex docs 2006-06-27 17:32:47 -07:00
rtc.txt [PATCH] rtc: small documentation update 2006-06-25 10:01:14 -07:00
sched-arch.txt [PATCH] sched: resched and cpu_idle rework 2005-11-09 07:56:33 -08:00
sched-coding.txt Fix typos in Documentation/: 'H'-'M' 2006-10-03 22:50:39 +02:00
sched-design.txt Fix typos in Documentation/: 'H'-'M' 2006-10-03 22:50:39 +02:00
sched-domains.txt
sched-stats.txt
serial-console.txt [PATCH] doc: more serial-console info 2006-03-25 08:23:00 -08:00
sgi-ioc4.txt
sgi-visws.txt
sharedsubtree.txt [PATCH] Complete description of shared subtrees. 2005-11-07 18:18:11 -08:00
smart-config.txt kbuild: remove checkconfig.pl 2006-02-19 09:51:22 +01:00
smp.txt
sonypi.txt
sparse.txt kbuild: clarify "make C=" build option 2006-09-25 10:10:56 +02:00
specialix.txt
spinlocks.txt fix rwlock usage example 2006-03-22 00:19:39 +01:00
stable_api_nonsense.txt
stable_kernel_rules.txt Fix "can not" in Documentation and Kconfig 2006-10-03 22:53:09 +02:00
stallion.txt
svga.txt
sx.txt
sysrq.txt [PATCH] Correct sa'K' description in sysrq.txt 2006-06-25 10:01:13 -07:00
time_interpolators.txt
tipar.txt
tty.txt [PATCH] Correct tty doc 2006-06-26 09:58:17 -07:00
unicode.txt
unshare.txt Documentation: remove duplicated words 2006-10-03 22:57:56 +02:00
voyager.txt
xterm-linux.xpm
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/