Merge drm/drm-next into drm-misc-next

Start the 6.5 release cycle.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
This commit is contained in:
Maxime Ripard 2023-05-09 15:03:40 +02:00
commit ff32fcca64
No known key found for this signature in database
GPG key ID: E3EF0D6F671851C5
12099 changed files with 629240 additions and 379856 deletions

View file

@ -520,7 +520,7 @@ ForEachMacros:
- 'of_property_for_each_string' - 'of_property_for_each_string'
- 'of_property_for_each_u32' - 'of_property_for_each_u32'
- 'pci_bus_for_each_resource' - 'pci_bus_for_each_resource'
- 'pci_doe_for_each_off' - 'pci_dev_for_each_resource'
- 'pcl_for_each_chunk' - 'pcl_for_each_chunk'
- 'pcl_for_each_segment' - 'pcl_for_each_segment'
- 'pcm_for_each_format' - 'pcm_for_each_format'

1
.gitignore vendored
View file

@ -103,6 +103,7 @@ modules.order
!.get_maintainer.ignore !.get_maintainer.ignore
!.gitattributes !.gitattributes
!.gitignore !.gitignore
!.kunitconfig
!.mailmap !.mailmap
!.rustfmt.toml !.rustfmt.toml

View file

@ -213,7 +213,10 @@ Jeff Garzik <jgarzik@pretzel.yyz.us>
Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net> Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net>
Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com> Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com> Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
Jens Axboe <axboe@suse.de> Jens Axboe <axboe@kernel.dk> <axboe@suse.de>
Jens Axboe <axboe@kernel.dk> <jens.axboe@oracle.com>
Jens Axboe <axboe@kernel.dk> <axboe@fb.com>
Jens Axboe <axboe@kernel.dk> <axboe@meta.com>
Jens Osterkamp <Jens.Osterkamp@de.ibm.com> Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
Jernej Skrabec <jernej.skrabec@gmail.com> <jernej.skrabec@siol.net> Jernej Skrabec <jernej.skrabec@gmail.com> <jernej.skrabec@siol.net>
Jessica Zhang <quic_jesszhan@quicinc.com> <jesszhan@codeaurora.org> Jessica Zhang <quic_jesszhan@quicinc.com> <jesszhan@codeaurora.org>
@ -232,6 +235,8 @@ Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
John Crispin <john@phrozen.org> <blogic@openwrt.org> John Crispin <john@phrozen.org> <blogic@openwrt.org>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
John Stultz <johnstul@us.ibm.com> John Stultz <johnstul@us.ibm.com>
<jon.toppins+linux@gmail.com> <jtoppins@cumulusnetworks.com>
<jon.toppins+linux@gmail.com> <jtoppins@redhat.com>
Jordan Crouse <jordan@cosmicpenguin.net> <jcrouse@codeaurora.org> Jordan Crouse <jordan@cosmicpenguin.net> <jcrouse@codeaurora.org>
<josh@joshtriplett.org> <josh@freedesktop.org> <josh@joshtriplett.org> <josh@freedesktop.org>
<josh@joshtriplett.org> <josh@kernel.org> <josh@joshtriplett.org> <josh@kernel.org>
@ -265,7 +270,9 @@ Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com>
Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com> Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com>
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org> Kuogee Hsieh <quic_khsieh@quicinc.com> <khsieh@codeaurora.org>
Leonard Crestez <leonard.crestez@nxp.com> Leonard Crestez <cdleonard@gmail.com>
Leonardo Bras <leobras.c@gmail.com> <leonardo@linux.ibm.com> Leonardo Bras <leobras.c@gmail.com> <leonardo@linux.ibm.com>
Leonard Göhrs <l.goehrs@pengutronix.de>
Leonid I Ananiev <leonid.i.ananiev@intel.com> Leonid I Ananiev <leonid.i.ananiev@intel.com>
Leon Romanovsky <leon@kernel.org> <leon@leon.nu> Leon Romanovsky <leon@kernel.org> <leon@leon.nu>
Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com> Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com>
@ -295,6 +302,8 @@ Martin Kepplinger <martink@posteo.de> <martin.kepplinger@puri.sm>
Martin Kepplinger <martink@posteo.de> <martin.kepplinger@theobroma-systems.com> Martin Kepplinger <martink@posteo.de> <martin.kepplinger@theobroma-systems.com>
Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com> <martyna.szapar-mudlaw@intel.com> Martyna Szapar-Mudlaw <martyna.szapar-mudlaw@linux.intel.com> <martyna.szapar-mudlaw@intel.com>
Mathieu Othacehe <m.othacehe@gmail.com> Mathieu Othacehe <m.othacehe@gmail.com>
Mat Martineau <martineau@kernel.org> <mathew.j.martineau@linux.intel.com>
Mat Martineau <martineau@kernel.org> <mathewm@codeaurora.org>
Matthew Wilcox <willy@infradead.org> <matthew.r.wilcox@intel.com> Matthew Wilcox <willy@infradead.org> <matthew.r.wilcox@intel.com>
Matthew Wilcox <willy@infradead.org> <matthew@wil.cx> Matthew Wilcox <willy@infradead.org> <matthew@wil.cx>
Matthew Wilcox <willy@infradead.org> <mawilcox@linuxonhyperv.com> Matthew Wilcox <willy@infradead.org> <mawilcox@linuxonhyperv.com>
@ -322,6 +331,7 @@ Maxime Ripard <mripard@kernel.org> <maxime.ripard@bootlin.com>
Maxime Ripard <mripard@kernel.org> <maxime.ripard@free-electrons.com> Maxime Ripard <mripard@kernel.org> <maxime.ripard@free-electrons.com>
Mayuresh Janorkar <mayur@ti.com> Mayuresh Janorkar <mayur@ti.com>
Michael Buesch <m@bues.ch> Michael Buesch <m@bues.ch>
Michal Simek <michal.simek@amd.com> <michal.simek@xilinx.com>
Michel Dänzer <michel@tungstengraphics.com> Michel Dänzer <michel@tungstengraphics.com>
Michel Lespinasse <michel@lespinasse.org> Michel Lespinasse <michel@lespinasse.org>
Michel Lespinasse <michel@lespinasse.org> <walken@google.com> Michel Lespinasse <michel@lespinasse.org> <walken@google.com>
@ -354,6 +364,7 @@ Nicolas Pitre <nico@fluxnic.net> <nico@linaro.org>
Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.de> Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.de>
Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.com> Nicolas Saenz Julienne <nsaenz@kernel.org> <nsaenzjulienne@suse.com>
Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Oleksandr Natalenko <oleksandr@natalenko.name> <oleksandr@redhat.com>
Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net> Oleksij Rempel <linux@rempel-privat.de> <bug-track@fisher-privat.net>
Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com> Oleksij Rempel <linux@rempel-privat.de> <external.Oleksij.Rempel@de.bosch.com>
Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com> Oleksij Rempel <linux@rempel-privat.de> <fixed-term.Oleksij.Rempel@de.bosch.com>
@ -369,6 +380,8 @@ Paul E. McKenney <paulmck@kernel.org> <paul.mckenney@linaro.org>
Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.ibm.com> Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.ibm.com>
Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.vnet.ibm.com> Paul E. McKenney <paulmck@kernel.org> <paulmck@linux.vnet.ibm.com>
Paul E. McKenney <paulmck@kernel.org> <paulmck@us.ibm.com> Paul E. McKenney <paulmck@kernel.org> <paulmck@us.ibm.com>
Paul Mackerras <paulus@ozlabs.org> <paulus@samba.org>
Paul Mackerras <paulus@ozlabs.org> <paulus@au1.ibm.com>
Peter A Jonsson <pj@ludd.ltu.se> Peter A Jonsson <pj@ludd.ltu.se>
Peter Oruba <peter.oruba@amd.com> Peter Oruba <peter.oruba@amd.com>
Peter Oruba <peter@oruba.de> Peter Oruba <peter@oruba.de>

25
CREDITS
View file

@ -229,6 +229,10 @@ S: University of Notre Dame
S: Notre Dame, Indiana S: Notre Dame, Indiana
S: USA S: USA
N: Kai Bankett
E: chaosman@ontika.net
D: QNX6 filesystem
N: Greg Banks N: Greg Banks
E: gnb@alphalink.com.au E: gnb@alphalink.com.au
D: IDT77105 ATM network driver D: IDT77105 ATM network driver
@ -886,6 +890,10 @@ W: http://jdelvare.nerim.net/
D: Several hardware monitoring drivers D: Several hardware monitoring drivers
S: France S: France
N: Frank "Jedi/Sector One" Denis
E: j@pureftpd.org
D: QNX4 filesystem
N: Peter Denison N: Peter Denison
E: peterd@pnd-pc.demon.co.uk E: peterd@pnd-pc.demon.co.uk
W: http://www.pnd-pc.demon.co.uk/promise/ W: http://www.pnd-pc.demon.co.uk/promise/
@ -1259,6 +1267,10 @@ S: USA
N: Adam Fritzler N: Adam Fritzler
E: mid@zigamorph.net E: mid@zigamorph.net
N: Richard "Scuba" A. Frowijn
E: scuba@wxs.nl
D: QNX4 filesystem
N: Fernando Fuganti N: Fernando Fuganti
E: fuganti@conectiva.com.br E: fuganti@conectiva.com.br
E: fuganti@netbank.com.br E: fuganti@netbank.com.br
@ -2218,6 +2230,10 @@ D: Digiboard PC/Xe and PC/Xi, Digiboard EPCA
D: NUMA support, Slab allocators, Page migration D: NUMA support, Slab allocators, Page migration
D: Scalability, Time subsystem D: Scalability, Time subsystem
N: Anders Larsen
E: al@alarsen.net
D: QNX4 filesystem
N: Paul Laufer N: Paul Laufer
E: paul@laufernet.com E: paul@laufernet.com
D: Soundblaster driver fixes, ISAPnP quirk D: Soundblaster driver fixes, ISAPnP quirk
@ -2494,8 +2510,8 @@ D: XF86_8514
D: cfdisk (curses based disk partitioning program) D: cfdisk (curses based disk partitioning program)
N: Mat Martineau N: Mat Martineau
E: mat@martineau.name E: martineau@kernel.org
D: MPTCP subsystem co-maintainer 2020-2023 D: MPTCP subsystem co-maintainer
D: Keyctl restricted keyring and Diffie-Hellman UAPI D: Keyctl restricted keyring and Diffie-Hellman UAPI
D: Bluetooth L2CAP ERTM mode and AMP D: Bluetooth L2CAP ERTM mode and AMP
S: USA S: USA
@ -3459,6 +3475,11 @@ D: several improvements to system programs
S: Oldenburg S: Oldenburg
S: Germany S: Germany
N: Mathieu Poirier
E: mathieu.poirier@linaro.org
D: CoreSight kernel subsystem, Maintainer 2014-2022
D: Perf tool support for CoreSight
N: Robert Schwebel N: Robert Schwebel
E: robert@schwebel.de E: robert@schwebel.de
W: https://www.schwebel.de W: https://www.schwebel.de

View file

@ -4,6 +4,9 @@ KernelVersion: 2.6.12-rc2 (predates git)
Contact: selinux@vger.kernel.org Contact: selinux@vger.kernel.org
Description: Description:
REMOVAL UPDATE: The SELinux checkreqprot functionality was removed in
March 2023, the original deprecation notice is shown below.
The selinuxfs "checkreqprot" node allows SELinux to be configured The selinuxfs "checkreqprot" node allows SELinux to be configured
to check the protection requested by userspace for mmap/mprotect to check the protection requested by userspace for mmap/mprotect
calls instead of the actual protection applied by the kernel. calls instead of the actual protection applied by the kernel.

View file

@ -4,6 +4,9 @@ KernelVersion: 2.6.12-rc2 (predates git)
Contact: selinux@vger.kernel.org Contact: selinux@vger.kernel.org
Description: Description:
REMOVAL UPDATE: The SELinux runtime disable functionality was removed
in March 2023, the original deprecation notice is shown below.
The selinuxfs "disable" node allows SELinux to be disabled at runtime The selinuxfs "disable" node allows SELinux to be disabled at runtime
prior to a policy being loaded into the kernel. If disabled via this prior to a policy being loaded into the kernel. If disabled via this
mechanism, SELinux will remain disabled until the system is rebooted. mechanism, SELinux will remain disabled until the system is rebooted.

View file

@ -2,16 +2,17 @@ What: /sys/firmware/acpi/pm_profile
Date: 03-Nov-2011 Date: 03-Nov-2011
KernelVersion: v3.2 KernelVersion: v3.2
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org
Description: The ACPI pm_profile sysfs interface exports the platform Description: The ACPI pm_profile sysfs interface exposes the preferred
power management (and performance) requirement expectations power management (and performance) profile of the platform
as provided by BIOS. The integer value is directly passed as as provided in the ACPI FADT Preferred_PM_Profile field.
retrieved from the FADT ACPI table.
Values: For possible values see ACPI specification: The integer value is directly passed as retrieved from the FADT.
5.2.9 Fixed ACPI Description Table (FADT)
Field: Preferred_PM_Profile
Currently these values are defined by spec: Values: For the possible values refer to the Preferred_PM_Profile field
definition in Table 5.9 "FADT Format", Section 5.2.9 "Fixed ACPI
Description Table (FADT)" of the ACPI specification.
As of ACPI 6.5, the following values are defined:
== ================= == =================
0 Unspecified 0 Unspecified
@ -22,5 +23,6 @@ Values: For possible values see ACPI specification:
5 SOHO Server 5 SOHO Server
6 Appliance PC 6 Appliance PC
7 Performance Server 7 Performance Server
>7 Reserved 8 Tablet
>8 Reserved
== ================= == =================

View file

@ -336,18 +336,11 @@ What: /sys/block/<disk>/queue/io_poll_delay
Date: November 2016 Date: November 2016
Contact: linux-block@vger.kernel.org Contact: linux-block@vger.kernel.org
Description: Description:
[RW] If polling is enabled, this controls what kind of polling [RW] This was used to control what kind of polling will be
will be performed. It defaults to -1, which is classic polling. performed. It is now fixed to -1, which is classic polling.
In this mode, the CPU will repeatedly ask for completions In this mode, the CPU will repeatedly ask for completions
without giving up any time. If set to 0, a hybrid polling mode without giving up any time.
is used, where the kernel will attempt to make an educated guess <deprecated>
at when the IO will complete. Based on this guess, the kernel
will put the process issuing IO to sleep for an amount of time,
before entering a classic poll loop. This mode might be a little
slower than pure classic polling, but it will be more efficient.
If set to a value larger than 0, the kernel will put the process
issuing IO to sleep for this amount of microseconds before
entering classic polling.
What: /sys/block/<disk>/queue/io_timeout What: /sys/block/<disk>/queue/io_timeout

