Skip to content

Commit 78e691f

Browse files
committed
Merge branches 'doc.2015.01.07a', 'fixes.2015.01.15a', 'preempt.2015.01.06a', 'srcu.2015.01.06a', 'stall.2015.01.16a' and 'torture.2015.01.11a' into HEAD
doc.2015.01.07a: Documentation updates. fixes.2015.01.15a: Miscellaneous fixes. preempt.2015.01.06a: Changes to handling of lists of preempted tasks. srcu.2015.01.06a: SRCU updates. stall.2015.01.16a: RCU CPU stall-warning updates and fixes. torture.2015.01.11a: RCU torture-test updates and fixes.
6 parents d87510c + 6047967 + ab954c1 + 83fe27e + 630181c + 7602de4 commit 78e691f

File tree

47 files changed

+562
-567
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+562
-567
lines changed

Documentation/RCU/stallwarn.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,15 @@ no non-lazy callbacks ("." is printed otherwise, as shown above) and
152152
"D" indicates that dyntick-idle processing is enabled ("." is printed
153153
otherwise, for example, if disabled via the "nohz=" kernel boot parameter).
154154

155+
If the relevant grace-period kthread has been unable to run prior to
156+
the stall warning, the following additional line is printed:
157+
158+
rcu_preempt kthread starved for 2023 jiffies!
159+
160+
Starving the grace-period kthreads of CPU time can of course result in
161+
RCU CPU stall warnings even when all CPUs and tasks have passed through
162+
the required quiescent states.
163+
155164

156165
Multiple Warnings From One Stall
157166

@@ -187,6 +196,11 @@ o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the
187196
behavior, you might need to replace some of the cond_resched()
188197
calls with calls to cond_resched_rcu_qs().
189198

199+
o Anything that prevents RCU's grace-period kthreads from running.
200+
This can result in the "All QSes seen" console-log message.
201+
This message will include information on when the kthread last
202+
ran and how often it should be expected to run.
203+
190204
o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
191205
happen to preempt a low-priority task in the middle of an RCU
192206
read-side critical section. This is especially damaging if

Documentation/RCU/trace.txt

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ rcuboost:
5656

5757
The output of "cat rcu/rcu_preempt/rcudata" looks as follows:
5858

59-
0!c=30455 g=30456 pq=1 qp=1 dt=126535/140000000000000/0 df=2002 of=4 ql=0/0 qs=N... b=10 ci=74572 nci=0 co=1131 ca=716
60-
1!c=30719 g=30720 pq=1 qp=0 dt=132007/140000000000000/0 df=1874 of=10 ql=0/0 qs=N... b=10 ci=123209 nci=0 co=685 ca=982
61-
2!c=30150 g=30151 pq=1 qp=1 dt=138537/140000000000000/0 df=1707 of=8 ql=0/0 qs=N... b=10 ci=80132 nci=0 co=1328 ca=1458
62-
3 c=31249 g=31250 pq=1 qp=0 dt=107255/140000000000000/0 df=1749 of=6 ql=0/450 qs=NRW. b=10 ci=151700 nci=0 co=509 ca=622
63-
4!c=29502 g=29503 pq=1 qp=1 dt=83647/140000000000000/0 df=965 of=5 ql=0/0 qs=N... b=10 ci=65643 nci=0 co=1373 ca=1521
64-
5 c=31201 g=31202 pq=1 qp=1 dt=70422/0/0 df=535 of=7 ql=0/0 qs=.... b=10 ci=58500 nci=0 co=764 ca=698
65-
6!c=30253 g=30254 pq=1 qp=1 dt=95363/140000000000000/0 df=780 of=5 ql=0/0 qs=N... b=10 ci=100607 nci=0 co=1414 ca=1353
66-
7 c=31178 g=31178 pq=1 qp=0 dt=91536/0/0 df=547 of=4 ql=0/0 qs=.... b=10 ci=109819 nci=0 co=1115 ca=969
59+
0!c=30455 g=30456 pq=1/0 qp=1 dt=126535/140000000000000/0 df=2002 of=4 ql=0/0 qs=N... b=10 ci=74572 nci=0 co=1131 ca=716
60+
1!c=30719 g=30720 pq=1/0 qp=0 dt=132007/140000000000000/0 df=1874 of=10 ql=0/0 qs=N... b=10 ci=123209 nci=0 co=685 ca=982
61+
2!c=30150 g=30151 pq=1/1 qp=1 dt=138537/140000000000000/0 df=1707 of=8 ql=0/0 qs=N... b=10 ci=80132 nci=0 co=1328 ca=1458
62+
3 c=31249 g=31250 pq=1/1 qp=0 dt=107255/140000000000000/0 df=1749 of=6 ql=0/450 qs=NRW. b=10 ci=151700 nci=0 co=509 ca=622
63+
4!c=29502 g=29503 pq=1/0 qp=1 dt=83647/140000000000000/0 df=965 of=5 ql=0/0 qs=N... b=10 ci=65643 nci=0 co=1373 ca=1521
64+
5 c=31201 g=31202 pq=1/0 qp=1 dt=70422/0/0 df=535 of=7 ql=0/0 qs=.... b=10 ci=58500 nci=0 co=764 ca=698
65+
6!c=30253 g=30254 pq=1/0 qp=1 dt=95363/140000000000000/0 df=780 of=5 ql=0/0 qs=N... b=10 ci=100607 nci=0 co=1414 ca=1353
66+
7 c=31178 g=31178 pq=1/0 qp=0 dt=91536/0/0 df=547 of=4 ql=0/0 qs=.... b=10 ci=109819 nci=0 co=1115 ca=969
6767

