Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added virtual ALSA AVB driver #246

Open
wants to merge 133 commits into
base: 5.4-rt
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
227061b
merge: can-isotp: https://github.com/hartkopp/can-isotp
RobertCNelson Jul 23, 2020
0eeca08
CAN_ISOTP: wire up to kconfig/makefile
RobertCNelson Jul 29, 2019
6c67453
merge: CONFIG_PREEMPT_RT Patch Set
RobertCNelson Jul 23, 2020
f29f3bc
merge: WireGuard
RobertCNelson Jul 23, 2020
9af4c91
Add AM335x CM3 Power Managment Firmware
RobertCNelson Oct 9, 2019
74c03ca
Add BeagleBoard.org DTBS: v5.4.x-ti-overlays
RobertCNelson Aug 3, 2020
ed43409
backports: greybus: from: linux.git
RobertCNelson Jul 23, 2020
9ed7c38
backports: exfat: from: linux.git
RobertCNelson Jul 23, 2020
49212bf
backports: typec: from: linux.git
RobertCNelson Jul 30, 2020
8c956af
backports: brcm80211: from: linux.git
RobertCNelson Jul 23, 2020
3c6469b
brcmfmac: set F2 blocksize and watermark for 4373
WenChieh-Feng Jun 20, 2017
f76923a
non-upstream: add sg parameters dts parsing
cy-chihsien Aug 15, 2017
e55896a
brcmfmac: set apsta to 0 when AP starts on primary interface
WenChieh-Feng Sep 11, 2017
04731a3
brcmfmac: support AP isolation
WenChieh-Feng Jan 31, 2018
badcfa0
brcmfmac: make firmware eap_restrict a module parameter
WenChieh-Feng Mar 2, 2018
b46239e
non-upstream: support wake on ping packet
Feb 6, 2018
362192a
non-upstream: remove WOWL configuration in disconnect state
Mar 13, 2018
5e95681
brcmfmac: make setting SDIO workqueue WQ_HIGHPRI a module parameter
WenChieh-Feng Mar 26, 2018
3011516
brcmfmac: remove "arp_hostip_clear" from "brcmf_netdev_stop"
WenChieh-Feng May 25, 2018
12b45f9
brcmfmac: P2P CERT 6.1.9-Support GOUT handling P2P Presence Request
May 23, 2018
fa0e8ed
brcmfmac: only generate random p2p address when needed
cy-chihsien Jun 1, 2018
66e194b
brcmfmac: increase max hanger slots from 1K to 3K in fws layer
May 24, 2018
47e7304
brcmfmac: map 802.1d priority to precedence level based on AP WMM params
saro78 Sep 13, 2017
ed6c928
brcmfmac: set state of hanger slot to FREE when flushing PSQ
WenChieh-Feng Jul 24, 2018
cc584f7
brcmfmac: add RSDB condition when setting interface combinations
WenChieh-Feng Dec 11, 2019
bea81dd
brcmfmac: not set mbss in vif if firmware does not support MBSS
WenChieh-Feng Dec 11, 2019
ea58ecb
brcmfmac: support the second p2p connection
WenChieh-Feng Jun 29, 2018
aefa578
brcmfmac: add support for BCM4359 SDIO chipset
s-moch Dec 11, 2019
0614b47
brcmfmac: send port authorized event for FT-802.1X
May 9, 2019
5017d5d
brcmfmac: add vendor ie for association responses
Aug 20, 2018
064721a
brcmfmac: fix 4339 CRC error under SDIO 3.0 SDR104 mode
Sep 5, 2018
dbaace0
brcmfmac: fix the incorrect return value in brcmf_inform_single_bss().
Sep 4, 2018
e705d85
brcmfmac: Fix double freeing in the fmac usb data path
Sep 7, 2018
ad96b68
brcmfmac: Fix driver crash on USB control transfer timeout
Sep 7, 2018
df9d588
brcmfmac: avoid network disconnection during suspend with linux-3.8 a…
Sep 13, 2018
27f3b55
brcmfmac: allow credit borrowing for all access categories
Sep 12, 2018
9cfb072
non-upstream: Changes to improve USB Tx throughput.
Sep 12, 2018
8ae2f2e
brcmfmac: reset two D11 cores if chip has two D11 cores
WenChieh-Feng Dec 11, 2019
c43d7af
brcmfmac: introduce module parameter to configure default PM mode
cy-chihsien Sep 17, 2018
2127cca
brcmfmac: configure wowl parameters in suspend function only if firmw…
Sep 20, 2018
bd4d073
brcmfmac: keep SDIO watchdog running when console_interval is non-zero
WenChieh-Feng Nov 15, 2018
dec4552
brcmfmac: To fix kernel crash on out of boundary access
Nov 13, 2018
2156ab4
brcmfmac: reduce maximum station interface from 2 to 1 in RSDB mode
WenChieh-Feng Nov 21, 2018
09a6a67
brcmfmac: validate ifp pointer in brcmf_txfinalize
WenChieh-Feng Nov 21, 2018
8196259
brcmfmac: clean up iface mac descriptor before de-initializing it
WenChieh-Feng Nov 22, 2018
23ae7b9
brcmfmac: To fix Bss Info flag definition Bug
Dec 4, 2018
2cfb1ef
brcmfmac: disable command decode in sdio_aos for 4356
WenChieh-Feng Dec 17, 2018
053e365
brcmfmac: increase default max WOWL patterns to 16
Nov 8, 2018
ff1b507
non-upstream: Enable, Process, and forward PHY_TEMP event.
Dec 20, 2018
154cad3
brcmfmac: Use FW priority definition to initialize WMM AC priority array
Jan 23, 2019
d0f1866
brcmfmac: Fix P2P Group Formation failure via Go-neg method
Jan 31, 2019
e1198be
brcmfmac: Add P2P Action Frame retry delay to fix GAS Comeback Respon…
Feb 27, 2019
ec133e7
brcmfmac: Use default FW priority when EDCA params same for all ACs
Feb 27, 2019
c0b1e70
brcmfmac: fix continuous 802.1x tx pending timeout error
WenChieh-Feng Feb 27, 2019
60f50aa
brcmfmac: add sleep in bus suspend and cfg80211 resume functions
WenChieh-Feng Mar 7, 2019
8c7b703
brcmfmac: fix 43455 CRC error under SDIO 3.0 SDR104 mode
WenChieh-Feng Mar 8, 2019
a3c425e
brcmfmac: set F2 blocksize and watermark for 4359
Dec 11, 2019
00b4a05
brcmfmac: reserve 2 credits for host tx control path
Oct 15, 2018
58f2b59
brcmfmac: update tx status flags to sync with firmware
Jun 20, 2019
81da6f9
brcmfmac: fix credit reserve for each access category
Jun 20, 2019
a4e7060
brcmfmac: fix throughput zero stalls on PM 1 mode due to credit map
Jun 27, 2019
1aecced
brcmfmac: 43012 Update MES Watermark
Aug 19, 2019
7a339b8
brcmfmac: add support for CYW89359 SDIO chipset
cy-chihsien Oct 8, 2019
dfd031c
brcmfmac: add CYW43570 PCIE device
Nov 4, 2019
cd02e56
brcmfmac: Use seq/seq_len and set iv_initialize when plumbing of rxiv…
Nov 4, 2019
b7c3f17
brcmfmac: use actframe_abort to cancel ongoing action frame
Nov 5, 2019
729f552
brcmfmac: fix scheduling while atomic issue when deleting flowring
WenChieh-Feng Nov 6, 2019
2dc3c2d
brcmfmac: increase message buffer size for control packets
chuangjiashyr Nov 6, 2019
013e7bc
brcmfmac: Support 89459 pcie
alep1983 Jul 26, 2019
0550324
brcmfmac: Fix for unable to return to visible SSID
Nov 7, 2019
46099a0
brcmfmac: Fix for wrong disconnection event source information.
Nov 7, 2019
0e8e84d
brcmfmac: add support for SAE authentication offload
Oct 2, 2019
9e50fbe
brcmfmac: Support multiple AP interfaces and fix STA disconnection issue
Nov 6, 2019
2846e14
brcmfmac: Support custom PCIE BAR window size.
Nov 5, 2019
6125b51
brcmfmac: set F2 blocksize and watermark for 4354
Nov 25, 2019
ab8f37f
brcmfmac: support for virtual interface creation from firmware
Dec 10, 2019
4d3916a
brcmfmac: set security after reiniting interface
chuangjiashyr Dec 12, 2019
654196e
brcmfmac: increase dcmd maximum buffer size
Dec 16, 2019
ca45b01
brcmfmac: set F2 blocksize and watermark for 4356 SDIO
Dec 18, 2019
83c90ec
brcmfmac: set net carrier on via test tool for AP mode
Dec 31, 2019
c96931d
nl80211: add authorized flag back to ROAM event
Feb 14, 2019
3d704a5
brcmfmac: set authorized flag in ROAM event for offload FT roaming
Feb 14, 2019
2d40d31
brcmfmac: set authorized flag in ROAM event for PMK caching
Mar 4, 2019
2808a22
nl80211: add authorized flag to CONNECT event
Apr 30, 2019
fa8dc40
brcmfmac: set authorized flag in CONNECT event for PMK caching
Apr 30, 2019
dbe3ce9
brcmfmac: add support for Opportunistic Key Caching
May 28, 2019
667f547
nl80211: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode
Dec 10, 2019
ebb520d
brcmfmac: support 4-way handshake offloading for WPA/WPA2-PSK in AP mode
Dec 10, 2019
89a0101
nl80211: support SAE authentication offload in AP mode
Dec 10, 2019
4bddc4b
brcmfmac: support SAE authentication offload in AP mode
Dec 10, 2019
590878d
brcmfmac: add USB autosuspend feature support
WenChieh-Feng Feb 7, 2020
62f681e
brcmfmac: To support printing USB console messages
Nov 7, 2018
ce302f1
brcmfmac: reset SDIO bus on a firmware crash
cy-chihsien Nov 4, 2019
08f41e4
brcmfmac: fix for WPA/WPA2-PSK 4-way handshake and SAE offload failures
Feb 17, 2020
3c83efc
non-upstream: Fix no P2P IE in probe requests issue
Feb 21, 2020
d5d40f6
brcmfmac: add 54591 PCIE device
Feb 26, 2020
6f684e2
brcmfmac: support DS1 exit firmware re-download
praveenCY Jan 9, 2018
ec075e8
brcmfmac: fix 43012 insmod-after-rmmod in DS1 failure.
Aug 21, 2018
4f0dd12
brcmfmac: fix 43012 driver reload failure after DS1 exit
Jan 28, 2019
77a6412
brcmfmac: reset PMU, backplane & all cores in CYW4373 during rmmod
Aug 28, 2018
4f74d61
brcmfmac: do not disconnect for disassoc frame from unconnected AP
Feb 20, 2020
f3ea793
brcmfmac: Set pacing shift before transmitting skb to bus
WenChieh-Feng Mar 6, 2020
262ebdb
brcmfmac: fix 802.1d priority to ac mapping for pcie dongles
Aug 2, 2019
7ec39a1
non-upstream: calling skb_orphan before sending skb to SDIO bus
WenChieh-Feng Jan 2, 2018
5511f78
non-upstream: workaround for 4373 USB WMM 5.2.27 test failure
Jan 4, 2019
fab1623
brcmfmac: disable command decode in sdio_aos for 4373
cy-chihsien Mar 13, 2020
c0103e6
brcmfmac: disable command decode in sdio_aos for 4339
cy-chihsien Mar 13, 2020
9dd34d2
brcmfmac: disable command decode in sdio_aos for 43455
cy-chihsien Mar 13, 2020
2e07c4a
brcmfmac: support the forwarding packet
chuangjiashyr Aug 22, 2019
26b71c7
brcmfmac: add a variable for packet forwarding condition
Mar 20, 2020
0ddf783
non-upstream: don't change arp/nd offload in multicast_work
Apr 2, 2020
114a931
cleanup brcmfmac patchset
RobertCNelson Apr 6, 2020
46c0fbd
Revert "scripts: headers_install: Exit with error on config leak"
RobertCNelson Jul 24, 2020
41baa25
ar1021_i2c.c: introduce invert/swap/offsets options
RobertCNelson Apr 22, 2020
20c6641
Fix remoteproc to work with the PRU GNU Binutils port
dinuxbg Aug 31, 2016
27ce592
sound: give us SND_SOC_PCM5102A
RobertCNelson Apr 22, 2020
2c34685
NFM: spi: spidev: allow use of spidev in DT
RobertCNelson Oct 28, 2018
d9a8ea6
HACK: tps65217_pwr_but
RobertCNelson Oct 28, 2016
d10cdc8
ARM: DT: Enable symbols when CONFIG_OF_OVERLAY is used
pantoniou Dec 6, 2014
667ee18
cpsw: search for phy
May 19, 2015
47f9b5a
quiet: 8250_omap.c use pr_info over pr_err
RobertCNelson Jul 16, 2015
34c0a89
ti_am335x_tsc.c driver
Jan 3, 2018
f29f1e4
ti_am335x_tsc: correct formula code to calculate pressure; fix touchs…
fagle May 11, 2017
ae7621a
BeagleBone pinmux helper
RobertCNelson Jan 29, 2018
0b57e91
hack: gpiolib: yes we have drivers stomping on each other, we need to…
RobertCNelson Dec 31, 2018
2613a4c
Overlays: Port RPi Overlay building
RobertCNelson Jul 27, 2020
bd34e4a
bootup hacks: move mmc early
RobertCNelson Mar 18, 2020
cd12f26
bootup-hacks: xor select neon or arm4regs
RobertCNelson Mar 19, 2020
c6fb62d
builddeb: Install our dtbs under /boot/dtbs/$version
RobertCNelson Mar 6, 2020
7912986
enable: Jenkins: http://gfnd.rcn-ee.org:8080
RobertCNelson Jun 15, 2020
224c5de
5.4.52-ti-rt-r17 patchset
RobertCNelson Aug 24, 2020
b533d1d
5.4.52-ti-rt-r17
RobertCNelson Aug 24, 2020
7f60543
Added virtual ALSA AVB driver
Aug 19, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**Describe how to reproduce the bug**
List all the steps needed to reproduce the bug