View file

@ -136,6 +136,22 @@ Description: The last executed device administrative command's status/error.
Also last configuration error overloaded. Also last configuration error overloaded.
Writing to it will clear the status. Writing to it will clear the status.
What: /sys/bus/dsa/devices/dsa<m>/iaa_cap
Date: Sept 14, 2022
KernelVersion: 6.0.0
Contact: dmaengine@vger.kernel.org
Description: IAA (IAX) capability mask. Exported to user space for application
consumption. This attribute should only be visible on IAA devices
that are version 2 or later.
What: /sys/bus/dsa/devices/dsa<m>/event_log_size
Date: Sept 14, 2022
KernelVersion: 6.4.0
Contact: dmaengine@vger.kernel.org
Description: The event log size to be configured. Default is 64 entries and
occupies 4k size if the evl entry is 64 bytes. It's visible
only on platforms that support the capability.
What: /sys/bus/dsa/devices/wq<m>.<n>/block_on_fault What: /sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
Date: Oct 27, 2020 Date: Oct 27, 2020
KernelVersion: 5.11.0 KernelVersion: 5.11.0
@ -219,6 +235,16 @@ Contact: dmaengine@vger.kernel.org
Description: Indicate whether ATS disable is turned on for the workqueue. Description: Indicate whether ATS disable is turned on for the workqueue.
0 indicates ATS is on, and 1 indicates ATS is off for the workqueue. 0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
What: /sys/bus/dsa/devices/wq<m>.<n>/prs_disable
Date: Sept 14, 2022
KernelVersion: 6.4.0
Contact: dmaengine@vger.kernel.org
Description: Controls whether PRS disable is turned on for the workqueue.
0 indicates PRS is on, and 1 indicates PRS is off for the
workqueue. This option overrides block_on_fault attribute
if set. It's visible only on platforms that support the
capability.
What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy What: /sys/bus/dsa/devices/wq<m>.<n>/occupancy
Date May 25, 2021 Date May 25, 2021
KernelVersion: 5.14.0 KernelVersion: 5.14.0
@ -302,3 +328,28 @@ Description: Allows control of the number of batch descriptors that can be
1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of 1 (1/2 of max value), 2 (1/4 of the max value), and 3 (1/8 of
the max value). It's visible only on platforms that support the max value). It's visible only on platforms that support
the capability. the capability.
What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_faults
Date: Sept 14, 2022
KernelVersion: 6.4.0
Contact: dmaengine@vger.kernel.org
Description: Show the number of Completion Record (CR) faults this application
has caused.
What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/cr_fault_failures
Date: Sept 14, 2022
KernelVersion: 6.4.0
Contact: dmaengine@vger.kernel.org
Description: Show the number of Completion Record (CR) faults failures that this
application has caused. The failure counter is incremented when the
driver cannot fault in the address for the CR. Typically this is caused
by a bad address programmed in the submitted descriptor or a malicious
submitter is using bad CR address on purpose.
What: /sys/bus/dsa/devices/wq<m>.<n>/dsa<x>\!wq<m>.<n>/file<y>/pid
Date: Sept 14, 2022
KernelVersion: 6.4.0
Contact: dmaengine@vger.kernel.org
Description: Show the process id of the application that opened the file. This is
helpful information for a monitor daemon that wants to kill the
application that opened the file.

View file

@ -76,7 +76,7 @@ Date: Dec 2014
KernelVersion: 4.0 KernelVersion: 4.0
Description: Default camera terminal descriptors Description: Default camera terminal descriptors
All attributes read only: All attributes read only except bmControls, which is read/write:
======================== ==================================== ======================== ====================================
bmControls bitmap specifying which controls are bmControls bitmap specifying which controls are
@ -101,7 +101,7 @@ Date: Dec 2014
KernelVersion: 4.0 KernelVersion: 4.0
Description: Default processing unit descriptors Description: Default processing unit descriptors
All attributes read only: All attributes read only except bmControls, which is read/write:
=============== ======================================== =============== ========================================
iProcessing index of string descriptor iProcessing index of string descriptor

View file

@ -0,0 +1,35 @@
What: /sys/kernel/debug/cxl/memX/inject_poison
Date: April, 2023
KernelVersion: v6.4
Contact: linux-cxl@vger.kernel.org
Description:
(WO) When a Device Physical Address (DPA) is written to this
attribute, the memdev driver sends an inject poison command to
the device for the specified address. The DPA must be 64-byte
aligned and the length of the injected poison is 64-bytes. If
successful, the device returns poison when the address is
accessed through the CXL.mem bus. Injecting poison adds the
address to the device's Poison List and the error source is set
to Injected. In addition, the device adds a poison creation
event to its internal Informational Event log, updates the
Event Status register, and if configured, interrupts the host.
It is not an error to inject poison into an address that
already has poison present and no error is returned. The
inject_poison attribute is only visible for devices supporting
the capability.
What: /sys/kernel/debug/memX/clear_poison
Date: April, 2023
KernelVersion: v6.4
Contact: linux-cxl@vger.kernel.org
Description:
(WO) When a Device Physical Address (DPA) is written to this
attribute, the memdev driver sends a clear poison command to
the device for the specified address. Clearing poison removes
the address from the device's Poison List and writes 0 (zero)
for 64 bytes starting at address. It is not an error to clear
poison from an address that does not have poison set. If the
device cannot clear poison from the address, -ENXIO is returned.
The clear_poison attribute is only visible for devices
supporting the capability.

View file

@ -0,0 +1,56 @@
What: /sys/bus/cdx/rescan
Date: March 2023
Contact: nipun.gupta@amd.com
Description:
Writing y/1/on to this file will cause rescan of the bus
and devices on the CDX bus. Any new devices are scanned and
added to the list of Linux devices and any devices removed are
also deleted from Linux.
For example::
# echo 1 > /sys/bus/cdx/rescan
What: /sys/bus/cdx/devices/.../vendor
Date: March 2023
Contact: nipun.gupta@amd.com
Description:
Vendor ID for this CDX device, in hexadecimal. Vendor ID is
16 bit identifier which is specific to the device manufacturer.
Combination of Vendor ID and Device ID identifies a device.
What: /sys/bus/cdx/devices/.../device
Date: March 2023
Contact: nipun.gupta@amd.com
Description:
Device ID for this CDX device, in hexadecimal. Device ID is
16 bit identifier to identify a device type within the range
of a device manufacturer.
Combination of Vendor ID and Device ID identifies a device.
What: /sys/bus/cdx/devices/.../reset
Date: March 2023
Contact: nipun.gupta@amd.com
Description:
Writing y/1/on to this file resets the CDX device.
On resetting the device, the corresponding driver is notified
twice, once before the device is being reset, and again after
the reset has been complete.
For example::
# echo 1 > /sys/bus/cdx/.../reset
What: /sys/bus/cdx/devices/.../remove
Date: March 2023
Contact: tarak.reddy@amd.com
Description:
Writing y/1/on to this file removes the corresponding
device from the CDX bus. If the device is to be reconfigured
reconfigured in the Hardware, the device can be removed, so
that the device driver does not access the device while it is
being reconfigured.
For example::
# echo 1 > /sys/bus/cdx/devices/.../remove

View file

@ -1,3 +1,33 @@
What: /sys/bus/counter/devices/counterX/cascade_counts_enable
KernelVersion: 6.4
Contact: linux-iio@vger.kernel.org
Description:
Indicates the cascading of Counts on Counter X.
Valid attribute values are boolean.
What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select
KernelVersion: 6.4
Contact: linux-iio@vger.kernel.org
Description:
Selects the external clock pin for phase counting mode of
Counter X.
MTCLKA-MTCLKB:
MTCLKA and MTCLKB pins are selected for the external
phase clock.
MTCLKC-MTCLKD:
MTCLKC and MTCLKD pins are selected for the external
phase clock.
What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_available
KernelVersion: 6.4
Contact: linux-iio@vger.kernel.org
Description:
Discrete set of available values for the respective device
configuration are listed in this file.
What: /sys/bus/counter/devices/counterX/countY/count What: /sys/bus/counter/devices/counterX/countY/count
KernelVersion: 5.2 KernelVersion: 5.2
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
@ -215,6 +245,8 @@ Contact: linux-iio@vger.kernel.org
Description: Description:
This attribute indicates the number of overflows of count Y. This attribute indicates the number of overflows of count Y.
What: /sys/bus/counter/devices/counterX/cascade_counts_enable_component_id
What: /sys/bus/counter/devices/counterX/external_input_phase_clock_select_component_id
What: /sys/bus/counter/devices/counterX/countY/capture_component_id What: /sys/bus/counter/devices/counterX/countY/capture_component_id
What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id
What: /sys/bus/counter/devices/counterX/countY/floor_component_id What: /sys/bus/counter/devices/counterX/countY/floor_component_id

View file

@ -415,3 +415,17 @@ Description:
1), and checks that the hardware accepts the commit request. 1), and checks that the hardware accepts the commit request.
Reading this value indicates whether the region is committed or Reading this value indicates whether the region is committed or
not. not.
What: /sys/bus/cxl/devices/memX/trigger_poison_list
Date: April, 2023
KernelVersion: v6.4
Contact: linux-cxl@vger.kernel.org
Description:
(WO) When a boolean 'true' is written to this attribute the
memdev driver retrieves the poison list from the device. The
list consists of addresses that are poisoned, or would result
in poison if accessed, and the source of the poison. This
attribute is only visible for devices supporting the
capability. The retrieved errors are logged as kernel
events when cxl_poison event tracing is enabled.

View file

@ -1807,8 +1807,8 @@ What: /sys/bus/iio/devices/iio:deviceX/out_resistanceX_raw
KernelVersion: 4.3 KernelVersion: 4.3
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
Raw (unscaled no offset etc.) resistance reading that can be processed Raw (unscaled no offset etc.) resistance reading.
into an ohm value. Units after application of scale and offset are ohms.
What: /sys/bus/iio/devices/iio:deviceX/heater_enable What: /sys/bus/iio/devices/iio:deviceX/heater_enable
KernelVersion: 4.1.0 KernelVersion: 4.1.0
@ -1894,8 +1894,9 @@ What: /sys/bus/iio/devices/iio:deviceX/in_electricalconductivity_raw
KernelVersion: 4.8 KernelVersion: 4.8
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
Raw (unscaled no offset etc.) electric conductivity reading that Raw (unscaled no offset etc.) electric conductivity reading.
can be processed to siemens per meter. Units after application of scale and offset are siemens per
meter.
What: /sys/bus/iio/devices/iio:deviceX/in_countY_raw What: /sys/bus/iio/devices/iio:deviceX/in_countY_raw
KernelVersion: 4.10 KernelVersion: 4.10
@ -1951,8 +1952,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
KernelVersion: 4.18 KernelVersion: 4.18
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
Raw (unscaled) phase difference reading from channel Y Raw (unscaled) phase difference reading from channel Y.
that can be processed to radians. Units after application of scale and offset are radians.
What: /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm1_input What: /sys/bus/iio/devices/iio:deviceX/in_massconcentration_pm1_input
What: /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm1_input What: /sys/bus/iio/devices/iio:deviceX/in_massconcentrationY_pm1_input

View file

@ -23,3 +23,55 @@ Description:
Reading this attribute gives the state of the DbC. It Reading this attribute gives the state of the DbC. It
can be one of the following states: disabled, enabled, can be one of the following states: disabled, enabled,
initialized, connected, configured and stalled. initialized, connected, configured and stalled.
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idVendor
Date: March 2023
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
This dbc_idVendor attribute lets us change the idVendor field
presented in the USB device descriptor by this xhci debug
device.
Value can only be changed while debug capability (DbC) is in
disabled state to prevent USB device descriptor change while
connected to a USB host.
The default value is 0x1d6b (Linux Foundation).
It can be any 16-bit integer.
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_idProduct
Date: March 2023
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
This dbc_idProduct attribute lets us change the idProduct field
presented in the USB device descriptor by this xhci debug
device.
Value can only be changed while debug capability (DbC) is in
disabled state to prevent USB device descriptor change while
connected to a USB host.
The default value is 0x0010. It can be any 16-bit integer.
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bcdDevice
Date: March 2023
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
This dbc_bcdDevice attribute lets us change the bcdDevice field
presented in the USB device descriptor by this xhci debug
device.
Value can only be changed while debug capability (DbC) is in
disabled state to prevent USB device descriptor change while
connected to a USB host.
The default value is 0x0010. (device rev 0.10)
It can be any 16-bit integer.
What: /sys/bus/pci/drivers/xhci_hcd/.../dbc_bInterfaceProtocol
Date: March 2023
Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
This attribute lets us change the bInterfaceProtocol field
presented in the USB Interface descriptor by the xhci debug
device.
Value can only be changed while debug capability (DbC) is in
disabled state to prevent USB descriptor change while
connected to a USB host.
The default value is 1 (GNU Remote Debug command).
Other permissible value is 0 which is for vendor defined debug
target.

View file

@ -234,8 +234,8 @@ Description:
For details, see section `5.10 RAS Internal Error Register Definitions, For details, see section `5.10 RAS Internal Error Register Definitions,
Altra Family Soc BMC Interface Specification`. Altra Family Soc BMC Interface Specification`.
What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot] What: /sys/bus/platform/devices/smpro-errmon.*/event_[vrd_warn_fault|vrd_hot|dimm_hot|dimm_2x_refresh]
KernelVersion: 6.1 KernelVersion: 6.1 (event_[vrd_warn_fault|vrd_hot|dimm_hot]), 6.4 (event_dimm_2x_refresh)
Contact: Quan Nguyen <quan@os.amperecomputing.com> Contact: Quan Nguyen <quan@os.amperecomputing.com>
Description: Description:
(RO) Contains the detail information in case of VRD/DIMM warning/hot events (RO) Contains the detail information in case of VRD/DIMM warning/hot events
@ -258,8 +258,21 @@ Description:
+---------------+---------------------------------------------------------------+---------------------+ +---------------+---------------------------------------------------------------+---------------------+
| DIMM HOT | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot | DIMM Hot | | DIMM HOT | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_hot | DIMM Hot |
+---------------+---------------------------------------------------------------+---------------------+ +---------------+---------------------------------------------------------------+---------------------+
| DIMM 2X | /sys/bus/platform/devices/smpro-errmon.*/event_dimm_2x_refresh| DIMM 2x refresh rate|
| REFRESH RATE | | event in high temp |
+---------------+---------------------------------------------------------------+---------------------+
For more details, see section `5.7 GPI Status Registers, For more details, see section `5.7 GPI Status Registers and 5.9 Memory Error Register Definitions,
Altra Family Soc BMC Interface Specification`.
What: /sys/bus/platform/devices/smpro-errmon.*/event_dimm[0-15]_syndrome
KernelVersion: 6.4
Contact: Quan Nguyen <quan@os.amperecomputing.com>
Description:
(RO) The sysfs returns the 2-byte DIMM failure syndrome data for slot
0-15 if it failed to initialize.
For more details, see section `5.11 Boot Stage Register Definitions,
Altra Family Soc BMC Interface Specification`. Altra Family Soc BMC Interface Specification`.
What: /sys/bus/platform/devices/smpro-misc.*/boot_progress What: /sys/bus/platform/devices/smpro-misc.*/boot_progress