6868
This file has one line per CPU, or eight for this 8-CPU system.
6969
The fields are as follows:
@@ -188,14 +188,14 @@ o "ca" is the number of RCU callbacks that have been adopted by this
188188
Kernels compiled with CONFIG_RCU_BOOST=y display the following from
189189
/debug/rcu/rcu_preempt/rcudata:
190190

191-
0!c=12865 g=12866 pq=1 qp=1 dt=83113/140000000000000/0 df=288 of=11 ql=0/0 qs=N... kt=0/O ktl=944 b=10 ci=60709 nci=0 co=748 ca=871
192-
1 c=14407 g=14408 pq=1 qp=0 dt=100679/140000000000000/0 df=378 of=7 ql=0/119 qs=NRW. kt=0/W ktl=9b6 b=10 ci=109740 nci=0 co=589 ca=485
193-
2 c=14407 g=14408 pq=1 qp=0 dt=105486/0/0 df=90 of=9 ql=0/89 qs=NRW. kt=0/W ktl=c0c b=10 ci=83113 nci=0 co=533 ca=490
194-
3 c=14407 g=14408 pq=1 qp=0 dt=107138/0/0 df=142 of=8 ql=0/188 qs=NRW. kt=0/W ktl=b96 b=10 ci=121114 nci=0 co=426 ca=290
195-
4 c=14405 g=14406 pq=1 qp=1 dt=50238/0/0 df=706 of=7 ql=0/0 qs=.... kt=0/W ktl=812 b=10 ci=34929 nci=0 co=643 ca=114
196-
5!c=14168 g=14169 pq=1 qp=0 dt=45465/140000000000000/0 df=161 of=11 ql=0/0 qs=N... kt=0/O ktl=b4d b=10 ci=47712 nci=0 co=677 ca=722
197-
6 c=14404 g=14405 pq=1 qp=0 dt=59454/0/0 df=94 of=6 ql=0/0 qs=.... kt=0/W ktl=e57 b=10 ci=55597 nci=0 co=701 ca=811
198-
7 c=14407 g=14408 pq=1 qp=1 dt=68850/0/0 df=31 of=8 ql=0/0 qs=.... kt=0/W ktl=14bd b=10 ci=77475 nci=0 co=508 ca=1042
191+
0!c=12865 g=12866 pq=1/0 qp=1 dt=83113/140000000000000/0 df=288 of=11 ql=0/0 qs=N... kt=0/O ktl=944 b=10 ci=60709 nci=0 co=748 ca=871
192+
1 c=14407 g=14408 pq=1/0 qp=0 dt=100679/140000000000000/0 df=378 of=7 ql=0/119 qs=NRW. kt=0/W ktl=9b6 b=10 ci=109740 nci=0 co=589 ca=485
193+
2 c=14407 g=14408 pq=1/0 qp=0 dt=105486/0/0 df=90 of=9 ql=0/89 qs=NRW. kt=0/W ktl=c0c b=10 ci=83113 nci=0 co=533 ca=490
194+
3 c=14407 g=14408 pq=1/0 qp=0 dt=107138/0/0 df=142 of=8 ql=0/188 qs=NRW. kt=0/W ktl=b96 b=10 ci=121114 nci=0 co=426 ca=290
195+
4 c=14405 g=14406 pq=1/0 qp=1 dt=50238/0/0 df=706 of=7 ql=0/0 qs=.... kt=0/W ktl=812 b=10 ci=34929 nci=0 co=643 ca=114
196+
5!c=14168 g=14169 pq=1/0 qp=0 dt=45465/140000000000000/0 df=161 of=11 ql=0/0 qs=N... kt=0/O ktl=b4d b=10 ci=47712 nci=0 co=677 ca=722
197+
6 c=14404 g=14405 pq=1/0 qp=0 dt=59454/0/0 df=94 of=6 ql=0/0 qs=.... kt=0/W ktl=e57 b=10 ci=55597 nci=0 co=701 ca=811
198+
7 c=14407 g=14408 pq=1/0 qp=1 dt=68850/0/0 df=31 of=8 ql=0/0 qs=.... kt=0/W ktl=14bd b=10 ci=77475 nci=0 co=508 ca=1042
199199