**REQUIRED INFORMATION**
Run this command and paste the output here:
```
sudo /opt/scripts/tools/version.sh
```
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ <h2><a name="RCU-preempt Expedited Grace Periods">
RCU-preempt Expedited Grace Periods</a></h2>

<p>
<tt>CONFIG_PREEMPT=y</tt> kernels implement RCU-preempt.
The overall flow of the handling of a given CPU by an RCU-preempt
<tt>CONFIG_PREEMPT=y</tt> and <tt>CONFIG_PREEMPT_RT=y</tt> kernels implement
RCU-preempt. The overall flow of the handling of a given CPU by an RCU-preempt
expedited grace period is shown in the following diagram:

<p><img src="ExpRCUFlow.svg" alt="ExpRCUFlow.svg" width="55%">
Expand Down Expand Up @@ -140,8 +140,8 @@ <h2><a name="RCU-sched Expedited Grace Periods">
RCU-sched Expedited Grace Periods</a></h2>

<p>
<tt>CONFIG_PREEMPT=n</tt> kernels implement RCU-sched.
The overall flow of the handling of a given CPU by an RCU-sched
<tt>CONFIG_PREEMPT=n</tt> and <tt>CONFIG_PREEMPT_RT=n</tt> kernels implement
RCU-sched. The overall flow of the handling of a given CPU by an RCU-sched
expedited grace period is shown in the following diagram:

<p><img src="ExpSchedFlow.svg" alt="ExpSchedFlow.svg" width="55%">
Expand Down
24 changes: 12 additions & 12 deletions Documentation/RCU/Design/Requirements/Requirements.html
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ <h3><a name="Grace-Period Guarantee">Grace-Period Guarantee</a></h3>
Production-quality implementations of <tt>rcu_read_lock()</tt> and
<tt>rcu_read_unlock()</tt> are extremely lightweight, and in
fact have exactly zero overhead in Linux kernels built for production
use with <tt>CONFIG_PREEMPT=n</tt>.
use with <tt>CONFIG_PREEMPTION=n</tt>.

<p>
This guarantee allows ordering to be enforced with extremely low
Expand Down Expand Up @@ -1499,7 +1499,7 @@ <h3><a name="Performance and Scalability">Performance and Scalability</a></h3>
However, as I learned from Matt Mackall's
<a href="http://elinux.org/Linux_Tiny-FAQ">bloatwatch</a>
efforts, memory footprint is critically important on single-CPU systems with
non-preemptible (<tt>CONFIG_PREEMPT=n</tt>) kernels, and thus
non-preemptible (<tt>CONFIG_PREEMPTION=n</tt>) kernels, and thus
<a href="https://lkml.kernel.org/g/[email protected]">tiny RCU</a>
was born.
Josh Triplett has since taken over the small-memory banner with his
Expand Down Expand Up @@ -1887,7 +1887,7 @@ <h3><a name="Composability">Composability</a></h3>
<p>
Implementations of RCU for which <tt>rcu_read_lock()</tt>
and <tt>rcu_read_unlock()</tt> generate no code, such as
Linux-kernel RCU when <tt>CONFIG_PREEMPT=n</tt>, can be
Linux-kernel RCU when <tt>CONFIG_PREEMPTION=n</tt>, can be
nested arbitrarily deeply.
After all, there is no overhead.
Except that if all these instances of <tt>rcu_read_lock()</tt>
Expand Down Expand Up @@ -2229,7 +2229,7 @@ <h3><a name="Early Boot">Early Boot</a></h3>
<p>
However, once the scheduler has spawned its first kthread, this early
boot trick fails for <tt>synchronize_rcu()</tt> (as well as for
<tt>synchronize_rcu_expedited()</tt>) in <tt>CONFIG_PREEMPT=y</tt>
<tt>synchronize_rcu_expedited()</tt>) in <tt>CONFIG_PREEMPTION=y</tt>
kernels.
The reason is that an RCU read-side critical section might be preempted,
which means that a subsequent <tt>synchronize_rcu()</tt> really does have
Expand Down Expand Up @@ -2568,7 +2568,7 @@ <h3><a name="Accesses to User Memory and RCU">