View file

@ -166,6 +166,23 @@ Description:
The file will be present for all speeds of USB devices, and will The file will be present for all speeds of USB devices, and will
always read "no" for USB 1.1 and USB 2.0 devices. always read "no" for USB 1.1 and USB 2.0 devices.
What: /sys/bus/usb/devices/<INTERFACE>/wireless_status
Date: February 2023
Contact: Bastien Nocera <hadess@hadess.net>
Description:
Some USB devices use a USB receiver dongle to communicate
wirelessly with their device using proprietary protocols. This
attribute allows user-space to know whether the device is
connected to its receiver dongle, and, for example, consider
the device to be absent when choosing whether to show the
device's battery, show a headset in a list of outputs, or show
an on-screen keyboard if the only wireless keyboard is
turned off.
This attribute is not to be used to replace protocol specific
statuses available in WWAN, WLAN/Wi-Fi, Bluetooth, etc.
If the device does not use a receiver dongle with a wireless
device, then this attribute will not exist.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X> What: /sys/bus/usb/devices/.../<hub_interface>/port<X>
Date: August 2012 Date: August 2012
Contact: Lan Tianyu <tianyu.lan@intel.com> Contact: Lan Tianyu <tianyu.lan@intel.com>

View file

@ -21,4 +21,9 @@ Description:
at the time the kernel starts are not affected or limited in at the time the kernel starts are not affected or limited in
any way by sync_state() callbacks. any way by sync_state() callbacks.
Writing "1" to this file will force a call to the device's
sync_state() function if it hasn't been called already. The
sync_state() call happens independent of the state of the
consumer devices.

View file

@ -0,0 +1,73 @@
What: /sys/bus/platform/drivers/zynqmp_fpga_manager/firmware:zynqmp-firmware:pcap/status
Date: February 2023
KernelVersion: 6.4
Contact: Nava kishore Manne <nava.kishore.manne@amd.com>
Description: (RO) Read fpga status.
Read returns a hexadecimal value that tells the current status
of the FPGA device. Each bit position in the status value is
described Below(see ug570 chapter 9).
https://docs.xilinx.com/v/u/en-US/ug570-ultrascale-configuration
====================== ==============================================
BIT(0) 0: No CRC error
1: CRC error
BIT(1) 0: Decryptor security not set
1: Decryptor security set
BIT(2) 0: MMCMs/PLLs are not locked
1: MMCMs/PLLs are locked
BIT(3) 0: DCI not matched
1: DCI matched
BIT(4) 0: Start-up sequence has not finished
1: Start-up sequence has finished
BIT(5) 0: All I/Os are placed in High-Z state
1: All I/Os behave as configured
BIT(6) 0: Flip-flops and block RAM are write disabled
1: Flip-flops and block RAM are write enabled
BIT(7) 0: GHIGH_B_STATUS asserted
1: GHIGH_B_STATUS deasserted
BIT(8) to BIT(10) Status of the mode pins
BIT(11) 0: Initialization has not finished
1: Initialization finished
BIT(12) Value on INIT_B_PIN pin
BIT(13) 0: Signal not released
1: Signal released
BIT(14) Value on DONE_PIN pin.
BIT(15) 0: No IDCODE_ERROR
1: IDCODE_ERROR
BIT(16) 0: No SECURITY_ERROR
1: SECURITY_ERROR
BIT(17) System Monitor over-temperature if set
BIT(18) to BIT(20) Start-up state machine (0 to 7)
Phase 0 = 000
Phase 1 = 001
Phase 2 = 011
Phase 3 = 010
Phase 4 = 110
Phase 5 = 111
Phase 6 = 101
Phase 7 = 100
BIT(25) to BIT(26) Indicates the detected bus width
00 = x1
01 = x8
10 = x16
11 = x32
====================== ==============================================
The other bits are reserved.

View file

@ -190,12 +190,6 @@ Description: Controls the memory footprint used by free nids and cached
nat entries. By default, 1 is set, which indicates nat entries. By default, 1 is set, which indicates
10 MB / 1 GB RAM. 10 MB / 1 GB RAM.
What: /sys/fs/f2fs/<disk>/batched_trim_sections
Date: February 2015
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Description: Controls the trimming rate in batch mode.
<deprecated>
What: /sys/fs/f2fs/<disk>/cp_interval What: /sys/fs/f2fs/<disk>/cp_interval
Date: October 2015 Date: October 2015
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org> Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
@ -729,3 +723,20 @@ What: /sys/fs/f2fs/<disk>/last_age_weight
Date: January 2023 Date: January 2023
Contact: "Ping Xiong" <xiongping1@xiaomi.com> Contact: "Ping Xiong" <xiongping1@xiaomi.com>
Description: When DATA SEPARATION is on, it controls the weight of last data block age. Description: When DATA SEPARATION is on, it controls the weight of last data block age.
What: /sys/fs/f2fs/<disk>/compress_watermark
Date: February 2023
Contact: "Yangtao Li" <frank.li@vivo.com>
Description: When compress cache is on, it controls free memory watermark
in order to limit caching compress page. If free memory is lower
than watermark, then deny caching compress page. The value should be in
range of (0, 100], by default it was initialized as 20(%).
What: /sys/fs/f2fs/<disk>/compress_percent
Date: February 2023
Contact: "Yangtao Li" <frank.li@vivo.com>
Description: When compress cache is on, it controls cached page
percent(compress pages / free_ram) in order to limit caching compress page.
If cached page percent exceed threshold, then deny caching compress page.
The value should be in range of (0, 100], by default it was initialized
as 20(%).

View file

@ -53,7 +53,6 @@ Description: /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
The default domain type of a group may be modified only when The default domain type of a group may be modified only when
- The group has only one device.
- The device in the group is not bound to any device driver. - The device in the group is not bound to any device driver.
So, the users must unbind the appropriate driver before So, the users must unbind the appropriate driver before
changing the default domain type. changing the default domain type.

View file

@ -51,3 +51,11 @@ Description: Control merging pages across different NUMA nodes.
When it is set to 0 only pages from the same node are merged, When it is set to 0 only pages from the same node are merged,
otherwise pages from all nodes can be merged together (default). otherwise pages from all nodes can be merged together (default).
What: /sys/kernel/mm/ksm/general_profit
Date: April 2023
KernelVersion: 6.4
Contact: Linux memory management mailing list <linux-mm@kvack.org>
Description: Measure how effective KSM is.
general_profit: how effective is KSM. The formula for the
calculation is in Documentation/admin-guide/mm/ksm.rst.

View file

@ -1,3 +1,7 @@
Device instance to test mapping
intel_ifs_0 -> Scan Test
intel_ifs_1 -> Array BIST test
What: /sys/devices/virtual/misc/intel_ifs_<N>/run_test What: /sys/devices/virtual/misc/intel_ifs_<N>/run_test
Date: Nov 16 2022 Date: Nov 16 2022
KernelVersion: 6.2 KernelVersion: 6.2
@ -8,6 +12,7 @@ Description: Write <cpu#> to trigger IFS test for one online core.
completes the test for the core containing that thread. completes the test for the core containing that thread.
Example: to test the core containing cpu5: echo 5 > Example: to test the core containing cpu5: echo 5 >
/sys/devices/virtual/misc/intel_ifs_<N>/run_test /sys/devices/virtual/misc/intel_ifs_<N>/run_test
Devices: all
What: /sys/devices/virtual/misc/intel_ifs_<N>/status What: /sys/devices/virtual/misc/intel_ifs_<N>/status
Date: Nov 16 2022 Date: Nov 16 2022
@ -15,21 +20,25 @@ KernelVersion: 6.2
Contact: "Jithu Joseph" <jithu.joseph@intel.com> Contact: "Jithu Joseph" <jithu.joseph@intel.com>
Description: The status of the last test. It can be one of "pass", "fail" Description: The status of the last test. It can be one of "pass", "fail"
or "untested". or "untested".
Devices: all
What: /sys/devices/virtual/misc/intel_ifs_<N>/details What: /sys/devices/virtual/misc/intel_ifs_<N>/details
Date: Nov 16 2022 Date: Nov 16 2022
KernelVersion: 6.2 KernelVersion: 6.2
Contact: "Jithu Joseph" <jithu.joseph@intel.com> Contact: "Jithu Joseph" <jithu.joseph@intel.com>
Description: Additional information regarding the last test. The details file reports Description: Additional information regarding the last test. The details file reports
the hex value of the SCAN_STATUS MSR. Note that the error_code field the hex value of the STATUS MSR for this test. Note that the error_code field
may contain driver defined software code not defined in the Intel SDM. may contain driver defined software code not defined in the Intel SDM.
Devices: all
What: /sys/devices/virtual/misc/intel_ifs_<N>/image_version What: /sys/devices/virtual/misc/intel_ifs_<N>/image_version
Date: Nov 16 2022 Date: Nov 16 2022
KernelVersion: 6.2 KernelVersion: 6.2
Contact: "Jithu Joseph" <jithu.joseph@intel.com> Contact: "Jithu Joseph" <jithu.joseph@intel.com>
Description: Version (hexadecimal) of loaded IFS binary image. If no scan image Description: Version (hexadecimal) of loaded IFS test image. If no test image
is loaded reports "none". is loaded reports "none". Only present for device instances where a test image
is applicable.
Devices: intel_ifs_0
What: /sys/devices/virtual/misc/intel_ifs_<N>/current_batch What: /sys/devices/virtual/misc/intel_ifs_<N>/current_batch
Date: Nov 16 2022 Date: Nov 16 2022
@ -39,3 +48,5 @@ Description: Write a number less than or equal to 0xff to load an IFS test image
The number written treated as the 2 digit suffix in the following file name: The number written treated as the 2 digit suffix in the following file name:
/lib/firmware/intel/ifs_<N>/ff-mm-ss-02x.scan /lib/firmware/intel/ifs_<N>/ff-mm-ss-02x.scan
Reading the file will provide the suffix of the currently loaded IFS test image. Reading the file will provide the suffix of the currently loaded IFS test image.
This file is present only for device instances where a test image is applicable.
Devices: intel_ifs_0

View file

@ -68,3 +68,10 @@ Description:
Wasted burnt and invalid Wasted burnt and invalid
Invalid not burnt but marked as valid (error state). Invalid not burnt but marked as valid (error state).
======= =============================================== ======= ===============================================
What: /sys/bus/platform/devices/MLNXBF04:00/bootfifo
Date: Apr 2023
KernelVersion: 6.4
Contact: "Liming Sun <limings@nvidia.com>"
Description:
The file used to access the BlueField boot fifo.

View file

@ -413,6 +413,35 @@ Description:
The /sys/power/suspend_stats/last_failed_step file contains The /sys/power/suspend_stats/last_failed_step file contains
the last failed step in the suspend/resume path. the last failed step in the suspend/resume path.
What: /sys/power/suspend_stats/last_hw_sleep
Date: June 2023
Contact: Mario Limonciello <mario.limonciello@amd.com>
Description:
The /sys/power/suspend_stats/last_hw_sleep file
contains the duration of time spent in a hardware sleep
state in the most recent system suspend-resume cycle.
This number is measured in microseconds.
What: /sys/power/suspend_stats/total_hw_sleep
Date: June 2023
Contact: Mario Limonciello <mario.limonciello@amd.com>
Description:
The /sys/power/suspend_stats/total_hw_sleep file
contains the aggregate of time spent in a hardware sleep
state since the kernel was booted. This number
is measured in microseconds.
What: /sys/power/suspend_stats/max_hw_sleep
Date: June 2023
Contact: Mario Limonciello <mario.limonciello@amd.com>
Description:
The /sys/power/suspend_stats/max_hw_sleep file
contains the maximum amount of time that the hardware can
report for time spent in a hardware sleep state. When sleep
cycles are longer than this time, the values for
'total_hw_sleep' and 'last_hw_sleep' may not be accurate.
This number is measured in microseconds.
What: /sys/power/sync_on_suspend What: /sys/power/sync_on_suspend
Date: October 2019 Date: October 2019
Contact: Jonas Meurer <jonas@freesources.org> Contact: Jonas Meurer <jonas@freesources.org>

View file

@ -418,7 +418,6 @@ That is, the recovery API only requires that:
- drivers/next/e100.c - drivers/next/e100.c
- drivers/net/e1000 - drivers/net/e1000
- drivers/net/e1000e - drivers/net/e1000e
- drivers/net/ixgb
- drivers/net/ixgbe - drivers/net/ixgbe
- drivers/net/cxgb3 - drivers/net/cxgb3
- drivers/net/s2io.c - drivers/net/s2io.c

View file

