diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 21:10:49 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-11 21:10:49 -0500 |
commit | 37ea95a959d4a49846ecbf2dd45326b6b34bf049 (patch) | |
tree | 43791e1244ce06d8ca18ecbfd0b0f6dcb86ebb8b /kernel/ksysfs.c | |
parent | de0c276b31538fcd56611132f20b63eae2891876 (diff) | |
parent | 630e1e0bcddfda9566462d4f9a0d58b31c29d467 (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU update from Ingo Molnar:
"The major features of this tree are:
1. A first version of no-callbacks CPUs. This version prohibits
offlining CPU 0, but only when enabled via CONFIG_RCU_NOCB_CPU=y.
Relaxing this constraint is in progress, but not yet ready
for prime time. These commits were posted to LKML at
https://lkml.org/lkml/2012/10/30/724.
2. Changes to SRCU that allows statically initialized srcu_struct
structures. These commits were posted to LKML at
https://lkml.org/lkml/2012/10/30/296.
3. Restructuring of RCU's debugfs output. These commits were posted
to LKML at https://lkml.org/lkml/2012/10/30/341.
4. Additional CPU-hotplug/RCU improvements, posted to LKML at
https://lkml.org/lkml/2012/10/30/327.
Note that the commit eliminating __stop_machine() was judged to
be too-high of risk, so is deferred to 3.9.
5. Changes to RCU's idle interface, most notably a new module
parameter that redirects normal grace-period operations to
their expedited equivalents. These were posted to LKML at
https://lkml.org/lkml/2012/10/30/739.
6. Additional diagnostics for RCU's CPU stall warning facility,
posted to LKML at https://lkml.org/lkml/2012/10/30/315.
The most notable change reduces the
default RCU CPU stall-warning time from 60 seconds to 21 seconds,
so that it once again happens sooner than the softlockup timeout.
7. Documentation updates, which were posted to LKML at
https://lkml.org/lkml/2012/10/30/280.
A couple of late-breaking changes were posted at
https://lkml.org/lkml/2012/11/16/634 and
https://lkml.org/lkml/2012/11/16/547.
8. Miscellaneous fixes, which were posted to LKML at
https://lkml.org/lkml/2012/10/30/309.
9. Finally, a fix for an lockdep-RCU splat was posted to LKML
at https://lkml.org/lkml/2012/11/7/486."
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)
context_tracking: New context tracking susbsystem
sched: Mark RCU reader in sched_show_task()
rcu: Separate accounting of callbacks from callback-free CPUs
rcu: Add callback-free CPUs
rcu: Add documentation for the new rcuexp debugfs trace file
rcu: Update documentation for TREE_RCU debugfs tracing
rcu: Reduce default RCU CPU stall warning timeout
rcu: Fix TINY_RCU rcu_is_cpu_rrupt_from_idle check
rcu: Clarify memory-ordering properties of grace-period primitives
rcu: Add new rcutorture module parameters to start/end test messages
rcu: Remove list_for_each_continue_rcu()
rcu: Fix batch-limit size problem
rcu: Add tracing for synchronize_sched_expedited()
rcu: Remove old debugfs interfaces and also RCU flavor name
rcu: split 'rcuhier' to each flavor
rcu: split 'rcugp' to each flavor
rcu: split 'rcuboost' to each flavor
rcu: split 'rcubarrier' to each flavor
rcu: Fix tracing formatting
rcu: Remove the interface "rcudata.csv"
...
Diffstat (limited to 'kernel/ksysfs.c')
-rw-r--r-- | kernel/ksysfs.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/ksysfs.c b/kernel/ksysfs.c index c01eac66c0cc..6ada93c23a9a 100644 --- a/kernel/ksysfs.c +++ b/kernel/ksysfs.c | |||
@@ -140,6 +140,23 @@ static ssize_t fscaps_show(struct kobject *kobj, | |||
140 | } | 140 | } |
141 | KERNEL_ATTR_RO(fscaps); | 141 | KERNEL_ATTR_RO(fscaps); |
142 | 142 | ||
143 | int rcu_expedited; | ||
144 | static ssize_t rcu_expedited_show(struct kobject *kobj, | ||
145 | struct kobj_attribute *attr, char *buf) | ||
146 | { | ||
147 | return sprintf(buf, "%d\n", rcu_expedited); | ||
148 | } | ||
149 | static ssize_t rcu_expedited_store(struct kobject *kobj, | ||
150 | struct kobj_attribute *attr, | ||
151 | const char *buf, size_t count) | ||
152 | { | ||
153 | if (kstrtoint(buf, 0, &rcu_expedited)) | ||
154 | return -EINVAL; | ||
155 | |||
156 | return count; | ||
157 | } | ||
158 | KERNEL_ATTR_RW(rcu_expedited); | ||
159 | |||
143 | /* | 160 | /* |
144 | * Make /sys/kernel/notes give the raw contents of our kernel .notes section. | 161 | * Make /sys/kernel/notes give the raw contents of our kernel .notes section. |
145 | */ | 162 | */ |
@@ -179,6 +196,7 @@ static struct attribute * kernel_attrs[] = { | |||
179 | &kexec_crash_size_attr.attr, | 196 | &kexec_crash_size_attr.attr, |
180 | &vmcoreinfo_attr.attr, | 197 | &vmcoreinfo_attr.attr, |
181 | #endif | 198 | #endif |
199 | &rcu_expedited_attr.attr, | ||
182 | NULL | 200 | NULL |
183 | }; | 201 | }; |
184 | 202 | ||