<p>
If the compiler did make this transformation in a
<tt>CONFIG_PREEMPT=n</tt> kernel build, and if <tt>get_user()</tt> did
<tt>CONFIG_PREEMPTION=n</tt> kernel build, and if <tt>get_user()</tt> did
page fault, the result would be a quiescent state in the middle
of an RCU read-side critical section.
This misplaced quiescent state could result in line&nbsp;4 being
Expand Down Expand Up @@ -2906,7 +2906,7 @@ <h3><a name="Performance, Scalability, Response Time, and Reliability">
The real-time-latency response requirements are such that the
traditional approach of disabling preemption across RCU
read-side critical sections is inappropriate.
Kernels built with <tt>CONFIG_PREEMPT=y</tt> therefore
Kernels built with <tt>CONFIG_PREEMPTION=y</tt> therefore
use an RCU implementation that allows RCU read-side critical
sections to be preempted.
This requirement made its presence known after users made it
Expand Down Expand Up @@ -3064,7 +3064,7 @@ <h3><a name="Bottom-Half Flavor">Bottom-Half Flavor (Historical)</a></h3>
<tt>rcu_barrier_bh()</tt>, and
<tt>rcu_read_lock_bh_held()</tt>.
However, the update-side APIs are now simple wrappers for other RCU
flavors, namely RCU-sched in CONFIG_PREEMPT=n kernels and RCU-preempt
flavors, namely RCU-sched in CONFIG_PREEMPTION=n kernels and RCU-preempt
otherwise.