@ -277,7 +277,7 @@ the following access functions:
Again, only one request in a given batch need actually carry out a Again, only one request in a given batch need actually carry out a
grace-period operation, which means there must be an efficient way to grace-period operation, which means there must be an efficient way to
identify which of many concurrent reqeusts will initiate the grace identify which of many concurrent requests will initiate the grace
period, and that there be an efficient way for the remaining requests to period, and that there be an efficient way for the remaining requests to
wait for that grace period to complete. However, that is the topic of wait for that grace period to complete. However, that is the topic of
the next section. the next section.
@ -405,7 +405,7 @@ Use of Workqueues
In earlier implementations, the task requesting the expedited grace In earlier implementations, the task requesting the expedited grace
period also drove it to completion. This straightforward approach had period also drove it to completion. This straightforward approach had
the disadvantage of needing to account for POSIX signals sent to user the disadvantage of needing to account for POSIX signals sent to user
tasks, so more recent implemementations use the Linux kernel's tasks, so more recent implementations use the Linux kernel's
workqueues (see Documentation/core-api/workqueue.rst). workqueues (see Documentation/core-api/workqueue.rst).
The requesting task still does counter snapshotting and funnel-lock The requesting task still does counter snapshotting and funnel-lock
@ -465,7 +465,7 @@ corresponding disadvantage that workqueues cannot be used until they are
initialized, which does not happen until some time after the scheduler initialized, which does not happen until some time after the scheduler
spawns the first task. Given that there are parts of the kernel that spawns the first task. Given that there are parts of the kernel that
really do want to execute grace periods during this mid-boot “dead really do want to execute grace periods during this mid-boot “dead
zone”, expedited grace periods must do something else during thie time. zone”, expedited grace periods must do something else during this time.
What they do is to fall back to the old practice of requiring that the What they do is to fall back to the old practice of requiring that the
requesting task drive the expedited grace period, as was the case before requesting task drive the expedited grace period, as was the case before

View file

@ -168,7 +168,7 @@ an ``atomic_add_return()`` of zero) to detect idle CPUs.
+-----------------------------------------------------------------------+ +-----------------------------------------------------------------------+
The approach must be extended to handle one final case, that of waking a The approach must be extended to handle one final case, that of waking a
task blocked in ``synchronize_rcu()``. This task might be affinitied to task blocked in ``synchronize_rcu()``. This task might be affined to
a CPU that is not yet aware that the grace period has ended, and thus a CPU that is not yet aware that the grace period has ended, and thus
might not yet be subject to the grace period's memory ordering. might not yet be subject to the grace period's memory ordering.
Therefore, there is an ``smp_mb()`` after the return from Therefore, there is an ``smp_mb()`` after the return from

View file

@ -201,7 +201,7 @@ work looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
In 2012, Josh Triplett received his Ph.D. with his dissertation In 2012, Josh Triplett received his Ph.D. with his dissertation
covering RCU-protected resizable hash tables and the relationship covering RCU-protected resizable hash tables and the relationship
between memory barriers and read-side traversal order: If the updater between memory barriers and read-side traversal order: If the updater
is making changes in the opposite direction from the read-side traveral is making changes in the opposite direction from the read-side traversal
order, the updater need only execute a memory-barrier instruction, order, the updater need only execute a memory-barrier instruction,
but if in the same direction, the updater needs to wait for a grace but if in the same direction, the updater needs to wait for a grace
period between the individual updates [JoshTriplettPhD]. Also in 2012, period between the individual updates [JoshTriplettPhD]. Also in 2012,
@ -1245,7 +1245,7 @@ Oregon Health and Sciences University"
[Viewed September 5, 2005]" [Viewed September 5, 2005]"
,annotation={ ,annotation={
First posting showing how RCU can be safely adapted for First posting showing how RCU can be safely adapted for
preemptable RCU read side critical sections. preemptible RCU read side critical sections.
} }
} }
@ -1888,7 +1888,7 @@ Revised:
\url{https://lore.kernel.org/r/20070910183004.GA3299@linux.vnet.ibm.com} \url{https://lore.kernel.org/r/20070910183004.GA3299@linux.vnet.ibm.com}
[Viewed October 25, 2007]" [Viewed October 25, 2007]"
,annotation={ ,annotation={
Final patch for preemptable RCU to -rt. (Later patches were Final patch for preemptible RCU to -rt. (Later patches were
to mainline, eventually incorporated.) to mainline, eventually incorporated.)
} }
} }
@ -2275,7 +2275,7 @@ lot of {Linux} into your technology!!!"
\url{https://lore.kernel.org/r/20090724001429.GA17374@linux.vnet.ibm.com} \url{https://lore.kernel.org/r/20090724001429.GA17374@linux.vnet.ibm.com}
[Viewed August 15, 2009]" [Viewed August 15, 2009]"
,annotation={ ,annotation={
First posting of simple and fast preemptable RCU. First posting of simple and fast preemptible RCU.
} }
} }
@ -2639,7 +2639,7 @@ lot of {Linux} into your technology!!!"
RCU-protected hash tables, barriers vs. read-side traversal order. RCU-protected hash tables, barriers vs. read-side traversal order.
. .
If the updater is making changes in the opposite direction from If the updater is making changes in the opposite direction from
the read-side traveral order, the updater need only execute a the read-side traversal order, the updater need only execute a
memory-barrier instruction, but if in the same direction, the memory-barrier instruction, but if in the same direction, the
updater needs to wait for a grace period between the individual updater needs to wait for a grace period between the individual
updates. updates.

View file

@ -107,7 +107,7 @@ UP systems, including PREEMPT SMP builds running on UP systems.
Quick Quiz #3: Quick Quiz #3:
Why can't synchronize_rcu() return immediately on UP systems running Why can't synchronize_rcu() return immediately on UP systems running
preemptable RCU? preemptible RCU?
.. _answer_quick_quiz_up: .. _answer_quick_quiz_up:
@ -143,7 +143,7 @@ Answer to Quick Quiz #2:
Answer to Quick Quiz #3: Answer to Quick Quiz #3:
Why can't synchronize_rcu() return immediately on UP systems Why can't synchronize_rcu() return immediately on UP systems
running preemptable RCU? running preemptible RCU?
Because some other task might have been preempted in the middle Because some other task might have been preempted in the middle
of an RCU read-side critical section. If synchronize_rcu() of an RCU read-side critical section. If synchronize_rcu()

View file

@ -70,7 +70,7 @@ over a rather long period of time, but improvements are always welcome!
can serve as rcu_read_lock_sched(), but is less readable and can serve as rcu_read_lock_sched(), but is less readable and
prevents lockdep from detecting locking issues. prevents lockdep from detecting locking issues.
Please not that you *cannot* rely on code known to be built Please note that you *cannot* rely on code known to be built
only in non-preemptible kernels. Such code can and will break, only in non-preemptible kernels. Such code can and will break,
especially in kernels built with CONFIG_PREEMPT_COUNT=y. especially in kernels built with CONFIG_PREEMPT_COUNT=y.

View file

@ -65,7 +65,7 @@ checking of rcu_dereference() primitives:
rcu_access_pointer(p): rcu_access_pointer(p):
Return the value of the pointer and omit all barriers, Return the value of the pointer and omit all barriers,
but retain the compiler constraints that prevent duplicating but retain the compiler constraints that prevent duplicating
or coalescsing. This is useful when testing the or coalescing. This is useful when testing the
value of the pointer itself, for example, against NULL. value of the pointer itself, for example, against NULL.
The rcu_dereference_check() check expression can be any boolean The rcu_dereference_check() check expression can be any boolean

View file

@ -216,7 +216,7 @@ Kernel boot arguments can also be supplied, for example, to control
rcutorture's module parameters. For example, to test a change to RCU's rcutorture's module parameters. For example, to test a change to RCU's
CPU stall-warning code, use "--bootargs 'rcutorture.stall_cpu=30'". CPU stall-warning code, use "--bootargs 'rcutorture.stall_cpu=30'".
This will of course result in the scripting reporting a failure, namely This will of course result in the scripting reporting a failure, namely
the resuling RCU CPU stall warning. As noted above, reducing memory may the resulting RCU CPU stall warning. As noted above, reducing memory may
require disabling rcutorture's callback-flooding tests:: require disabling rcutorture's callback-flooding tests::
kvm.sh --cpus 448 --configs '56*TREE04' --memory 128M \ kvm.sh --cpus 448 --configs '56*TREE04' --memory 128M \
@ -370,5 +370,5 @@ You can also re-run a previous remote run in a manner similar to kvm.sh:
tools/testing/selftests/rcutorture/res/2022.11.03-11.26.28-remote \ tools/testing/selftests/rcutorture/res/2022.11.03-11.26.28-remote \
--duration 24h --duration 24h
In this case, most of the kvm-again.sh parmeters may be supplied following In this case, most of the kvm-again.sh parameters may be supplied following
the pathname of the old run-results directory. the pathname of the old run-results directory.

View file

@ -597,10 +597,10 @@ to avoid having to write your own callback::
If the occasional sleep is permitted, the single-argument form may If the occasional sleep is permitted, the single-argument form may
be used, omitting the rcu_head structure from struct foo. be used, omitting the rcu_head structure from struct foo.
kfree_rcu(old_fp); kfree_rcu_mightsleep(old_fp);
This variant of kfree_rcu() almost never blocks, but might do so by This variant almost never blocks, but might do so by invoking
invoking synchronize_rcu() in response to memory-allocation failure. synchronize_rcu() in response to memory-allocation failure.
Again, see checklist.rst for additional rules governing the use of RCU. Again, see checklist.rst for additional rules governing the use of RCU.

View file

@ -16,6 +16,7 @@ d) memory reclaim
e) thrashing e) thrashing
f) direct compact f) direct compact
g) write-protect copy g) write-protect copy
h) IRQ/SOFTIRQ
and makes these statistics available to userspace through and makes these statistics available to userspace through
the taskstats interface. the taskstats interface.
@ -49,7 +50,7 @@ this structure. See
for a description of the fields pertaining to delay accounting. for a description of the fields pertaining to delay accounting.
It will generally be in the form of counters returning the cumulative It will generally be in the form of counters returning the cumulative
delay seen for cpu, sync block I/O, swapin, memory reclaim, thrash page delay seen for cpu, sync block I/O, swapin, memory reclaim, thrash page
cache, direct compact, write-protect copy etc. cache, direct compact, write-protect copy, IRQ/SOFTIRQ etc.
Taking the difference of two successive readings of a given Taking the difference of two successive readings of a given
counter (say cpu_delay_total) for a task will give the delay counter (say cpu_delay_total) for a task will give the delay
@ -109,17 +110,19 @@ Get sum of delays, since system boot, for all pids with tgid 5::
CPU count real total virtual total delay total delay average CPU count real total virtual total delay total delay average
8 7000000 6872122 3382277 0.423ms 8 7000000 6872122 3382277 0.423ms
IO count delay total delay average IO count delay total delay average
0 0 0ms 0 0 0.000ms
SWAP count delay total delay average SWAP count delay total delay average
0 0 0ms 0 0 0.000ms
RECLAIM count delay total delay average RECLAIM count delay total delay average
0 0 0ms 0 0 0.000ms
THRASHING count delay total delay average THRASHING count delay total delay average
0 0 0ms 0 0 0.000ms
COMPACT count delay total delay average COMPACT count delay total delay average
0 0 0ms 0 0 0.000ms
WPCOPY count delay total delay average WPCOPY count delay total delay average
0 0 0ms 0 0 0.000ms
IRQ count delay total delay average
0 0 0.000ms
Get IO accounting for pid 1, it works only with -p:: Get IO accounting for pid 1, it works only with -p::

View file

@ -105,6 +105,10 @@ prevent overly frequent polling. Max limit is chosen as a high enough number
after which monitors are most likely not needed and psi averages can be used after which monitors are most likely not needed and psi averages can be used
instead. instead.
Unprivileged users can also create monitors, with the only limitation that the
window size must be a multiple of 2s, in order to prevent excessive resource
usage.
When activated, psi monitor stays active for at least the duration of one When activated, psi monitor stays active for at least the duration of one
tracking window to avoid repeated activations/deactivations when system is tracking window to avoid repeated activations/deactivations when system is
bouncing in and out of the stall state. bouncing in and out of the stall state.

View file

@ -14,7 +14,7 @@ to borrow disk space from another computer.
Unlike NFS, it is possible to put any filesystem on it, etc. Unlike NFS, it is possible to put any filesystem on it, etc.
For more information, or to download the nbd-client and nbd-server For more information, or to download the nbd-client and nbd-server
tools, go to http://nbd.sf.net/. tools, go to https://github.com/NetworkBlockDevice/nbd.
The nbd kernel module need only be installed on the client The nbd kernel module need only be installed on the client
system, as the nbd-server is completely in userspace. In fact, system, as the nbd-server is completely in userspace. In fact,

View file