200200
This is similar to the output discussed above, but contains the following
201201
additional fields:

arch/arm/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ config KVM
2323
select HAVE_KVM_CPU_RELAX_INTERCEPT
2424
select KVM_MMIO
2525
select KVM_ARM_HOST
26+
select SRCU
2627
depends on ARM_VIRT_EXT && ARM_LPAE
2728
---help---
2829
Support hosting virtualized guest machines. You will also

arch/arm64/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ config KVM
2626
select KVM_ARM_HOST
2727
select KVM_ARM_VGIC
2828
select KVM_ARM_TIMER
29+
select SRCU
2930
---help---
3031
Support hosting virtualized guest machines.
3132

arch/mips/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ config KVM
2020
select PREEMPT_NOTIFIERS
2121
select ANON_INODES
2222
select KVM_MMIO
23+
select SRCU
2324
---help---
2425
Support for hosting Guest kernels.
2526
Currently supported on MIPS32 processors.

arch/powerpc/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ config KVM
2121
select PREEMPT_NOTIFIERS
2222
select ANON_INODES
2323
select HAVE_KVM_EVENTFD
24+
select SRCU
2425

2526
config KVM_BOOK3S_HANDLER
2627
bool

arch/s390/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ config KVM
2828
select HAVE_KVM_IRQCHIP
2929
select HAVE_KVM_IRQFD
3030
select HAVE_KVM_IRQ_ROUTING
31+
select SRCU
3132
---help---
3233
Support hosting paravirtualized guest machines using the SIE
3334
virtualization capability on the mainframe. This should work

arch/tile/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ config KVM
2121
depends on HAVE_KVM && MODULES
2222
select PREEMPT_NOTIFIERS
2323
select ANON_INODES
24+
select SRCU
2425
---help---
2526
Support hosting paravirtualized guest machines.
2627

arch/x86/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ config X86
138138
select HAVE_ACPI_APEI_NMI if ACPI
139139
select ACPI_LEGACY_TABLES_LOOKUP if ACPI
140140
select X86_FEATURE_NAMES if PROC_FS
141+
select SRCU
141142

142143
config INSTRUCTION_DECODER
143144
def_bool y

arch/x86/kvm/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ config KVM
4040
select HAVE_KVM_MSI
4141
select HAVE_KVM_CPU_RELAX_INTERCEPT
4242
select KVM_VFIO
43+
select SRCU
4344
---help---
4445
Support hosting fully virtualized guest machines using hardware
4546
virtualization extensions. You will need a fairly recent

0 commit comments

Comments
 (0)