<h3><a name="Sched Flavor">Sched Flavor (Historical)</a></h3>
Expand All @@ -3088,12 +3088,12 @@ <h3><a name="Sched Flavor">Sched Flavor (Historical)</a></h3>
Therefore, <i>RCU-sched</i> was created, which follows &ldquo;classic&rdquo;
RCU in that an RCU-sched grace period waits for for pre-existing
interrupt and NMI handlers.
In kernels built with <tt>CONFIG_PREEMPT=n</tt>, the RCU and RCU-sched
In kernels built with <tt>CONFIG_PREEMPTION=n</tt>, the RCU and RCU-sched
APIs have identical implementations, while kernels built with
<tt>CONFIG_PREEMPT=y</tt> provide a separate implementation for each.
<tt>CONFIG_PREEMPTION=y</tt> provide a separate implementation for each.

<p>
Note well that in <tt>CONFIG_PREEMPT=y</tt> kernels,
Note well that in <tt>CONFIG_PREEMPTION=y</tt> kernels,
<tt>rcu_read_lock_sched()</tt> and <tt>rcu_read_unlock_sched()</tt>
disable and re-enable preemption, respectively.
This means that if there was a preemption attempt during the
Expand Down Expand Up @@ -3302,12 +3302,12 @@ <h3><a name="Tasks RCU">Tasks RCU</a></h3>
<tt>call_rcu_tasks()</tt>,
<tt>synchronize_rcu_tasks()</tt>, and
<tt>rcu_barrier_tasks()</tt>.
In <tt>CONFIG_PREEMPT=n</tt> kernels, trampolines cannot be preempted,
In <tt>CONFIG_PREEMPTION=n</tt> kernels, trampolines cannot be preempted,
so these APIs map to
<tt>call_rcu()</tt>,
<tt>synchronize_rcu()</tt>, and
<tt>rcu_barrier()</tt>, respectively.
In <tt>CONFIG_PREEMPT=y</tt> kernels, trampolines can be preempted,
In <tt>CONFIG_PREEMPTION=y</tt> kernels, trampolines can be preempted,
and these three APIs are therefore implemented by separate functions
that check for voluntary context switches.