@ -719,7 +719,7 @@ There are ways to query or modify cpusets:
cat, rmdir commands from the shell, or their equivalent from C. cat, rmdir commands from the shell, or their equivalent from C.
- via the C library libcpuset. - via the C library libcpuset.
- via the C library libcgroup. - via the C library libcgroup.
(http://sourceforge.net/projects/libcg/) (https://github.com/libcgroup/libcgroup/)
- via the python application cset. - via the python application cset.
(http://code.google.com/p/cpuset/) (http://code.google.com/p/cpuset/)

View file

@ -39,6 +39,10 @@ Optional feature parameters:
If no feature parameters are present, during the periods of If no feature parameters are present, during the periods of
unreliability, all I/O returns errors. unreliability, all I/O returns errors.
error_reads:
All read I/O is failed with an error signalled.
Write I/O is handled correctly.
drop_writes: drop_writes:
All write I/O is silently ignored. All write I/O is silently ignored.
Read I/O is handled correctly. Read I/O is handled correctly.

View file

@ -489,9 +489,6 @@ Files in /sys/fs/ext4/<devname>:
multiple of this tuning parameter if the stripe size is not set in the multiple of this tuning parameter if the stripe size is not set in the
ext4 superblock ext4 superblock
mb_max_inode_prealloc
The maximum length of per-inode ext4_prealloc_space list.
mb_max_to_scan mb_max_to_scan
The maximum number of extents the multiblock allocator will search to The maximum number of extents the multiblock allocator will search to
find the best extent. find the best extent.

View file

@ -145,7 +145,7 @@ requested using gpio_request()::
/* export the GPIO to userspace */ /* export the GPIO to userspace */
int gpiod_export(struct gpio_desc *desc, bool direction_may_change); int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
/* reverse gpio_export() */ /* reverse gpiod_export() */
void gpiod_unexport(struct gpio_desc *desc); void gpiod_unexport(struct gpio_desc *desc);
/* create a sysfs link to an exported GPIO node */ /* create a sysfs link to an exported GPIO node */

View file

@ -58,7 +58,7 @@ Because the buffers are potentially shared between Hyper-Threads cross
Hyper-Thread attacks are possible. Hyper-Thread attacks are possible.
Deeper technical information is available in the MDS specific x86 Deeper technical information is available in the MDS specific x86
architecture section: :ref:`Documentation/x86/mds.rst <mds>`. architecture section: :ref:`Documentation/arch/x86/mds.rst <mds>`.
Attack scenarios Attack scenarios

View file

@ -63,7 +63,7 @@ attacker needs to begin a TSX transaction and raise an asynchronous abort
which in turn potentially leaks data stored in the buffers. which in turn potentially leaks data stored in the buffers.
More detailed technical information is available in the TAA specific x86 More detailed technical information is available in the TAA specific x86
architecture section: :ref:`Documentation/x86/tsx_async_abort.rst <tsx_async_abort>`. architecture section: :ref:`Documentation/arch/x86/tsx_async_abort.rst <tsx_async_abort>`.
Attack scenarios Attack scenarios

View file

@ -36,7 +36,7 @@ problems and bugs in particular.
reporting-issues reporting-issues
reporting-regressions reporting-regressions
security-bugs quickly-build-trimmed-linux
bug-hunting bug-hunting
bug-bisect bug-bisect
tainted-kernels tainted-kernels

View file

@ -172,7 +172,7 @@ variables.
Offset of the free_list's member. This value is used to compute the number Offset of the free_list's member. This value is used to compute the number
of free pages. of free pages.
Each zone has a free_area structure array called free_area[MAX_ORDER]. Each zone has a free_area structure array called free_area[MAX_ORDER + 1].
The free_list represents a linked list of free page blocks. The free_list represents a linked list of free page blocks.
(list_head, next|prev) (list_head, next|prev)
@ -189,8 +189,8 @@ Offsets of the vmap_area's members. They carry vmalloc-specific
information. Makedumpfile gets the start address of the vmalloc region information. Makedumpfile gets the start address of the vmalloc region
from this. from this.
(zone.free_area, MAX_ORDER) (zone.free_area, MAX_ORDER + 1)
--------------------------- -------------------------------
Free areas descriptor. User-space tools use this value to iterate the Free areas descriptor. User-space tools use this value to iterate the
free_area ranges. MAX_ORDER is used by the zone buddy allocator. free_area ranges. MAX_ORDER is used by the zone buddy allocator.

View file

@ -128,10 +128,11 @@ parameter is applicable::
KVM Kernel Virtual Machine support is enabled. KVM Kernel Virtual Machine support is enabled.
LIBATA Libata driver is enabled LIBATA Libata driver is enabled
LP Printer support is enabled. LP Printer support is enabled.
LOONGARCH LoongArch architecture is enabled.
LOOP Loopback device support is enabled. LOOP Loopback device support is enabled.
M68k M68k architecture is enabled. M68k M68k architecture is enabled.
These options have more detailed description inside of These options have more detailed description inside of
Documentation/m68k/kernel-options.rst. Documentation/arch/m68k/kernel-options.rst.
MDA MDA console support is enabled. MDA MDA console support is enabled.
MIPS MIPS architecture is enabled. MIPS MIPS architecture is enabled.
MOUSE Appropriate mouse support is enabled. MOUSE Appropriate mouse support is enabled.
@ -177,7 +178,7 @@ parameter is applicable::
X86-32 X86-32, aka i386 architecture is enabled. X86-32 X86-32, aka i386 architecture is enabled.
X86-64 X86-64 architecture is enabled. X86-64 X86-64 architecture is enabled.
More X86-64 boot options can be found in More X86-64 boot options can be found in
Documentation/x86/x86_64/boot-options.rst. Documentation/arch/x86/x86_64/boot-options.rst.
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64) X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
X86_UV SGI UV support is enabled. X86_UV SGI UV support is enabled.
XEN Xen support is enabled XEN Xen support is enabled
@ -192,10 +193,10 @@ In addition, the following text indicates that the option::
Parameters denoted with BOOT are actually interpreted by the boot Parameters denoted with BOOT are actually interpreted by the boot
loader, and have no meaning to the kernel directly. loader, and have no meaning to the kernel directly.
Do not modify the syntax of boot loader parameters without extreme Do not modify the syntax of boot loader parameters without extreme
need or coordination with <Documentation/x86/boot.rst>. need or coordination with <Documentation/arch/x86/boot.rst>.
There are also arch-specific kernel-parameters not documented here. There are also arch-specific kernel-parameters not documented here.
See for example <Documentation/x86/x86_64/boot-options.rst>. See for example <Documentation/arch/x86/x86_64/boot-options.rst>.
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
a trailing = on the name of any parameter states that that parameter will a trailing = on the name of any parameter states that that parameter will

View file

@ -339,6 +339,29 @@
This mode requires kvm-amd.avic=1. This mode requires kvm-amd.avic=1.
(Default when IOMMU HW support is present.) (Default when IOMMU HW support is present.)
amd_pstate= [X86]
disable
Do not enable amd_pstate as the default
scaling driver for the supported processors
passive
Use amd_pstate with passive mode as a scaling driver.
In this mode autonomous selection is disabled.
Driver requests a desired performance level and platform
tries to match the same performance level if it is
satisfied by guaranteed performance level.
active
Use amd_pstate_epp driver instance as the scaling driver,
driver provides a hint to the hardware if software wants
to bias toward performance (0x0) or energy efficiency (0xff)
to the CPPC firmware. then CPPC power algorithm will
calculate the runtime workload and adjust the realtime cores
frequency.
guided
Activate guided autonomous mode. Driver requests minimum and
maximum performance level and the platform autonomously
selects a performance level in this range and appropriate
to the current workload.
amijoy.map= [HW,JOY] Amiga joystick support amijoy.map= [HW,JOY] Amiga joystick support
Map of devices attached to JOY0DAT and JOY1DAT Map of devices attached to JOY0DAT and JOY1DAT
Format: <a>,<b> Format: <a>,<b>
@ -889,15 +912,14 @@
cs89x0_media= [HW,NET] cs89x0_media= [HW,NET]
Format: { rj45 | aui | bnc } Format: { rj45 | aui | bnc }
csdlock_debug= [KNL] Enable debug add-ons of cross-CPU function call csdlock_debug= [KNL] Enable or disable debug add-ons of cross-CPU
handling. When switched on, additional debug data is function call handling. When switched on,
printed to the console in case a hanging CPU is additional debug data is printed to the console
detected, and that CPU is pinged again in order to try in case a hanging CPU is detected, and that
to resolve the hang situation. CPU is pinged again in order to try to resolve
0: disable csdlock debugging (default) the hang situation. The default value of this
1: enable basic csdlock debugging (minor impact) option depends on the CSD_LOCK_WAIT_DEBUG_DEFAULT
ext: enable extended csdlock debugging (more impact, Kconfig option.
but more data)
dasd= [HW,NET] dasd= [HW,NET]
See header of drivers/s390/block/dasd_devmap.c. See header of drivers/s390/block/dasd_devmap.c.
@ -929,9 +951,6 @@
debug_objects [KNL] Enable object debugging debug_objects [KNL] Enable object debugging
no_debug_objects
[KNL] Disable object debugging
debug_guardpage_minorder= debug_guardpage_minorder=
[KNL] When CONFIG_DEBUG_PAGEALLOC is set, this [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
parameter allows control of the order of pages that will parameter allows control of the order of pages that will
@ -1582,6 +1601,20 @@
dependencies. This only applies for fw_devlink=on|rpm. dependencies. This only applies for fw_devlink=on|rpm.
Format: <bool> Format: <bool>
fw_devlink.sync_state =
[KNL] When all devices that could probe have finished
probing, this parameter controls what to do with
devices that haven't yet received their sync_state()
calls.
Format: { strict | timeout }
strict -- Default. Continue waiting on consumers to
probe successfully.
timeout -- Give up waiting on consumers and call
sync_state() on any devices that haven't yet
received their sync_state() calls after
deferred_probe_timeout has expired or by
late_initcall() if !CONFIG_MODULES.
gamecon.map[2|3]= gamecon.map[2|3]=
[HW,JOY] Multisystem joystick and NES/SNES/PSX pad [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
support via parallel port (up to 5 devices per port) support via parallel port (up to 5 devices per port)
@ -2976,7 +3009,7 @@
mce [X86-32] Machine Check Exception mce [X86-32] Machine Check Exception
mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst mce=option [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst
md= [HW] RAID subsystems devices and level md= [HW] RAID subsystems devices and level
See Documentation/admin-guide/md.rst. See Documentation/admin-guide/md.rst.
@ -3184,9 +3217,6 @@
deep - Suspend-To-RAM or equivalent (if supported) deep - Suspend-To-RAM or equivalent (if supported)
See Documentation/admin-guide/pm/sleep-states.rst. See Documentation/admin-guide/pm/sleep-states.rst.
meye.*= [HW] Set MotionEye Camera parameters
See Documentation/admin-guide/media/meye.rst.
mfgpt_irq= [IA-32] Specify the IRQ to use for the mfgpt_irq= [IA-32] Specify the IRQ to use for the
Multi-Function General Purpose Timers on AMD Geode Multi-Function General Purpose Timers on AMD Geode
platforms. platforms.
@ -3332,6 +3362,12 @@
specified, <module>.async_probe takes precedence for specified, <module>.async_probe takes precedence for
the specific module. the specific module.
module.enable_dups_trace
[KNL] When CONFIG_MODULE_DEBUG_AUTOLOAD_DUPS is set,
this means that duplicate request_module() calls will
trigger a WARN_ON() instead of a pr_warn(). Note that
if MODULE_DEBUG_AUTOLOAD_DUPS_TRACE is set, WARN_ON()s
will always be issued and this option does nothing.
module.sig_enforce module.sig_enforce
[KNL] When CONFIG_MODULE_SIG is set, this means that [KNL] When CONFIG_MODULE_SIG is set, this means that
modules without (valid) signatures will fail to load. modules without (valid) signatures will fail to load.
@ -3428,14 +3464,13 @@
1 to enable accounting 1 to enable accounting
Default value is 0. Default value is 0.
nfsaddrs= [NFS] Deprecated. Use ip= instead. nfs.cache_getent=
See Documentation/admin-guide/nfs/nfsroot.rst. [NFS] sets the pathname to the program which is used
to update the NFS client cache entries.
nfsroot= [NFS] nfs root filesystem for disk-less boxes. nfs.cache_getent_timeout=
See Documentation/admin-guide/nfs/nfsroot.rst. [NFS] sets the timeout after which an attempt to
update a cache entry is deemed to have failed.
nfsrootdebug [NFS] enable nfsroot debugging messages.
See Documentation/admin-guide/nfs/nfsroot.rst.
nfs.callback_nr_threads= nfs.callback_nr_threads=
[NFSv4] set the total number of threads that the [NFSv4] set the total number of threads that the
@ -3446,18 +3481,6 @@
[NFS] set the TCP port on which the NFSv4 callback [NFS] set the TCP port on which the NFSv4 callback
channel should listen. channel should listen.
nfs.cache_getent=
[NFS] sets the pathname to the program which is used
to update the NFS client cache entries.
nfs.cache_getent_timeout=
[NFS] sets the timeout after which an attempt to
update a cache entry is deemed to have failed.
nfs.idmap_cache_timeout=
[NFS] set the maximum lifetime for idmapper cache
entries.
nfs.enable_ino64= nfs.enable_ino64=
[NFS] enable 64-bit inode numbers. [NFS] enable 64-bit inode numbers.
If zero, the NFS client will fake up a 32-bit inode If zero, the NFS client will fake up a 32-bit inode
@ -3465,6 +3488,10 @@
of returning the full 64-bit number. of returning the full 64-bit number.
The default is to return 64-bit inode numbers. The default is to return 64-bit inode numbers.
nfs.idmap_cache_timeout=
[NFS] set the maximum lifetime for idmapper cache
entries.
nfs.max_session_cb_slots= nfs.max_session_cb_slots=
[NFSv4.1] Sets the maximum number of session [NFSv4.1] Sets the maximum number of session
slots the client will assign to the callback slots the client will assign to the callback
@ -3492,21 +3519,14 @@
will be autodetected by the client, and it will fall will be autodetected by the client, and it will fall
back to using the idmapper. back to using the idmapper.
To turn off this behaviour, set the value to '0'. To turn off this behaviour, set the value to '0'.
nfs.nfs4_unique_id= nfs.nfs4_unique_id=
[NFS4] Specify an additional fixed unique ident- [NFS4] Specify an additional fixed unique ident-
ification string that NFSv4 clients can insert into ification string that NFSv4 clients can insert into
their nfs_client_id4 string. This is typically a their nfs_client_id4 string. This is typically a
UUID that is generated at system install time. UUID that is generated at system install time.
nfs.send_implementation_id = nfs.recover_lost_locks=
[NFSv4.1] Send client implementation identification
information in exchange_id requests.
If zero, no implementation identification information
will be sent.
The default is to send the implementation identification
information.
nfs.recover_lost_locks =
[NFSv4] Attempt to recover locks that were lost due [NFSv4] Attempt to recover locks that were lost due
to a lease timeout on the server. Please note that to a lease timeout on the server. Please note that
doing this risks data corruption, since there are doing this risks data corruption, since there are
@ -3518,7 +3538,15 @@
The default parameter value of '0' causes the kernel The default parameter value of '0' causes the kernel
not to attempt recovery of lost locks. not to attempt recovery of lost locks.
nfs4.layoutstats_timer = nfs.send_implementation_id=
[NFSv4.1] Send client implementation identification
information in exchange_id requests.
If zero, no implementation identification information
will be sent.
The default is to send the implementation identification
information.
nfs4.layoutstats_timer=
[NFSv4.2] Change the rate at which the kernel sends [NFSv4.2] Change the rate at which the kernel sends
layoutstats to the pNFS metadata server. layoutstats to the pNFS metadata server.
@ -3527,19 +3555,11 @@
driver. A non-zero value sets the minimum interval driver. A non-zero value sets the minimum interval
in seconds between layoutstats transmissions. in seconds between layoutstats transmissions.
nfsd.inter_copy_offload_enable = nfsd.inter_copy_offload_enable=
[NFSv4.2] When set to 1, the server will support [NFSv4.2] When set to 1, the server will support
server-to-server copies for which this server is server-to-server copies for which this server is
the destination of the copy. the destination of the copy.
nfsd.nfsd4_ssc_umount_timeout =
[NFSv4.2] When used as the destination of a
server-to-server copy, knfsd temporarily mounts
the source server. It caches the mount in case
it will be needed again, and discards it if not
used for the number of milliseconds specified by
this parameter.
nfsd.nfs4_disable_idmapping= nfsd.nfs4_disable_idmapping=
[NFSv4] When set to the default of '1', the NFSv4 [NFSv4] When set to the default of '1', the NFSv4
server will return only numeric uids and gids to server will return only numeric uids and gids to
@ -3547,6 +3567,22 @@
and gids from such clients. This is intended to ease and gids from such clients. This is intended to ease
migration from NFSv2/v3. migration from NFSv2/v3.
nfsd.nfsd4_ssc_umount_timeout=
[NFSv4.2] When used as the destination of a
server-to-server copy, knfsd temporarily mounts
the source server. It caches the mount in case
it will be needed again, and discards it if not
used for the number of milliseconds specified by
this parameter.
nfsaddrs= [NFS] Deprecated. Use ip= instead.
See Documentation/admin-guide/nfs/nfsroot.rst.
nfsroot= [NFS] nfs root filesystem for disk-less boxes.
See Documentation/admin-guide/nfs/nfsroot.rst.
nfsrootdebug [NFS] enable nfsroot debugging messages.
See Documentation/admin-guide/nfs/nfsroot.rst.
nmi_backtrace.backtrace_idle [KNL] nmi_backtrace.backtrace_idle [KNL]
Dump stacks even of idle CPUs in response to an Dump stacks even of idle CPUs in response to an
@ -3576,37 +3612,12 @@
emulation library even if a 387 maths coprocessor emulation library even if a 387 maths coprocessor
is present. is present.
no5lvl [X86-64] Disable 5-level paging mode. Forces no4lvl [RISCV] Disable 4-level and 5-level paging modes. Forces
kernel to use 3-level paging instead.
no5lvl [X86-64,RISCV] Disable 5-level paging mode. Forces
kernel to use 4-level paging instead. kernel to use 4-level paging instead.
nofsgsbase [X86] Disables FSGSBASE instructions.
no_console_suspend
[HW] Never suspend the console
Disable suspending of consoles during suspend and
hibernate operations. Once disabled, debugging
messages can reach various consoles while the rest
of the system is being put to sleep (ie, while
debugging driver suspend/resume hooks). This may
not work reliably with all consoles, but is known
to work with serial and VGA consoles.
To facilitate more flexible debugging, we also add
console_suspend, a printk module parameter to control
it. Users could use console_suspend (usually
/sys/module/printk/parameters/console_suspend) to
turn on/off it dynamically.
novmcoredd [KNL,KDUMP]
Disable device dump. Device dump allows drivers to
append dump data to vmcore so you can collect driver
specified debug info. Drivers can append the data
without any limit and this data is stored in memory,
so this may cause significant memory stress. Disabling
device dump can help save memory but the driver debug
data will be no longer available. This parameter
is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP
is set.
noaliencache [MM, NUMA, SLAB] Disables the allocation of alien noaliencache [MM, NUMA, SLAB] Disables the allocation of alien
caches in the slab allocator. Saves per-node memory, caches in the slab allocator. Saves per-node memory,
but will impact performance. but will impact performance.
@ -3623,6 +3634,24 @@
nocache [ARM] nocache [ARM]
no_console_suspend
[HW] Never suspend the console
Disable suspending of consoles during suspend and
hibernate operations. Once disabled, debugging
messages can reach various consoles while the rest
of the system is being put to sleep (ie, while
debugging driver suspend/resume hooks). This may
not work reliably with all consoles, but is known
to work with serial and VGA consoles.
To facilitate more flexible debugging, we also add
console_suspend, a printk module parameter to control
it. Users could use console_suspend (usually
/sys/module/printk/parameters/console_suspend) to
turn on/off it dynamically.
no_debug_objects
[KNL] Disable object debugging
nodsp [SH] Disable hardware DSP at boot time. nodsp [SH] Disable hardware DSP at boot time.
noefi Disable EFI runtime services support. noefi Disable EFI runtime services support.
@ -3631,14 +3660,6 @@
noexec [IA-64] noexec [IA-64]
nosmap [PPC]
Disable SMAP (Supervisor Mode Access Prevention)
even if it is supported by processor.
nosmep [PPC64s]
Disable SMEP (Supervisor Mode Execution Prevention)
even if it is supported by processor.
noexec32 [X86-64] noexec32 [X86-64]
This affects only 32-bit executables. This affects only 32-bit executables.
noexec32=on: enable non-executable mappings (default) noexec32=on: enable non-executable mappings (default)
@ -3646,74 +3667,18 @@
noexec32=off: disable non-executable mappings noexec32=off: disable non-executable mappings
read implies executable mappings read implies executable mappings
no_file_caps Tells the kernel not to honor file capabilities. The
only way then for a file to be executed with privilege
is to be setuid root or executed by root.
nofpu [MIPS,SH] Disable hardware FPU at boot time. nofpu [MIPS,SH] Disable hardware FPU at boot time.
nofsgsbase [X86] Disables FSGSBASE instructions.
nofxsr [BUGS=X86-32] Disables x86 floating point extended nofxsr [BUGS=X86-32] Disables x86 floating point extended
register save and restore. The kernel will only save register save and restore. The kernel will only save
legacy floating-point registers on task switch. legacy floating-point registers on task switch.
nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
nohugevmalloc [KNL,X86,PPC,ARM64] Disable kernel huge vmalloc mappings.
nosmt [KNL,S390] Disable symmetric multithreading (SMT).
Equivalent to smt=1.
[KNL,X86] Disable symmetric multithreading (SMT).
nosmt=force: Force disable SMT, cannot be undone
via the sysfs control file.
nospectre_v1 [X86,PPC] Disable mitigations for Spectre Variant 1
(bounds check bypass). With this option data leaks are
possible in the system.
nospectre_v2 [X86,PPC_E500,ARM64] Disable all mitigations for
the Spectre variant 2 (indirect branch prediction)
vulnerability. System may allow data leaks with this
option.
nospectre_bhb [ARM64] Disable all mitigations for Spectre-BHB (branch
history injection) vulnerability. System may allow data leaks
with this option.
nospec_store_bypass_disable
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
no_uaccess_flush
[PPC] Don't flush the L1-D cache after accessing user data.
noxsave [BUGS=X86] Disables x86 extended register state save
and restore using xsave. The kernel will fallback to
enabling legacy floating-point and sse state.
noxsaveopt [X86] Disables xsaveopt used in saving x86 extended
register states. The kernel will fall back to use
xsave to save the states. By using this parameter,
performance of saving the states is degraded because
xsave doesn't support modified optimization while
xsaveopt supports it on xsaveopt enabled systems.
noxsaves [X86] Disables xsaves and xrstors used in saving and
restoring x86 extended register state in compacted
form of xsave area. The kernel will fall back to use
xsaveopt and xrstor to save and restore the states
in standard form of xsave area. By using this
parameter, xsave area per process might occupy more
memory on xsaves enabled systems.
nohlt [ARM,ARM64,MICROBLAZE,SH] Forces the kernel to busy wait
in do_idle() and not use the arch_cpu_idle()
implementation; requires CONFIG_GENERIC_IDLE_POLL_SETUP
to be effective. This is useful on platforms where the
sleep(SH) or wfi(ARM,ARM64) instructions do not work
correctly or when doing power measurements to evaluate
the impact of the sleep instructions. This is also
useful when using JTAG debugger.
no_file_caps Tells the kernel not to honor file capabilities. The
only way then for a file to be executed with privilege
is to be setuid root or executed by root.
nohalt [IA-64] Tells the kernel not to use the power saving nohalt [IA-64] Tells the kernel not to use the power saving
function PAL_HALT_LIGHT when idle. This increases function PAL_HALT_LIGHT when idle. This increases
power-consumption. On the positive side, it reduces power-consumption. On the positive side, it reduces
@ -3737,6 +3702,19 @@
nohibernate [HIBERNATION] Disable hibernation and resume. nohibernate [HIBERNATION] Disable hibernation and resume.
nohlt [ARM,ARM64,MICROBLAZE,SH] Forces the kernel to busy wait
in do_idle() and not use the arch_cpu_idle()
implementation; requires CONFIG_GENERIC_IDLE_POLL_SETUP
to be effective. This is useful on platforms where the
sleep(SH) or wfi(ARM,ARM64) instructions do not work
correctly or when doing power measurements to evaluate
the impact of the sleep instructions. This is also
useful when using JTAG debugger.
nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
nohugevmalloc [KNL,X86,PPC,ARM64] Disable kernel huge vmalloc mappings.
nohz= [KNL] Boottime enable/disable dynamic ticks nohz= [KNL] Boottime enable/disable dynamic ticks
Valid arguments: on, off Valid arguments: on, off
Default: on Default: on
@ -3754,16 +3732,6 @@
Note that this argument takes precedence over Note that this argument takes precedence over
the CONFIG_RCU_NOCB_CPU_DEFAULT_ALL option. the CONFIG_RCU_NOCB_CPU_DEFAULT_ALL option.
noiotrap [SH] Disables trapped I/O port accesses.
noirqdebug [X86-32] Disables the code which attempts to detect and
disable unhandled interrupt sources.
no_timer_check [X86,APIC] Disables the code which tests for
broken timer IRQ sources.
noisapnp [ISAPNP] Disables ISA PnP code.
noinitrd [RAM] Tells the kernel not to load any configured noinitrd [RAM] Tells the kernel not to load any configured
initial RAM disk. initial RAM disk.
@ -3775,6 +3743,13 @@
noinvpcid [X86] Disable the INVPCID cpu feature. noinvpcid [X86] Disable the INVPCID cpu feature.
noiotrap [SH] Disables trapped I/O port accesses.
noirqdebug [X86-32] Disables the code which attempts to detect and
disable unhandled interrupt sources.
noisapnp [ISAPNP] Disables ISA PnP code.
nojitter [IA-64] Disables jitter checking for ITC timers. nojitter [IA-64] Disables jitter checking for ITC timers.
nokaslr [KNL] nokaslr [KNL]
@ -3782,18 +3757,10 @@
kernel and module base offset ASLR (Address Space kernel and module base offset ASLR (Address Space
Layout Randomization). Layout Randomization).
no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver
no-kvmapf [X86,KVM] Disable paravirtualized asynchronous page no-kvmapf [X86,KVM] Disable paravirtualized asynchronous page
fault handling. fault handling.
no-vmw-sched-clock no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver
[X86,PV_OPS] Disable paravirtualized VMware scheduler
clock and use the default one.
no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES] Disable paravirtualized
steal time accounting. steal time is computed, but
won't influence scheduler behaviour
nolapic [X86-32,APIC] Do not enable or use the local APIC. nolapic [X86-32,APIC] Do not enable or use the local APIC.
@ -3806,10 +3773,6 @@
nomfgpt [X86-32] Disable Multi-Function General Purpose nomfgpt [X86-32] Disable Multi-Function General Purpose
Timer usage (for AMD Geode machines). Timer usage (for AMD Geode machines).
nonmi_ipi [X86] Disable using NMI IPIs during panic/reboot to
shutdown the other cpus. Instead use the REBOOT_VECTOR
irq.
nomodeset Disable kernel modesetting. Most systems' firmware nomodeset Disable kernel modesetting. Most systems' firmware
sets up a display mode and provides framebuffer memory sets up a display mode and provides framebuffer memory
for output. With nomodeset, DRM and fbdev drivers will for output. With nomodeset, DRM and fbdev drivers will
@ -3822,6 +3785,10 @@
nomodule Disable module load nomodule Disable module load
nonmi_ipi [X86] Disable using NMI IPIs during panic/reboot to
shutdown the other cpus. Instead use the REBOOT_VECTOR
irq.
nopat [X86] Disable PAT (page attribute table extension of nopat [X86] Disable PAT (page attribute table extension of
pagetables) support. pagetables) support.
@ -3830,6 +3797,9 @@
nopku [X86] Disable Memory Protection Keys CPU feature found nopku [X86] Disable Memory Protection Keys CPU feature found
in some Intel CPUs. in some Intel CPUs.
nopti [X86-64]
Equivalent to pti=off
nopv= [X86,XEN,KVM,HYPER_V,VMWARE] nopv= [X86,XEN,KVM,HYPER_V,VMWARE]
Disables the PV optimizations forcing the guest to run Disables the PV optimizations forcing the guest to run
as generic guest with no PV drivers. Currently support as generic guest with no PV drivers. Currently support
@ -3849,21 +3819,77 @@
noresume [SWSUSP] Disables resume and restores original swap noresume [SWSUSP] Disables resume and restores original swap
space. space.
nosbagart [IA-64]
no-scroll [VGA] Disables scrollback. no-scroll [VGA] Disables scrollback.
This is required for the Braillex ib80-piezo Braille This is required for the Braillex ib80-piezo Braille
reader made by F.H. Papenmeier (Germany). reader made by F.H. Papenmeier (Germany).
nosbagart [IA-64]
nosgx [X86-64,SGX] Disables Intel SGX kernel support. nosgx [X86-64,SGX] Disables Intel SGX kernel support.
nosmap [PPC]
Disable SMAP (Supervisor Mode Access Prevention)
even if it is supported by processor.
nosmep [PPC64s]
Disable SMEP (Supervisor Mode Execution Prevention)
even if it is supported by processor.
nosmp [SMP] Tells an SMP kernel to act as a UP kernel, nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
and disable the IO APIC. legacy for "maxcpus=0". and disable the IO APIC. legacy for "maxcpus=0".
nosmt [KNL,S390] Disable symmetric multithreading (SMT).
Equivalent to smt=1.
[KNL,X86] Disable symmetric multithreading (SMT).
nosmt=force: Force disable SMT, cannot be undone
via the sysfs control file.
nosoftlockup [KNL] Disable the soft-lockup detector. nosoftlockup [KNL] Disable the soft-lockup detector.
nospec_store_bypass_disable
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
nospectre_bhb [ARM64] Disable all mitigations for Spectre-BHB (branch
history injection) vulnerability. System may allow data leaks
with this option.
nospectre_v1 [X86,PPC] Disable mitigations for Spectre Variant 1
(bounds check bypass). With this option data leaks are
possible in the system.
nospectre_v2 [X86,PPC_E500,ARM64] Disable all mitigations for
the Spectre variant 2 (indirect branch prediction)
vulnerability. System may allow data leaks with this
option.
no-steal-acc [X86,PV_OPS,ARM64,PPC/PSERIES] Disable paravirtualized
steal time accounting. steal time is computed, but
won't influence scheduler behaviour
nosync [HW,M68K] Disables sync negotiation for all devices. nosync [HW,M68K] Disables sync negotiation for all devices.
no_timer_check [X86,APIC] Disables the code which tests for
broken timer IRQ sources.
no_uaccess_flush
[PPC] Don't flush the L1-D cache after accessing user data.
novmcoredd [KNL,KDUMP]
Disable device dump. Device dump allows drivers to
append dump data to vmcore so you can collect driver
specified debug info. Drivers can append the data
without any limit and this data is stored in memory,
so this may cause significant memory stress. Disabling
device dump can help save memory but the driver debug
data will be no longer available. This parameter
is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP
is set.
no-vmw-sched-clock
[X86,PV_OPS] Disable paravirtualized VMware scheduler
clock and use the default one.
nowatchdog [KNL] Disable both lockup detectors, i.e. nowatchdog [KNL] Disable both lockup detectors, i.e.
soft-lockup and NMI watchdog (hard-lockup). soft-lockup and NMI watchdog (hard-lockup).
@ -3875,6 +3901,25 @@
LEGACY_XAPIC_DISABLED bit set in the LEGACY_XAPIC_DISABLED bit set in the
IA32_XAPIC_DISABLE_STATUS MSR. IA32_XAPIC_DISABLE_STATUS MSR.
noxsave [BUGS=X86] Disables x86 extended register state save
and restore using xsave. The kernel will fallback to
enabling legacy floating-point and sse state.
noxsaveopt [X86] Disables xsaveopt used in saving x86 extended
register states. The kernel will fall back to use
xsave to save the states. By using this parameter,
performance of saving the states is degraded because
xsave doesn't support modified optimization while
xsaveopt supports it on xsaveopt enabled systems.
noxsaves [X86] Disables xsaves and xrstors used in saving and
restoring x86 extended register state in compacted
form of xsave area. The kernel will fall back to use
xsaveopt and xrstor to save and restore the states
in standard form of xsave area. By using this
parameter, xsave area per process might occupy more
memory on xsaves enabled systems.
nps_mtm_hs_ctr= [KNL,ARC] nps_mtm_hs_ctr= [KNL,ARC]
This parameter sets the maximum duration, in This parameter sets the maximum duration, in
cycles, each HW thread of the CTOP can run cycles, each HW thread of the CTOP can run
@ -3969,7 +4014,7 @@
[KNL] Minimal page reporting order [KNL] Minimal page reporting order
Format: <integer> Format: <integer>
Adjust the minimal page reporting order. The page Adjust the minimal page reporting order. The page
reporting is disabled when it exceeds (MAX_ORDER-1). reporting is disabled when it exceeds MAX_ORDER.
panic= [KNL] Kernel behaviour on panic: delay <timeout> panic= [KNL] Kernel behaviour on panic: delay <timeout>
timeout > 0: seconds before rebooting timeout > 0: seconds before rebooting
@ -4410,7 +4455,7 @@
and performance comparison. and performance comparison.
pirq= [SMP,APIC] Manual mp-table setup pirq= [SMP,APIC] Manual mp-table setup
See Documentation/x86/i386/IO-APIC.rst. See Documentation/arch/x86/i386/IO-APIC.rst.
plip= [PPT,NET] Parallel port network link plip= [PPT,NET] Parallel port network link
Format: { parport<nr> | timid | 0 } Format: { parport<nr> | timid | 0 }
@ -4582,9 +4627,6 @@
Not specifying this option is equivalent to pti=auto. Not specifying this option is equivalent to pti=auto.
nopti [X86-64]
Equivalent to pti=off
pty.legacy_count= pty.legacy_count=
[KNL] Number of legacy pty's. Overwrites compiled-in [KNL] Number of legacy pty's. Overwrites compiled-in
default number. default number.
@ -5591,7 +5633,7 @@
serialnumber [BUGS=X86-32] serialnumber [BUGS=X86-32]
sev=option[,option...] [X86-64] See Documentation/x86/x86_64/boot-options.rst sev=option[,option...] [X86-64] See Documentation/arch/x86/x86_64/boot-options.rst
shapers= [NET] shapers= [NET]
Maximal number of shapers. Maximal number of shapers.
@ -6130,15 +6172,6 @@
later by a loaded module cannot be set this way. later by a loaded module cannot be set this way.
Example: sysctl.vm.swappiness=40 Example: sysctl.vm.swappiness=40
sysfs.deprecated=0|1 [KNL]
Enable/disable old style sysfs layout for old udev
on older distributions. When this option is enabled
very new udev will not work anymore. When this option
is disabled (or CONFIG_SYSFS_DEPRECATED not compiled)
in older udev will not work anymore.
Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in
the kernel configuration.
sysrq_always_enabled sysrq_always_enabled
[KNL] [KNL]
Ignore sysrq setting - this boot parameter will Ignore sysrq setting - this boot parameter will
@ -6770,7 +6803,7 @@
Can be used multiple times for multiple devices. Can be used multiple times for multiple devices.
vga= [BOOT,X86-32] Select a particular video mode vga= [BOOT,X86-32] Select a particular video mode
See Documentation/x86/boot.rst and See Documentation/arch/x86/boot.rst and
Documentation/admin-guide/svga.rst. Documentation/admin-guide/svga.rst.
Use vga=ask for menu. Use vga=ask for menu.
This is actually a boot loader parameter; the value is This is actually a boot loader parameter; the value is
@ -6933,6 +6966,12 @@
When enabled, memory and cache locality will be When enabled, memory and cache locality will be
impacted. impacted.
writecombine= [LOONGARCH] Control the MAT (Memory Access Type) of
ioremap_wc().
on - Enable writecombine, use WUC for ioremap_wc()
off - Disable writecombine, use SUC for ioremap_wc()
x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of
default x2apic cluster mode on platforms default x2apic cluster mode on platforms
supporting x2apic. supporting x2apic.
@ -7059,20 +7098,3 @@
xmon commands. xmon commands.
off xmon is disabled. off xmon is disabled.
amd_pstate= [X86]
disable
Do not enable amd_pstate as the default
scaling driver for the supported processors
passive
Use amd_pstate as a scaling driver, driver requests a
desired performance on this abstract scale and the power
management firmware translates the requests into actual
hardware states (core frequency, data fabric and memory
clocks etc.)
active
Use amd_pstate_epp driver instance as the scaling driver,
driver provides a hint to the hardware if software wants
to bias toward performance (0x0) or energy efficiency (0xff)
to the CPPC firmware. then CPPC power algorithm will
calculate the runtime workload and adjust the realtime cores
frequency.

View file

@ -55,6 +55,15 @@ Miscellaneous:
you can control the CEC line through this driver. This supports error you can control the CEC line through this driver. This supports error
injection as well. injection as well.
- cec-gpio and Allwinner A10 (or any other driver that uses the CEC pin
framework to drive the CEC pin directly): the CEC pin framework uses
high-resolution timers. These timers are affected by NTP daemons that
speed up or slow down the clock to sync with the official time. The
chronyd server will by default increase or decrease the clock by
1/12th. This will cause the CEC timings to go out of spec. To fix this,
add a 'maxslewrate 40000' line to chronyd.conf. This limits the clock
frequency change to 1/25th, which keeps the CEC timings within spec.
Utilities Utilities
========= =========
@ -296,69 +305,71 @@ broadcast messages twice to reduce the chance of them being lost. Specifically
Making a CEC debugger Making a CEC debugger
===================== =====================
By using a Raspberry Pi 2B/3/4 and some cheap components you can make By using a Raspberry Pi 4B and some cheap components you can make
your own low-level CEC debugger. your own low-level CEC debugger.
Here is a picture of my setup: The critical component is one of these HDMI female-female passthrough connectors
(full soldering type 1):
https://hverkuil.home.xs4all.nl/rpi3-cec.jpg
It's a Raspberry Pi 3 together with a breadboard and some breadboard wires:
http://www.dx.com/p/diy-40p-male-to-female-male-to-male-female-to-female-dupont-line-wire-3pcs-356089#.WYLOOXWGN7I
Finally on of these HDMI female-female passthrough connectors (full soldering type 1):
https://elabbay.myshopify.com/collections/camera/products/hdmi-af-af-v1a-hdmi-type-a-female-to-hdmi-type-a-female-pass-through-adapter-breakout-board?variant=45533926147 https://elabbay.myshopify.com/collections/camera/products/hdmi-af-af-v1a-hdmi-type-a-female-to-hdmi-type-a-female-pass-through-adapter-breakout-board?variant=45533926147
We've tested this and it works up to 4kp30 (297 MHz). The quality is not high The video quality is variable and certainly not enough to pass-through 4kp60
enough to pass-through 4kp60 (594 MHz). (594 MHz) video. You might be able to support 4kp30, but more likely you will
be limited to 1080p60 (148.5 MHz). But for CEC testing that is fine.
I also added an RTC and a breakout shield: You need a breadboard and some breadboard wires:
https://www.amazon.com/Makerfire%C2%AE-Raspberry-Module-DS1307-Battery/dp/B00ZOXWHK4 http://www.dx.com/p/diy-40p-male-to-female-male-to-male-female-to-female-dupont-line-wire-3pcs-356089#.WYLOOXWGN7I
https://www.dx.com/p/raspberry-pi-gpio-expansion-board-breadboard-easy-multiplexing-board-one-to-three-with-screw-for-raspberry-pi-2-3-b-b-2729992.html#.YGRCG0MzZ7I If you want to monitor the HPD and/or 5V lines as well, then you need one of
these 5V to 3.3V level shifters:
These two are not needed but they make life a bit easier.
If you want to monitor the HPD line as well, then you need one of these
level shifters:
https://www.adafruit.com/product/757 https://www.adafruit.com/product/757
(This is just where I got these components, there are many other places you (This is just where I got these components, there are many other places you
can get similar things). can get similar things).
The CEC pin of the HDMI connector needs to be connected to these pins: The ground pin of the HDMI connector needs to be connected to a ground
CE0/IO8 and CE1/IO7 (pull-up GPIOs). The (optional) HPD pin of the HDMI pin of the Raspberry Pi, of course.
connector should be connected (via a level shifter to convert the 5V
to 3.3V) to these pins: IO17 and IO27. The (optional) 5V pin of the HDMI
connector should be connected (via a level shifter) to these pins: IO22
and IO24. Monitoring the HPD an 5V lines is not necessary, but it is helpful.
This kernel patch will hook up the cec-gpio driver correctly to The CEC pin of the HDMI connector needs to be connected to these pins:
e.g. ``arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts``:: GPIO 6 and GPIO 7. The optional HPD pin of the HDMI connector should
be connected via the level shifter to these pins: GPIO 23 and GPIO 12.
The optional 5V pin of the HDMI connector should be connected via the
level shifter to these pins: GPIO 25 and GPIO 22. Monitoring the HPD and
5V lines is not necessary, but it is helpful.
This device tree addition in ``arch/arm/boot/dts/bcm2711-rpi-4-b.dts``
will hook up the cec-gpio driver correctly::
cec@6 {
compatible = "cec-gpio";
cec-gpios = <&gpio 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
hpd-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
v5-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
};
cec@7 { cec@7 {
compatible = "cec-gpio"; compatible = "cec-gpio";
cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; hpd-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
}; };
cec@8 { If you haven't hooked up the HPD and/or 5V lines, then just delete those
compatible = "cec-gpio"; lines.
cec-gpios = <&gpio 8 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
hpd-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
v5-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
};
This dts change will enable two cec GPIO devices: I typically use one to This dts change will enable two cec GPIO devices: I typically use one to
send/receive CEC commands and the other to monitor. If you monitor using send/receive CEC commands and the other to monitor. If you monitor using
an unconfigured CEC adapter then it will use GPIO interrupts which makes an unconfigured CEC adapter then it will use GPIO interrupts which makes
monitoring very accurate. monitoring very accurate.
If you just want to monitor traffic, then a single instance is sufficient.
The minimum configuration is one HDMI female-female passthrough connector
and two female-female breadboard wires: one for connecting the HDMI ground
pin to a ground pin on the Raspberry Pi, and the other to connect the HDMI
CEC pin to GPIO 6 on the Raspberry Pi.
The documentation on how to use the error injection is here: :ref:`cec_pin_error_inj`. The documentation on how to use the error injection is here: :ref:`cec_pin_error_inj`.
``cec-ctl --monitor-pin`` will do low-level CEC bus sniffing and analysis. ``cec-ctl --monitor-pin`` will do low-level CEC bus sniffing and analysis.

View file

@ -72,17 +72,13 @@ imx319 Sony IMX319 sensor
imx334 Sony IMX334 sensor imx334 Sony IMX334 sensor
imx355 Sony IMX355 sensor imx355 Sony IMX355 sensor
imx412 Sony IMX412 sensor imx412 Sony IMX412 sensor
m5mols Fujitsu M-5MOLS 8MP sensor
mt9m001 mt9m001 mt9m001 mt9m001
mt9m032 MT9M032 camera sensor
mt9m111 mt9m111, mt9m112 and mt9m131 mt9m111 mt9m111, mt9m112 and mt9m131
mt9p031 Aptina MT9P031 mt9p031 Aptina MT9P031
mt9t001 Aptina MT9T001
mt9t112 Aptina MT9T111/MT9T112 mt9t112 Aptina MT9T111/MT9T112
mt9v011 Micron mt9v011 sensor mt9v011 Micron mt9v011 sensor
mt9v032 Micron MT9V032 sensor mt9v032 Micron MT9V032 sensor
mt9v111 Aptina MT9V111 sensor mt9v111 Aptina MT9V111 sensor
noon010pc30 Siliconfile NOON010PC30 sensor
ov13858 OmniVision OV13858 sensor ov13858 OmniVision OV13858 sensor
ov13b10 OmniVision OV13B10 sensor ov13b10 OmniVision OV13B10 sensor
ov2640 OmniVision OV2640 sensor ov2640 OmniVision OV2640 sensor
@ -109,9 +105,6 @@ s5c73m3 Samsung S5C73M3 sensor
s5k4ecgx Samsung S5K4ECGX sensor s5k4ecgx Samsung S5K4ECGX sensor
s5k5baf Samsung S5K5BAF sensor s5k5baf Samsung S5K5BAF sensor
s5k6a3 Samsung S5K6A3 sensor s5k6a3 Samsung S5K6A3 sensor
s5k6aa Samsung S5K6AAFX sensor
sr030pc30 Siliconfile SR030PC30 sensor
vs6624 ST VS6624 sensor
============ ========================================================== ============ ==========================================================
Flash devices Flash devices
@ -222,7 +215,6 @@ Video encoders
============ ========================================================== ============ ==========================================================
Driver Name Driver Name
============ ========================================================== ============ ==========================================================
ad9389b Analog Devices AD9389B encoder
adv7170 Analog Devices ADV7170 video encoder adv7170 Analog Devices ADV7170 video encoder
adv7175 Analog Devices ADV7175 video encoder adv7175 Analog Devices ADV7175 video encoder
adv7343 ADV7343 video encoder adv7343 ADV7343 video encoder

View file

@ -20,7 +20,7 @@ content which can be replaced by a single write-protected page (which
is automatically copied if a process later wants to update its is automatically copied if a process later wants to update its
content). The amount of pages that KSM daemon scans in a single pass content). The amount of pages that KSM daemon scans in a single pass
and the time between the passes are configured using :ref:`sysfs and the time between the passes are configured using :ref:`sysfs
intraface <ksm_sysfs>` interface <ksm_sysfs>`
KSM only merges anonymous (private) pages, never pagecache (file) pages. KSM only merges anonymous (private) pages, never pagecache (file) pages.
KSM's merged pages were originally locked into kernel memory, but can now KSM's merged pages were originally locked into kernel memory, but can now
@ -157,6 +157,8 @@ stable_node_chains_prune_millisecs
The effectiveness of KSM and MADV_MERGEABLE is shown in ``/sys/kernel/mm/ksm/``: The effectiveness of KSM and MADV_MERGEABLE is shown in ``/sys/kernel/mm/ksm/``:
general_profit
how effective is KSM. The calculation is explained below.
pages_shared pages_shared
how many shared pages are being used how many shared pages are being used
pages_sharing pages_sharing
@ -207,7 +209,8 @@ several times, which are unprofitable memory consumed.
ksm_rmap_items * sizeof(rmap_item). ksm_rmap_items * sizeof(rmap_item).
where ksm_merging_pages is shown under the directory ``/proc/<pid>/``, where ksm_merging_pages is shown under the directory ``/proc/<pid>/``,
and ksm_rmap_items is shown in ``/proc/<pid>/ksm_stat``. and ksm_rmap_items is shown in ``/proc/<pid>/ksm_stat``. The process profit
is also shown in ``/proc/<pid>/ksm_stat`` as ksm_process_profit.
From the perspective of application, a high ratio of ``ksm_rmap_items`` to From the perspective of application, a high ratio of ``ksm_rmap_items`` to
``ksm_merging_pages`` means a bad madvise-applied policy, so developers or ``ksm_merging_pages`` means a bad madvise-applied policy, so developers or

View file

@ -91,9 +91,9 @@ Short descriptions to the page flags
The page is being locked for exclusive access, e.g. by undergoing read/write The page is being locked for exclusive access, e.g. by undergoing read/write
IO. IO.
7 - SLAB 7 - SLAB
The page is managed by the SLAB/SLOB/SLUB/SLQB kernel memory allocator. The page is managed by the SLAB/SLUB kernel memory allocator.
When compound page is used, SLUB/SLQB will only set this flag on the head When compound page is used, either will only set this flag on the head
page; SLOB will not flag it at all. page.
10 - BUDDY 10 - BUDDY
A free memory block managed by the buddy system allocator. A free memory block managed by the buddy system allocator.
The buddy system organizes free memory in blocks of various orders. The buddy system organizes free memory in blocks of various orders.

View file

@ -219,6 +219,31 @@ former will have ``UFFD_PAGEFAULT_FLAG_WP`` set, the latter
you still need to supply a page when ``UFFDIO_REGISTER_MODE_MISSING`` was you still need to supply a page when ``UFFDIO_REGISTER_MODE_MISSING`` was
used. used.
Userfaultfd write-protect mode currently behave differently on none ptes
(when e.g. page is missing) over different types of memories.
For anonymous memory, ``ioctl(UFFDIO_WRITEPROTECT)`` will ignore none ptes
(e.g. when pages are missing and not populated). For file-backed memories
like shmem and hugetlbfs, none ptes will be write protected just like a
present pte. In other words, there will be a userfaultfd write fault
message generated when writing to a missing page on file typed memories,
as long as the page range was write-protected before. Such a message will
not be generated on anonymous memories by default.
If the application wants to be able to write protect none ptes on anonymous
memory, one can pre-populate the memory with e.g. MADV_POPULATE_READ. On
newer kernels, one can also detect the feature UFFD_FEATURE_WP_UNPOPULATED
and set the feature bit in advance to make sure none ptes will also be
write protected even upon anonymous memory.
When using ``UFFDIO_REGISTER_MODE_WP`` in combination with either
``UFFDIO_REGISTER_MODE_MISSING`` or ``UFFDIO_REGISTER_MODE_MINOR``, when
resolving missing / minor faults with ``UFFDIO_COPY`` or ``UFFDIO_CONTINUE``
respectively, it may be desirable for the new page / mapping to be
write-protected (so future writes will also result in a WP fault). These ioctls
support a mode flag (``UFFDIO_COPY_MODE_WP`` or ``UFFDIO_CONTINUE_MODE_WP``
respectively) to configure the mapping this way.
QEMU/KVM QEMU/KVM
======== ========

View file

@ -303,13 +303,18 @@ efficiency frequency management method on AMD processors.
AMD Pstate Driver Operation Modes AMD Pstate Driver Operation Modes
================================= =================================
``amd_pstate`` CPPC has two operation modes: CPPC Autonomous(active) mode and ``amd_pstate`` CPPC has 3 operation modes: autonomous (active) mode,
CPPC non-autonomous(passive) mode. non-autonomous (passive) mode and guided autonomous (guided) mode.
active mode and passive mode can be chosen by different kernel parameters. Active/passive/guided mode can be chosen by different kernel parameters.
When in Autonomous mode, CPPC ignores requests done in the Desired Performance
Target register and takes into account only the values set to the Minimum requested - In autonomous mode, platform ignores the desired performance level request
performance, Maximum requested performance, and Energy Performance Preference and takes into account only the values set to the minimum, maximum and energy
registers. When Autonomous is disabled, it only considers the Desired Performance Target. performance preference registers.
- In non-autonomous mode, platform gets desired performance level
from OS directly through Desired Performance Register.
- In guided-autonomous mode, platform sets operating performance level
autonomously according to the current workload and within the limits set by
OS through min and max performance registers.
Active Mode Active Mode
------------ ------------
@ -338,6 +343,15 @@ to the Performance Reduction Tolerance register. Above the nominal performance l
processor must provide at least nominal performance requested and go higher if current processor must provide at least nominal performance requested and go higher if current
operating conditions allow. operating conditions allow.
Guided Mode
-----------
``amd_pstate=guided``
If ``amd_pstate=guided`` is passed to kernel command line option then this mode
is activated. In this mode, driver requests minimum and maximum performance
level and the platform autonomously selects a performance level in this range
and appropriate to the current workload.
User Space Interface in ``sysfs`` - General User Space Interface in ``sysfs`` - General
=========================================== ===========================================
@ -358,6 +372,9 @@ control its functionality at the system level. They are located in the
"passive" "passive"
The driver is functional and in the ``passive mode`` The driver is functional and in the ``passive mode``
"guided"
The driver is functional and in the ``guided mode``
"disable" "disable"
The driver is unregistered and not functional now. The driver is unregistered and not functional now.

File diff suppressed because it is too large Load diff

View file

@ -199,7 +199,7 @@ Architecture (MCA)\ [#f3]_.
mode). mode).
.. [#f3] For more details about the Machine Check Architecture (MCA), .. [#f3] For more details about the Machine Check Architecture (MCA),
please read Documentation/x86/x86_64/machinecheck.rst at the Kernel tree. please read Documentation/arch/x86/x86_64/machinecheck.rst at the Kernel tree.
EDAC - Error Detection And Correction EDAC - Error Detection And Correction
************************************* *************************************

View file

@ -395,7 +395,7 @@ might want to be aware of; it for example explains how to add your issue to the
list of tracked regressions, to ensure it won't fall through the cracks. list of tracked regressions, to ensure it won't fall through the cracks.
What qualifies as security issue is left to your judgment. Consider reading What qualifies as security issue is left to your judgment. Consider reading
Documentation/admin-guide/security-bugs.rst before proceeding, as it Documentation/process/security-bugs.rst before proceeding, as it
provides additional details how to best handle security issues. provides additional details how to best handle security issues.
An issue is a 'really severe problem' when something totally unacceptably bad An issue is a 'really severe problem' when something totally unacceptably bad
@ -1269,7 +1269,7 @@ them when sending the report by mail. If you filed it in a bug tracker, forward
the report's text to these addresses; but on top of it put a small note where the report's text to these addresses; but on top of it put a small note where
you mention that you filed it with a link to the ticket. you mention that you filed it with a link to the ticket.
See Documentation/admin-guide/security-bugs.rst for more information. See Documentation/process/security-bugs.rst for more information.
Duties after the report went out Duties after the report went out

View file

@ -33,8 +33,11 @@ The format of this option is::
9600n8. The maximum baudrate is 115200. 9600n8. The maximum baudrate is 115200.
You can specify multiple console= options on the kernel command line. You can specify multiple console= options on the kernel command line.
Output will appear on all of them. The last device will be used when
you open ``/dev/console``. So, for example:: The behavior is well defined when each device type is mentioned only once.
In this case, the output will appear on all requested consoles. And
the last device will be used when you open ``/dev/console``.
So, for example::
console=ttyS1,9600 console=tty0 console=ttyS1,9600 console=tty0
@ -42,7 +45,34 @@ defines that opening ``/dev/console`` will get you the current foreground
virtual console, and kernel messages will appear on both the VGA virtual console, and kernel messages will appear on both the VGA
console and the 2nd serial port (ttyS1 or COM2) at 9600 baud. console and the 2nd serial port (ttyS1 or COM2) at 9600 baud.
Note that you can only define one console per device type (serial, video). The behavior is more complicated when the same device type is defined more
times. In this case, there are the following two rules:
1. The output will appear only on the first device of each defined type.
2. ``/dev/console`` will be associated with the first registered device.
Where the registration order depends on how kernel initializes various
subsystems.
This rule is used also when the last console= parameter is not used
for other reasons. For example, because of a typo or because
the hardware is not available.
The result might be surprising. For example, the following two command
lines have the same result:
console=ttyS1,9600 console=tty0 console=tty1
console=tty0 console=ttyS1,9600 console=tty1
The kernel messages are printed only on ``tty0`` and ``ttyS1``. And
``/dev/console`` gets associated with ``tty0``. It is because kernel
tries to register graphical consoles before serial ones. It does it
because of the default behavior when no console device is specified,
see below.
Note that the last ``console=tty1`` parameter still makes a difference.
The kernel command line is used also by systemd. It would use the last
defined ``tty1`` as the login console.
If no console device is specified, the first device found capable of If no console device is specified, the first device found capable of
acting as a system console will be used. At this time, the system acting as a system console will be used. At this time, the system

View file

@ -73,6 +73,10 @@ thread-wide, without the need to invoke the kernel directly. selector
can be set to SYSCALL_DISPATCH_FILTER_ALLOW or SYSCALL_DISPATCH_FILTER_BLOCK. can be set to SYSCALL_DISPATCH_FILTER_ALLOW or SYSCALL_DISPATCH_FILTER_BLOCK.
Any other value should terminate the program with a SIGSYS. Any other value should terminate the program with a SIGSYS.
Additionally, a tasks syscall user dispatch configuration can be peeked
and poked via the PTRACE_(GET|SET)_SYSCALL_USER_DISPATCH_CONFIG ptrace
requests. This is useful for checkpoint/restart software.
Security Notes Security Notes
-------------- --------------

View file

@ -95,7 +95,7 @@ is 0x15 and the full version number is 0x234, this file will contain
the value 340 = 0x154. the value 340 = 0x154.
See the ``type_of_loader`` and ``ext_loader_type`` fields in See the ``type_of_loader`` and ``ext_loader_type`` fields in
Documentation/x86/boot.rst for additional information. Documentation/arch/x86/boot.rst for additional information.
bootloader_version (x86 only) bootloader_version (x86 only)
@ -105,7 +105,7 @@ The complete bootloader version number. In the example above, this
file will contain the value 564 = 0x234. file will contain the value 564 = 0x234.
See the ``type_of_loader`` and ``ext_loader_ver`` fields in See the ``type_of_loader`` and ``ext_loader_ver`` fields in
Documentation/x86/boot.rst for additional information. Documentation/arch/x86/boot.rst for additional information.
bpf_stats_enabled bpf_stats_enabled

View file

@ -3,11 +3,10 @@ Unicode support
Last update: 2005-01-17, version 1.4 Last update: 2005-01-17, version 1.4
This file is maintained by H. Peter Anvin <unicode@lanana.org> as part Note: The original version of this document, which was maintained at
of the Linux Assigned Names And Numbers Authority (LANANA) project. lanana.org as part of the Linux Assigned Names And Numbers Authority
The current version can be found at: (LANANA) project, is no longer existent. So, this version in the
mainline Linux kernel is now the maintained main document.
http://www.lanana.org/docs/unicode/admin-guide/unicode.rst
Introduction Introduction
------------ ------------

View file

@ -236,13 +236,14 @@ the dates listed above.
Deprecated Mount Options Deprecated Mount Options
======================== ========================
=========================== ================ ============================ ================
Name Removal Schedule Name Removal Schedule
=========================== ================ ============================ ================
Mounting with V4 filesystem September 2030 Mounting with V4 filesystem September 2030
Mounting ascii-ci filesystem September 2030
ikeep/noikeep September 2025 ikeep/noikeep September 2025
attr2/noattr2 September 2025 attr2/noattr2 September 2025
=========================== ================ ============================ ================
Removed Mount Options Removed Mount Options

View file

@ -10,18 +10,18 @@ implementation.
:maxdepth: 2 :maxdepth: 2
arc/index arc/index
arm/index ../arm/index
arm64/index ../arm64/index
ia64/index ia64/index
loongarch/index ../loongarch/index
m68k/index m68k/index
mips/index ../mips/index
nios2/index nios2/index
openrisc/index openrisc/index
parisc/index parisc/index
powerpc/index ../powerpc/index
riscv/index ../riscv/index
s390/index ../s390/index
sh/index sh/index
sparc/index sparc/index
x86/index x86/index

Some files were not shown because too many files have changed in this diff Show more