Expand Down
4 changes: 2 additions & 2 deletions Documentation/RCU/checklist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,8 @@ over a rather long period of time, but improvements are always welcome!
the rest of the system.

7. As of v4.20, a given kernel implements only one RCU flavor,
which is RCU-sched for PREEMPT=n and RCU-preempt for PREEMPT=y.
If the updater uses call_rcu() or synchronize_rcu(),
which is RCU-sched for PREEMPTION=n and RCU-preempt for
PREEMPTION=y. If the updater uses call_rcu() or synchronize_rcu(),
then the corresponding readers my use rcu_read_lock() and
rcu_read_unlock(), rcu_read_lock_bh() and rcu_read_unlock_bh(),
or any pair of primitives that disables and re-enables preemption,
Expand Down
8 changes: 4 additions & 4 deletions Documentation/RCU/rcubarrier.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ RCU (read-copy update) is a synchronization mechanism that can be thought
of as a replacement for read-writer locking (among other things), but with
very low-overhead readers that are immune to deadlock, priority inversion,
and unbounded latency. RCU read-side critical sections are delimited
by rcu_read_lock() and rcu_read_unlock(), which, in non-CONFIG_PREEMPT
kernels, generate no code whatsoever.
by rcu_read_lock() and rcu_read_unlock(), which, in
non-CONFIG_PREEMPTION kernels, generate no code whatsoever.

This means that RCU writers are unaware of the presence of concurrent
readers, so that RCU updates to shared data must be undertaken quite
Expand Down Expand Up @@ -303,10 +303,10 @@ Answer: This cannot happen. The reason is that on_each_cpu() has its last
to smp_call_function() and further to smp_call_function_on_cpu(),
causing this latter to spin until the cross-CPU invocation of
rcu_barrier_func() has completed. This by itself would prevent
a grace period from completing on non-CONFIG_PREEMPT kernels,
a grace period from completing on non-CONFIG_PREEMPTION kernels,
since each CPU must undergo a context switch (or other quiescent
state) before the grace period can complete. However, this is
of no use in CONFIG_PREEMPT kernels.
of no use in CONFIG_PREEMPTION kernels.

Therefore, on_each_cpu() disables preemption across its call
to smp_call_function() and also across the local call to
Expand Down
4 changes: 2 additions & 2 deletions Documentation/RCU/stallwarn.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ o A CPU looping with preemption disabled.

o A CPU looping with bottom halves disabled.

o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the kernel
o For !CONFIG_PREEMPTION kernels, a CPU looping anywhere in the kernel
without invoking schedule(). If the looping in the kernel is
really expected and desirable behavior, you might need to add
some calls to cond_resched().
Expand All @@ -39,7 +39,7 @@ o Anything that prevents RCU's grace-period kthreads from running.
result in the "rcu_.*kthread starved for" console-log message,
which will include additional debugging information.

o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
o A CPU-bound real-time task in a CONFIG_PREEMPTION kernel, which might
happen to preempt a low-priority task in the middle of an RCU
read-side critical section. This is especially damaging if
that low-priority task is not permitted to run on any other CPU,
Expand Down
7 changes: 4 additions & 3 deletions Documentation/RCU/whatisRCU.txt
Original file line number Diff line number Diff line change
Expand Up @@ -648,9 +648,10 @@ Quick Quiz #1: Why is this argument naive? How could a deadlock

This section presents a "toy" RCU implementation that is based on
"classic RCU". It is also short on performance (but only for updates) and
on features such as hotplug CPU and the ability to run in CONFIG_PREEMPT
kernels. The definitions of rcu_dereference() and rcu_assign_pointer()
are the same as those shown in the preceding section, so they are omitted.
on features such as hotplug CPU and the ability to run in
CONFIG_PREEMPTION kernels. The definitions of rcu_dereference() and
rcu_assign_pointer() are the same as those shown in the preceding
section, so they are omitted.

void rcu_read_lock(void) { }

Expand Down
3 changes: 3 additions & 0 deletions Documentation/admin-guide/sysctl/vm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,9 @@ allowed to examine the unevictable lru (mlocked pages) for pages to compact.
This should be used on systems where stalls for minor page faults are an
acceptable trade for large contiguous free memory. Set to 0 to prevent
compaction from moving pages that are unevictable. Default value is 1.
On CONFIG_PREEMPT_RT the default value is 0 in order to avoid a page fault, due
to compaction, which would block the task from becomming active until the fault
is resolved.


dirty_background_bytes
Expand Down
Loading