3
0
mirror of https://github.com/Qortal/Brooklyn.git synced 2025-02-14 11:15:54 +00:00

Third batch going up...

unlike T3Q'sdick that goes left side
This commit is contained in:
Raziel K. Crowe 2022-03-15 21:10:27 +05:00
parent b48c9cc972
commit 0066cead04
3265 changed files with 87520 additions and 120593 deletions

View File

@ -6,7 +6,6 @@ Description:
Since Kernel 5.11, multiple buffers are supported. Since Kernel 5.11, multiple buffers are supported.
so, it is better to use, instead: so, it is better to use, instead:
/sys/bus/iio/devices/iio:deviceX/bufferY/length /sys/bus/iio/devices/iio:deviceX/bufferY/length
What: /sys/bus/iio/devices/iio:deviceX/buffer/enable What: /sys/bus/iio/devices/iio:deviceX/buffer/enable
@ -18,7 +17,6 @@ Description:
Since Kernel 5.11, multiple buffers are supported. Since Kernel 5.11, multiple buffers are supported.
so, it is better to use, instead: so, it is better to use, instead:
/sys/bus/iio/devices/iio:deviceX/bufferY/enable /sys/bus/iio/devices/iio:deviceX/bufferY/enable
What: /sys/bus/iio/devices/iio:deviceX/scan_elements What: /sys/bus/iio/devices/iio:deviceX/scan_elements
@ -167,7 +165,6 @@ Description:
Since Kernel 5.11, multiple buffers are supported. Since Kernel 5.11, multiple buffers are supported.
so, it is better to use, instead: so, it is better to use, instead:
/sys/bus/iio/devices/iio:deviceX/bufferY/watermark /sys/bus/iio/devices/iio:deviceX/bufferY/watermark
What: /sys/bus/iio/devices/iio:deviceX/buffer/data_available What: /sys/bus/iio/devices/iio:deviceX/buffer/data_available
@ -182,5 +179,4 @@ Description:
Since Kernel 5.11, multiple buffers are supported. Since Kernel 5.11, multiple buffers are supported.
so, it is better to use, instead: so, it is better to use, instead:
/sys/bus/iio/devices/iio:deviceX/bufferY/data_available /sys/bus/iio/devices/iio:deviceX/bufferY/data_available

View File

@ -1,4 +1,4 @@
What: /sys/fs/o2cb/ What: /sys/fs/o2cb/ (was /sys/o2cb)
Date: Dec 2005 Date: Dec 2005
KernelVersion: 2.6.16 KernelVersion: 2.6.16
Contact: ocfs2-devel@oss.oracle.com Contact: ocfs2-devel@oss.oracle.com

View File

@ -232,10 +232,10 @@ Description: The RoCE type of the associated GID resides at index <gid-index>.
or "RoCE v2" for RoCE v2 based GIDs. or "RoCE v2" for RoCE v2 based GIDs.
What: /sys/class/infiniband_mad/umad<N>/ibdev What: /sys/class/infiniband_mad/umadN/ibdev
What: /sys/class/infiniband_mad/umad<N>/port What: /sys/class/infiniband_mad/umadN/port
What: /sys/class/infiniband_mad/issm<N>/ibdev What: /sys/class/infiniband_mad/issmN/ibdev
What: /sys/class/infiniband_mad/issm<N>/port What: /sys/class/infiniband_mad/issmN/port
Date: Apr, 2005 Date: Apr, 2005
KernelVersion: v2.6.12 KernelVersion: v2.6.12
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -261,8 +261,8 @@ Description:
userspace ABI compatibility of umad & issm devices. userspace ABI compatibility of umad & issm devices.
What: /sys/class/infiniband_verbs/uverbs<N>/ibdev What: /sys/class/infiniband_verbs/uverbsN/ibdev
What: /sys/class/infiniband_verbs/uverbs<N>/abi_version What: /sys/class/infiniband_verbs/uverbsN/abi_version
Date: Sept, 2005 Date: Sept, 2005
KernelVersion: v2.6.14 KernelVersion: v2.6.14
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -471,7 +471,7 @@ Description:
=============== ====================================================== =============== ======================================================
What: /sys/class/infiniband/qibX/ports/<N>/sl2vl/[0-15] What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15]
Date: May, 2010 Date: May, 2010
KernelVersion: v2.6.35 KernelVersion: v2.6.35
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -480,8 +480,8 @@ Description:
the Service Level (SL). Listing the SL files returns the Virtual the Service Level (SL). Listing the SL files returns the Virtual
Lane (VL) as programmed by the SL. Lane (VL) as programmed by the SL.
What: /sys/class/infiniband/qibX/ports/<N>/CCMgtA/cc_settings_bin What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_settings_bin
What: /sys/class/infiniband/qibX/ports/<N>/CCMgtA/cc_table_bin What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_table_bin
Date: May, 2010 Date: May, 2010
KernelVersion: v2.6.35 KernelVersion: v2.6.35
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -499,11 +499,11 @@ Description:
delay. delay.
=============== ================================================ =============== ================================================
What: /sys/class/infiniband/qibX/ports/<N>/linkstate/loopback What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback
What: /sys/class/infiniband/qibX/ports/<N>/linkstate/led_override What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override
What: /sys/class/infiniband/qibX/ports/<N>/linkstate/hrtbt_enable What: /sys/class/infiniband/qibX/ports/N/linkstate/hrtbt_enable
What: /sys/class/infiniband/qibX/ports/<N>/linkstate/status What: /sys/class/infiniband/qibX/ports/N/linkstate/status
What: /sys/class/infiniband/qibX/ports/<N>/linkstate/status_str What: /sys/class/infiniband/qibX/ports/N/linkstate/status_str
Date: May, 2010 Date: May, 2010
KernelVersion: v2.6.35 KernelVersion: v2.6.35
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -523,16 +523,16 @@ Description:
"Fatal_Hardware_Error". "Fatal_Hardware_Error".
=============== =============================================== =============== ===============================================
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/rc_resends What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/seq_naks What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/rdma_seq What: /sys/class/infiniband/qibX/ports/N/diag_counters/rdma_seq
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/rnr_naks What: /sys/class/infiniband/qibX/ports/N/diag_counters/rnr_naks
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/other_naks What: /sys/class/infiniband/qibX/ports/N/diag_counters/other_naks
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/rc_timeouts What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/look_pkts What: /sys/class/infiniband/qibX/ports/N/diag_counters/look_pkts
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/pkt_drops What: /sys/class/infiniband/qibX/ports/N/diag_counters/pkt_drops
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/dma_wait What: /sys/class/infiniband/qibX/ports/N/diag_counters/dma_wait
What: /sys/class/infiniband/qibX/ports/<N>/diag_counters/unaligned What: /sys/class/infiniband/qibX/ports/N/diag_counters/unaligned
Date: May, 2010 Date: May, 2010
KernelVersion: v2.6.35 KernelVersion: v2.6.35
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -650,9 +650,9 @@ Description:
=============== ============================================= =============== =============================================
What: /sys/class/infiniband/hfi1_X/ports/<N>/CCMgtA/cc_settings_bin What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin
What: /sys/class/infiniband/hfi1_X/ports/<N>/CCMgtA/cc_table_bin What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_table_bin
What: /sys/class/infiniband/hfi1_X/ports/<N>/CCMgtA/cc_prescan What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_prescan
Date: May, 2016 Date: May, 2016
KernelVersion: v4.6 KernelVersion: v4.6
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -675,9 +675,9 @@ Description:
disable. disable.
=============== ================================================ =============== ================================================
What: /sys/class/infiniband/hfi1_X/ports/<N>/sc2vl/[0-31] What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31]
What: /sys/class/infiniband/hfi1_X/ports/<N>/sl2sc/[0-31] What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31]
What: /sys/class/infiniband/hfi1_X/ports/<N>/vl2mtu/[0-15] What: /sys/class/infiniband/hfi1_X/ports/N/vl2mtu/[0-15]
Date: May, 2016 Date: May, 2016
KernelVersion: v4.6 KernelVersion: v4.6
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org
@ -691,8 +691,8 @@ Description:
=============== =================================================== =============== ===================================================
What: /sys/class/infiniband/hfi1_X/sdma_<N>/cpu_list What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list
What: /sys/class/infiniband/hfi1_X/sdma_<N>/vl What: /sys/class/infiniband/hfi1_X/sdma_N/vl
Date: Sept, 2016 Date: Sept, 2016
KernelVersion: v4.8 KernelVersion: v4.8
Contact: linux-rdma@vger.kernel.org Contact: linux-rdma@vger.kernel.org

View File

@ -195,7 +195,7 @@ Description: The "tpm_version_major" property shows the TCG spec major version
2 2
What: /sys/class/tpm/tpmX/pcr-<H>/<N> What: /sys/class/tpm/tpmX/pcr-H/N
Date: March 2021 Date: March 2021
KernelVersion: 5.12 KernelVersion: 5.12
Contact: linux-integrity@vger.kernel.org Contact: linux-integrity@vger.kernel.org

View File

@ -23,10 +23,3 @@ Contact: Device Tree mailing list <devicetree@vger.kernel.org>
Description: Description:
If CONFIG_OF is enabled, then this file is present. When If CONFIG_OF is enabled, then this file is present. When
read, it returns full name of the device node. read, it returns full name of the device node.
What: /sys/devices/*/dev
Date: Jun 2006
Contact: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Description:
Major and minor numbers of the character device corresponding
to the device (in <major>:<minor> format).

View File

@ -176,9 +176,3 @@ Contact: Keith Busch <keith.busch@intel.com>
Description: Description:
The cache write policy: 0 for write-back, 1 for write-through, The cache write policy: 0 for write-back, 1 for write-through,
other or unknown. other or unknown.
What: /sys/devices/system/node/nodeX/x86/sgx_total_bytes
Date: November 2021
Contact: Jarkko Sakkinen <jarkko@kernel.org>
Description:
The total amount of SGX physical memory in bytes.

View File

@ -42,12 +42,6 @@ Description: the CPU core ID of cpuX. Typically it is the hardware platform's
architecture and platform dependent. architecture and platform dependent.
Values: integer Values: integer
What: /sys/devices/system/cpu/cpuX/topology/cluster_id
Description: the cluster ID of cpuX. Typically it is the hardware platform's
identifier (rather than the kernel's). The actual value is
architecture and platform dependent.
Values: integer
What: /sys/devices/system/cpu/cpuX/topology/book_id What: /sys/devices/system/cpu/cpuX/topology/book_id
Description: the book ID of cpuX. Typically it is the hardware platform's Description: the book ID of cpuX. Typically it is the hardware platform's
identifier (rather than the kernel's). The actual value is identifier (rather than the kernel's). The actual value is
@ -91,15 +85,6 @@ Description: human-readable list of CPUs within the same die.
The format is like 0-3, 8-11, 14,17. The format is like 0-3, 8-11, 14,17.
Values: decimal list. Values: decimal list.
What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus
Description: internal kernel map of CPUs within the same cluster.
Values: hexadecimal bitmask.
What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus_list
Description: human-readable list of CPUs within the same cluster.
The format is like 0-3, 8-11, 14,17.
Values: decimal list.
What: /sys/devices/system/cpu/cpuX/topology/book_siblings What: /sys/devices/system/cpu/cpuX/topology/book_siblings
Description: internal kernel map of cpuX's hardware threads within the same Description: internal kernel map of cpuX's hardware threads within the same
book_id. it's only used on s390. book_id. it's only used on s390.

View File

@ -41,14 +41,14 @@ KernelVersion: 5.6.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: The maximum number of groups can be created under this device. Description: The maximum number of groups can be created under this device.
What: /sys/bus/dsa/devices/dsa<m>/max_read_buffers What: /sys/bus/dsa/devices/dsa<m>/max_tokens
Date: Dec 10, 2021 Date: Oct 25, 2019
KernelVersion: 5.17.0 KernelVersion: 5.6.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: The total number of read buffers supported by this device. Description: The total number of bandwidth tokens supported by this device.
The read buffers represent resources within the DSA The bandwidth tokens represent resources within the DSA
implementation, and these resources are allocated by engines to implementation, and these resources are allocated by engines to
support operations. See DSA spec v1.2 9.2.4 Total Read Buffers. support operations.
What: /sys/bus/dsa/devices/dsa<m>/max_transfer_size What: /sys/bus/dsa/devices/dsa<m>/max_transfer_size
Date: Oct 25, 2019 Date: Oct 25, 2019
@ -115,13 +115,13 @@ KernelVersion: 5.6.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: To indicate if this device is configurable or not. Description: To indicate if this device is configurable or not.
What: /sys/bus/dsa/devices/dsa<m>/read_buffer_limit What: /sys/bus/dsa/devices/dsa<m>/token_limit
Date: Dec 10, 2021 Date: Oct 25, 2019
KernelVersion: 5.17.0 KernelVersion: 5.6.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: The maximum number of read buffers that may be in use at Description: The maximum number of bandwidth tokens that may be in use at
one time by operations that access low bandwidth memory in the one time by operations that access low bandwidth memory in the
device. See DSA spec v1.2 9.2.8 GENCFG on Global Read Buffer Limit. device.
What: /sys/bus/dsa/devices/dsa<m>/cmd_status What: /sys/bus/dsa/devices/dsa<m>/cmd_status
Date: Aug 28, 2020 Date: Aug 28, 2020
@ -220,38 +220,8 @@ Contact: dmaengine@vger.kernel.org
Description: Show the current number of entries in this WQ if WQ Occupancy Description: Show the current number of entries in this WQ if WQ Occupancy
Support bit WQ capabilities is 1. Support bit WQ capabilities is 1.
What: /sys/bus/dsa/devices/wq<m>.<n>/enqcmds_retries
Date Oct 29, 2021
KernelVersion: 5.17.0
Contact: dmaengine@vger.kernel.org
Description: Indicate the number of retires for an enqcmds submission on a sharedwq.
A max value to set attribute is capped at 64.
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
Date: Oct 25, 2019 Date: Oct 25, 2019
KernelVersion: 5.6.0 KernelVersion: 5.6.0
Contact: dmaengine@vger.kernel.org Contact: dmaengine@vger.kernel.org
Description: The group that this engine belongs to. Description: The group that this engine belongs to.
What: /sys/bus/dsa/devices/group<m>.<n>/use_read_buffer_limit
Date: Dec 10, 2021
KernelVersion: 5.17.0
Contact: dmaengine@vger.kernel.org
Description: Enable the use of global read buffer limit for the group. See DSA
spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit.
What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_allowed
Date: Dec 10, 2021
KernelVersion: 5.17.0
Contact: dmaengine@vger.kernel.org
Description: Indicates max number of read buffers that may be in use at one time
by all engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read
Buffers Allowed.
What: /sys/bus/dsa/devices/group<m>.<n>/read_buffers_reserved
Date: Dec 10, 2021
KernelVersion: 5.17.0
Contact: dmaengine@vger.kernel.org
Description: Indicates the number of Read Buffers reserved for the use of
engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read Buffers
Reserved.

View File

@ -223,247 +223,3 @@ Description: These files show with which CPLD part numbers and minor
system. system.
The files are read only. The files are read only.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_active_image
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_auth_fail
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_upgrade_fail
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: The files represent BIOS statuses:
bios_active_image: location of current active BIOS image:
0: Top, 1: Bottom.
The reported value should correspond to value expected by OS
in case of BIOS safe mode is 0. This bit is related to Intel
top-swap feature of DualBios on the same flash.
bios_auth_fail: BIOS upgrade is failed because provided BIOS
image is not signed correctly.
bios_upgrade_fail: BIOS upgrade is failed by some other
reason not because authentication. For example due to
physical SPI flash problem.
The files are read only.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_enable
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_enable
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files allow line cards enable state control.
Expected behavior:
When lc{n}_enable is written 1, related line card is released
from the reset state, when 0 - is hold in reset state.
The files are read/write.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_pwr
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_pwr
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files switching line cards power on and off.
Expected behavior:
When lc{n}_pwr is written 1, related line card is powered
on, when written 0 - powered off.
The files are read/write.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_rst_mask
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_rst_mask
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files clear line card reset bit enforced by ASIC, when it
sets it due to some abnormal ASIC behavior.
Expected behavior:
When lc{n}_rst_mask is written 1, related line card reset bit
is cleared, when written 0 - no effect.
The files are write only.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/os_started
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file, when written 1, indicates to programmable devices
that OS is taking control over it.
The file is read/write.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pm_mgmt_en
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file assigns power management control ownership.
When power management control is provided by hardware, hardware
will automatically power off one or more line previously
powered line cards in case system power budget is getting
insufficient. It could be in case when some of power units lost
power good state.
When pm_mgmt_en is written 1, power management control by
software is enabled, 0 - power management control by hardware.
Note that for any setting of pm_mgmt_en attribute hardware will
not allow to power on any new line card in case system power
budget is insufficient.
Same in case software will try to power on several line cards
at once - hardware will power line cards while system has
enough power budget.
Default is 0.
The file is read/write.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu3_on
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu4_on
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files switching power supply units on and off.
Expected behavior:
When psu3_on or psu4_on is written 1, related unit will be
disconnected from the power source, when written 0 - connected.
The files are write only.
What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/shutdown_unlock
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file allows to unlock ASIC after thermal shutdown event.
When system thermal shutdown is enforced by ASIC, ASIC is
getting locked and after system boot it will not be available.
Software can decide to unlock it by setting this attribute to
1 and then perform system power cycle by setting pwr_cycle
attribute to 1 (power cycle of main power domain).
Before setting shutdown_unlock to 1 it is recommended to
validate that system reboot cause is reset_asic_thermal or
reset_thermal_spc_or_pciesw.
In case shutdown_unlock is not set 1, the only way to release
ASIC from locking - is full system power cycle through the
external power distribution unit.
Default is 1.
The file is read/write.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_pn
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version_min
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files show with which CPLD major and minor versions
and part number has been burned CPLD device on line card.
The files are read only.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_pn
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version_min
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files show with which FPGA major and minor versions
and part number has been burned FPGA device on line card.
The files are read only.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/vpd_wp
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: This file allow to overwrite line card VPD hardware write
protection mode. When attribute is set 1 - write protection is
disabled, when 0 - enabled.
Default is 0.
If the system is in locked-down mode writing this file will not
be allowed.
The purpose if this file is to allow line card VPD burning
during production flow.
The file is read/write.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_aux_pwr_or_ref
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_dc_dc_pwr_fail
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_fpga_not_done
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_from_chassis
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_line_card
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_pwr_off_from_chassis
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files show the line reset cause, as following: power
auxiliary outage or power refresh, DC-to-DC power failure, FPGA reset
failed, line card reset failed, power off from chassis.
Value 1 in file means this is reset cause, 0 - otherwise. Only one of
the above causes could be 1 at the same time, representing only last
reset cause.
The files are read only.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld_upgrade_en
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_upgrade_en
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files allow CPLD and FPGA burning. Value 1 in file means burning
is enabled, 0 - otherwise.
If the system is in locked-down mode writing these files will
not be allowed.
The purpose of these files to allow line card CPLD and FPGA
upgrade through the JTAG daisy-chain.
The files are read/write.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/qsfp_pwr_en
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/pwr_en
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files allow to power on/off all QSFP ports and whole line card.
The attributes are set 1 for power on, 0 - for power off.
The files are read/write.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/agb_spi_burn_en
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_spi_burn_en
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files allow gearboxes and FPGA SPI flash burning.
The attributes are set 1 to enable burning, 0 - to disable.
If the system is in locked-down mode writing these files will
not be allowed.
The purpose of these files to allow line card Gearboxes and FPGA
burning during production flow.
The file is read/write.
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/max_power
What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/config
Date: October 2021
KernelVersion: 5.16
Contact: Vadim Pasternak <vadimp@nvidia.com>
Description: These files provide the maximum powered required for line card
feeding and line card configuration Id.
The files are read only.

View File

@ -1,7 +1,8 @@
The /sys/module tree consists of the following structure: What: /sys/module
What: /sys/module/<MODULENAME>
Description: Description:
The /sys/module tree consists of the following structure:
/sys/module/MODULENAME
The name of the module that is in the kernel. This The name of the module that is in the kernel. This
module name will always show up if the module is loaded as a module name will always show up if the module is loaded as a
dynamic module. If it is built directly into the kernel, it dynamic module. If it is built directly into the kernel, it
@ -11,8 +12,7 @@ Description:
Note: The conditions of creation in the built-in case are not Note: The conditions of creation in the built-in case are not
by design and may be removed in the future. by design and may be removed in the future.
What: /sys/module/<MODULENAME>/parameters /sys/module/MODULENAME/parameters
Description:
This directory contains individual files that are each This directory contains individual files that are each
individual parameters of the module that are able to be individual parameters of the module that are able to be
changed at runtime. See the individual module changed at runtime. See the individual module
@ -25,23 +25,10 @@ Description:
individual driver documentation for details as to the individual driver documentation for details as to the
stability of the different parameters. stability of the different parameters.
What: /sys/module/<MODULENAME>/refcnt /sys/module/MODULENAME/refcnt
Description:
If the module is able to be unloaded from the kernel, this file If the module is able to be unloaded from the kernel, this file
will contain the current reference count of the module. will contain the current reference count of the module.
Note: If the module is built into the kernel, or if the Note: If the module is built into the kernel, or if the
CONFIG_MODULE_UNLOAD kernel configuration value is not enabled, CONFIG_MODULE_UNLOAD kernel configuration value is not enabled,
this file will not be present. this file will not be present.
What: /sys/module/<MODULENAME>/srcversion
Date: Jun 2005
Description:
If the module source has MODULE_VERSION, this file will contain
the checksum of the the source code.
What: /sys/module/<MODULENAME>/version
Date: Jun 2005
Description:
If the module source has MODULE_VERSION, this file will contain
the version of the source code.

View File

@ -4,29 +4,23 @@ KernelVersion: 4.14
Description: Description:
The attributes: The attributes:
===================== ======================================= ========== ===================================
c_chmask capture channel mask c_chmask capture channel mask
c_srate capture sampling rate c_srate capture sampling rate
c_ssize capture sample size (bytes) c_ssize capture sample size (bytes)
c_mute_present capture mute control enable c_mute_present capture mute control enable
c_volume_present capture volume control enable c_volume_present capture volume control enable
c_volume_min capture volume control min value c_volume_min capture volume control min value (in 1/256 dB)
(in 1/256 dB) c_volume_max capture volume control max value (in 1/256 dB)
c_volume_max capture volume control max value c_volume_res capture volume control resolution (in 1/256 dB)
(in 1/256 dB)
c_volume_res capture volume control resolution
(in 1/256 dB)
p_chmask playback channel mask p_chmask playback channel mask
p_srate playback sampling rate p_srate playback sampling rate
p_ssize playback sample size (bytes) p_ssize playback sample size (bytes)
p_mute_present playback mute control enable p_mute_present playback mute control enable
p_volume_present playback volume control enable p_volume_present playback volume control enable
p_volume_min playback volume control min value p_volume_min playback volume control min value (in 1/256 dB)
(in 1/256 dB) p_volume_max playback volume control max value (in 1/256 dB)
p_volume_max playback volume control max value p_volume_res playback volume control resolution (in 1/256 dB)
(in 1/256 dB) req_number the number of pre-allocated request
p_volume_res playback volume control resolution
(in 1/256 dB)
req_number the number of pre-allocated requests
for both capture and playback for both capture and playback
===================== ======================================= ========== ===================================

View File

@ -4,32 +4,23 @@ KernelVersion: 3.18
Description: Description:
The attributes: The attributes:
===================== ======================================= ========= ============================
c_chmask capture channel mask c_chmask capture channel mask
c_srate capture sampling rate c_srate capture sampling rate
c_ssize capture sample size (bytes) c_ssize capture sample size (bytes)
c_sync capture synchronization type c_sync capture synchronization type (async/adaptive)
(async/adaptive)
c_mute_present capture mute control enable c_mute_present capture mute control enable
c_volume_present capture volume control enable c_volume_present capture volume control enable
c_volume_min capture volume control min value c_volume_min capture volume control min value (in 1/256 dB)
(in 1/256 dB) c_volume_max capture volume control max value (in 1/256 dB)
c_volume_max capture volume control max value c_volume_res capture volume control resolution (in 1/256 dB)
(in 1/256 dB)
c_volume_res capture volume control resolution
(in 1/256 dB)
fb_max maximum extra bandwidth in async mode fb_max maximum extra bandwidth in async mode
p_chmask playback channel mask p_chmask playback channel mask
p_srate playback sampling rate p_srate playback sampling rate
p_ssize playback sample size (bytes) p_ssize playback sample size (bytes)
p_mute_present playback mute control enable p_mute_present playback mute control enable
p_volume_present playback volume control enable p_volume_present playback volume control enable
p_volume_min playback volume control min value p_volume_min playback volume control min value (in 1/256 dB)
(in 1/256 dB) p_volume_max playback volume control max value (in 1/256 dB)
p_volume_max playback volume control max value p_volume_res playback volume control resolution (in 1/256 dB)
(in 1/256 dB) ========= ============================
p_volume_res playback volume control resolution
(in 1/256 dB)
req_number the number of pre-allocated requests
for both capture and playback
===================== =======================================

View File

@ -155,13 +155,6 @@ Description: Triggers an I2C transaction that is generated by the device's
CPU. Writing to this file generates a write transaction while CPU. Writing to this file generates a write transaction while
reading from the file generates a read transaction reading from the file generates a read transaction
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_len
Date: Dec 2021
KernelVersion: 5.17
Contact: obitton@habana.ai
Description: Sets I2C length in bytes for I2C transaction that is generated by
the device's CPU
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
Date: Jan 2019 Date: Jan 2019
KernelVersion: 5.1 KernelVersion: 5.1
@ -240,12 +233,6 @@ Contact: ogabbay@kernel.org
Description: Sets the stop-on_error option for the device engines. Value of Description: Sets the stop-on_error option for the device engines. Value of
"0" is for disable, otherwise enable. "0" is for disable, otherwise enable.
What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
Date: Sep 2021
KernelVersion: 5.16
Contact: obitton@habana.ai
Description: Sets the command submission timeout value in seconds.
What: /sys/kernel/debug/habanalabs/hl<n>/userptr What: /sys/kernel/debug/habanalabs/hl<n>/userptr
Date: Jan 2019 Date: Jan 2019
KernelVersion: 5.1 KernelVersion: 5.1

View File

@ -1,5 +1,4 @@
What: /sys/kernel/security/evm What: security/evm
What: /sys/kernel/security/*/evm
Date: March 2011 Date: March 2011
Contact: Mimi Zohar <zohar@us.ibm.com> Contact: Mimi Zohar <zohar@us.ibm.com>
Description: Description:
@ -94,7 +93,7 @@ Description:
core/ima-setup) have support for loading keys at boot core/ima-setup) have support for loading keys at boot
time. time.
What: /sys/kernel/security/*/evm/evm_xattrs What: security/integrity/evm/evm_xattrs
Date: April 2018 Date: April 2018
Contact: Matthew Garrett <mjg59@google.com> Contact: Matthew Garrett <mjg59@google.com>
Description: Description:

View File

@ -1,4 +1,4 @@
What: /sys/kernel/security/*/ima/policy What: security/ima/policy
Date: May 2008 Date: May 2008
Contact: Mimi Zohar <zohar@us.ibm.com> Contact: Mimi Zohar <zohar@us.ibm.com>
Description: Description:
@ -22,9 +22,8 @@ Description:
action: measure | dont_measure | appraise | dont_appraise | action: measure | dont_measure | appraise | dont_appraise |
audit | hash | dont_hash audit | hash | dont_hash
condition:= base | lsm [option] condition:= base | lsm [option]
base: [[func=] [mask=] [fsmagic=] [fsuuid=] [fsname=] base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=]
[uid=] [euid=] [gid=] [egid=] [euid=] [fowner=] [fsname=]]
[fowner=] [fgroup=]]
lsm: [[subj_user=] [subj_role=] [subj_type=] lsm: [[subj_user=] [subj_role=] [subj_type=]
[obj_user=] [obj_role=] [obj_type=]] [obj_user=] [obj_role=] [obj_type=]]
option: [[appraise_type=]] [template=] [permit_directio] option: [[appraise_type=]] [template=] [permit_directio]
@ -41,10 +40,7 @@ Description:
fsuuid:= file system UUID (e.g 8bcbe394-4f13-4144-be8e-5aa9ea2ce2f6) fsuuid:= file system UUID (e.g 8bcbe394-4f13-4144-be8e-5aa9ea2ce2f6)
uid:= decimal value uid:= decimal value
euid:= decimal value euid:= decimal value
gid:= decimal value
egid:= decimal value
fowner:= decimal value fowner:= decimal value
fgroup:= decimal value
lsm: are LSM specific lsm: are LSM specific
option: option:
appraise_type:= [imasig] [imasig|modsig] appraise_type:= [imasig] [imasig|modsig]

View File

@ -1,5 +1,4 @@
What: /sys/fs/pstore/... What: /sys/fs/pstore/... (or /dev/pstore/...)
What: /dev/pstore/...
Date: March 2011 Date: March 2011
KernelVersion: 2.6.39 KernelVersion: 2.6.39
Contact: tony.luck@intel.com Contact: tony.luck@intel.com

View File

@ -1,4 +1,4 @@
What: /sys/class/ata_* What: /sys/class/ata_...
Description: Description:
Provide a place in sysfs for storing the ATA topology of the Provide a place in sysfs for storing the ATA topology of the
system. This allows retrieving various information about ATA system. This allows retrieving various information about ATA

View File

@ -203,27 +203,6 @@ Description:
both edges: both edges:
Any state transition. Any state transition.
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/count_mode_component_id
What: /sys/bus/counter/devices/counterX/countY/direction_component_id
What: /sys/bus/counter/devices/counterX/countY/enable_component_id
What: /sys/bus/counter/devices/counterX/countY/error_noise_component_id
What: /sys/bus/counter/devices/counterX/countY/prescaler_component_id
What: /sys/bus/counter/devices/counterX/countY/preset_component_id
What: /sys/bus/counter/devices/counterX/countY/preset_enable_component_id
What: /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id
What: /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id
What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id
What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id
What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id
What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id
KernelVersion: 5.16
Contact: linux-iio@vger.kernel.org
Description:
Read-only attribute that indicates the component ID of the
respective extension or Synapse.
What: /sys/bus/counter/devices/counterX/countY/spike_filter_ns What: /sys/bus/counter/devices/counterX/countY/spike_filter_ns
KernelVersion: 5.14 KernelVersion: 5.14
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
@ -233,14 +212,6 @@ Description:
shorter or equal to configured value are ignored. Value 0 means shorter or equal to configured value are ignored. Value 0 means
filter is disabled. filter is disabled.
What: /sys/bus/counter/devices/counterX/events_queue_size
KernelVersion: 5.16
Contact: linux-iio@vger.kernel.org
Description:
Size of the Counter events queue in number of struct
counter_event data structures. The number of elements will be
rounded-up to a power of 2.
What: /sys/bus/counter/devices/counterX/name What: /sys/bus/counter/devices/counterX/name
KernelVersion: 5.2 KernelVersion: 5.2
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
@ -315,14 +286,7 @@ What: /sys/bus/counter/devices/counterX/signalY/signal
KernelVersion: 5.2 KernelVersion: 5.2
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
Signal level state of Signal Y. The following signal level Signal data of Signal Y represented as a string.
states are available:
low:
Low level state.
high:
High level state.
What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode
KernelVersion: 5.2 KernelVersion: 5.2

View File

@ -429,7 +429,6 @@ What: /sys/bus/iio/devices/iio:deviceX/in_angl_scale
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale
What: /sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale
What: /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale
KernelVersion: 2.6.35 KernelVersion: 2.6.35
Contact: linux-iio@vger.kernel.org Contact: linux-iio@vger.kernel.org
Description: Description:
@ -1958,44 +1957,3 @@ Description:
Specify the percent for light sensor relative to the channel Specify the percent for light sensor relative to the channel
absolute value that a data field should change before an event absolute value that a data field should change before an event
is generated. Units are a percentage of the prior reading. is generated. Units are a percentage of the prior reading.
What: /sys/bus/iio/devices/iio:deviceX/calibration_auto_enable
Date: June 2020
KernelVersion: 5.8
Contact: linux-iio@vger.kernel.org
Description:
Some sensors have the ability to apply auto calibration at
runtime. For example, it may be necessary to compensate for
contaminant build-up in a measurement chamber or optical
element deterioration that would otherwise lead to sensor drift.
Writing 1 or 0 to this attribute will respectively activate or
deactivate this auto calibration function.
Upon reading, the current status is returned.
What: /sys/bus/iio/devices/iio:deviceX/calibration_forced_value
Date: June 2020
KernelVersion: 5.8
Contact: linux-iio@vger.kernel.org
Description:
Some sensors have the ability to apply a manual calibration using
a known measurement value, perhaps obtained from an external
reference device.
Writing a value to this function will force such a calibration
change. For the scd30 the value should be from the range
[400 1 2000].
Note for the scd30 that a valid value may only be obtained once
it is has been written. Until then any read back of this value
should be ignored. As for the scd4x an error will be returned
immediately if the manual calibration has failed.
What: /sys/bus/iio/devices/iio:deviceX/calibration_forced_value_available
KernelVersion: 5.15
Contact: linux-iio@vger.kernel.org
Description:
Available range for the forced calibration value, expressed as:
- a range specified as "[min step max]"

View File

@ -1,5 +1,4 @@
What: /sys/bus/mdio_bus/devices/.../statistics/ What: /sys/bus/mdio_bus/devices/.../statistics/
What: /sys/class/mdio_bus/.../statistics/
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -8,7 +7,6 @@ Description:
MDIO bus address statistics. MDIO bus address statistics.
What: /sys/bus/mdio_bus/devices/.../statistics/transfers What: /sys/bus/mdio_bus/devices/.../statistics/transfers
What: /sys/class/mdio_bus/.../transfers
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -16,7 +14,6 @@ Description:
Total number of transfers for this MDIO bus. Total number of transfers for this MDIO bus.
What: /sys/bus/mdio_bus/devices/.../statistics/errors What: /sys/bus/mdio_bus/devices/.../statistics/errors
What: /sys/class/mdio_bus/.../statistics/errors
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -24,7 +21,6 @@ Description:
Total number of transfer errors for this MDIO bus. Total number of transfer errors for this MDIO bus.
What: /sys/bus/mdio_bus/devices/.../statistics/writes What: /sys/bus/mdio_bus/devices/.../statistics/writes
What: /sys/class/mdio_bus/.../statistics/writes
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -32,7 +28,6 @@ Description:
Total number of write transactions for this MDIO bus. Total number of write transactions for this MDIO bus.
What: /sys/bus/mdio_bus/devices/.../statistics/reads What: /sys/bus/mdio_bus/devices/.../statistics/reads
What: /sys/class/mdio_bus/.../statistics/reads
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -40,7 +35,6 @@ Description:
Total number of read transactions for this MDIO bus. Total number of read transactions for this MDIO bus.
What: /sys/bus/mdio_bus/devices/.../statistics/transfers_<addr> What: /sys/bus/mdio_bus/devices/.../statistics/transfers_<addr>
What: /sys/class/mdio_bus/.../statistics/transfers_<addr>
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -48,7 +42,6 @@ Description:
Total number of transfers for this MDIO bus address. Total number of transfers for this MDIO bus address.
What: /sys/bus/mdio_bus/devices/.../statistics/errors_<addr> What: /sys/bus/mdio_bus/devices/.../statistics/errors_<addr>
What: /sys/class/mdio_bus/.../statistics/errors_<addr>
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -56,7 +49,6 @@ Description:
Total number of transfer errors for this MDIO bus address. Total number of transfer errors for this MDIO bus address.
What: /sys/bus/mdio_bus/devices/.../statistics/writes_<addr> What: /sys/bus/mdio_bus/devices/.../statistics/writes_<addr>
What: /sys/class/mdio_bus/.../statistics/writes_<addr>
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org
@ -64,7 +56,6 @@ Description:
Total number of write transactions for this MDIO bus address. Total number of write transactions for this MDIO bus address.
What: /sys/bus/mdio_bus/devices/.../statistics/reads_<addr> What: /sys/bus/mdio_bus/devices/.../statistics/reads_<addr>
What: /sys/class/mdio_bus/.../statistics/reads_<addr>
Date: January 2020 Date: January 2020
KernelVersion: 5.6 KernelVersion: 5.6
Contact: netdev@vger.kernel.org Contact: netdev@vger.kernel.org

View File

@ -1,5 +1,4 @@
What: /sys/bus/pci/drivers/.../bind What: /sys/bus/pci/drivers/.../bind
What: /sys/devices/pciX/.../bind
Date: December 2003 Date: December 2003
Contact: linux-pci@vger.kernel.org Contact: linux-pci@vger.kernel.org
Description: Description:
@ -15,7 +14,6 @@ Description:
(Note: kernels before 2.6.28 may require echo -n). (Note: kernels before 2.6.28 may require echo -n).
What: /sys/bus/pci/drivers/.../unbind What: /sys/bus/pci/drivers/.../unbind
What: /sys/devices/pciX/.../unbind
Date: December 2003 Date: December 2003
Contact: linux-pci@vger.kernel.org Contact: linux-pci@vger.kernel.org
Description: Description:
@ -31,7 +29,6 @@ Description:
(Note: kernels before 2.6.28 may require echo -n). (Note: kernels before 2.6.28 may require echo -n).
What: /sys/bus/pci/drivers/.../new_id What: /sys/bus/pci/drivers/.../new_id
What: /sys/devices/pciX/.../new_id
Date: December 2003 Date: December 2003
Contact: linux-pci@vger.kernel.org Contact: linux-pci@vger.kernel.org
Description: Description:
@ -50,7 +47,6 @@ Description:
# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id
What: /sys/bus/pci/drivers/.../remove_id What: /sys/bus/pci/drivers/.../remove_id
What: /sys/devices/pciX/.../remove_id
Date: February 2009 Date: February 2009
Contact: Chris Wright <chrisw@sous-sol.org> Contact: Chris Wright <chrisw@sous-sol.org>
Description: Description:
@ -100,17 +96,6 @@ Description:
This attribute indicates the mode that the irq vector named by This attribute indicates the mode that the irq vector named by
the file is in (msi vs. msix) the file is in (msi vs. msix)
What: /sys/bus/pci/devices/.../irq
Date: August 2021
Contact: Linux PCI developers <linux-pci@vger.kernel.org>
Description:
If a driver has enabled MSI (not MSI-X), "irq" contains the
IRQ of the first MSI vector. Otherwise "irq" contains the
IRQ of the legacy INTx interrupt.
"irq" being set to 0 indicates that the device isn't
capable of generating legacy INTx interrupts.
What: /sys/bus/pci/devices/.../remove What: /sys/bus/pci/devices/.../remove
Date: January 2009 Date: January 2009
Contact: Linux PCI developers <linux-pci@vger.kernel.org> Contact: Linux PCI developers <linux-pci@vger.kernel.org>
@ -175,7 +160,7 @@ Description:
If the underlying VPD has a writable section then the If the underlying VPD has a writable section then the
corresponding section of this file will be writable. corresponding section of this file will be writable.
What: /sys/bus/pci/devices/.../virtfn<N> What: /sys/bus/pci/devices/.../virtfnN
Date: March 2009 Date: March 2009
Contact: Yu Zhao <yu.zhao@intel.com> Contact: Yu Zhao <yu.zhao@intel.com>
Description: Description:
@ -202,24 +187,6 @@ Description:
The symbolic link points to the PCI device sysfs entry of the The symbolic link points to the PCI device sysfs entry of the
Physical Function this device associates with. Physical Function this device associates with.
What: /sys/bus/pci/devices/.../modalias
Date: May 2005
Contact: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Description:
This attribute indicates the PCI ID of the device object.
That is in the format:
pci:vXXXXXXXXdXXXXXXXXsvXXXXXXXXsdXXXXXXXXbcXXscXXiXX,
where:
- vXXXXXXXX contains the vendor ID;
- dXXXXXXXX contains the device ID;
- svXXXXXXXX contains the sub-vendor ID;
- sdXXXXXXXX contains the subsystem device ID;
- bcXX contains the device class;
- scXX contains the device subclass;
- iXX contains the device class programming interface.
What: /sys/bus/pci/slots/.../module What: /sys/bus/pci/slots/.../module
Date: June 2009 Date: June 2009
Contact: linux-pci@vger.kernel.org Contact: linux-pci@vger.kernel.org

View File

@ -42,15 +42,3 @@ Date: August 2021
Contact: Barry Song <song.bao.hua@hisilicon.com> Contact: Barry Song <song.bao.hua@hisilicon.com>
Description: Description:
This attribute will show "msi" if <N> is a valid msi irq This attribute will show "msi" if <N> is a valid msi irq
What: /sys/bus/platform/devices/.../modalias
Description:
Same as MODALIAS in the uevent at device creation.
A platform device that it is exposed via devicetree uses:
- of:N`of node name`T`type`
Other platform devices use, instead:
- platform:`driver name`

View File

@ -1,4 +1,4 @@
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii> What: /sys/bus/rapidio/devices/nn:d:iiii
Description: Description:
For each RapidIO device, the RapidIO subsystem creates files in For each RapidIO device, the RapidIO subsystem creates files in
an individual subdirectory with the following name format of an individual subdirectory with the following name format of
@ -29,7 +29,7 @@ Description:
Attributes Common for All RapidIO Devices Attributes Common for All RapidIO Devices
----------------------------------------- -----------------------------------------
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/did What: /sys/bus/rapidio/devices/nn:d:iiii/did
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -37,7 +37,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) returns the device identifier (RO) returns the device identifier
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/vid What: /sys/bus/rapidio/devices/nn:d:iiii/vid
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -45,7 +45,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) returns the device vendor identifier (RO) returns the device vendor identifier
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/device_rev What: /sys/bus/rapidio/devices/nn:d:iiii/device_rev
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -53,7 +53,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) returns the device revision level (RO) returns the device revision level
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_did What: /sys/bus/rapidio/devices/nn:d:iiii/asm_did
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -61,7 +61,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) returns identifier for the assembly containing the device (RO) returns identifier for the assembly containing the device
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_rev What: /sys/bus/rapidio/devices/nn:d:iiii/asm_rev
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -70,7 +70,7 @@ Description:
(RO) returns revision level of the assembly containing the (RO) returns revision level of the assembly containing the
device device
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/asm_vid What: /sys/bus/rapidio/devices/nn:d:iiii/asm_vid
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -79,7 +79,7 @@ Description:
(RO) returns vendor identifier of the assembly containing the (RO) returns vendor identifier of the assembly containing the
device device
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/destid What: /sys/bus/rapidio/devices/nn:d:iiii/destid
Date: Mar, 2011 Date: Mar, 2011
KernelVersion: v2.6.3 KernelVersion: v2.6.3
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -88,7 +88,7 @@ Description:
(RO) returns device destination ID assigned by the enumeration (RO) returns device destination ID assigned by the enumeration
routine routine
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/lprev What: /sys/bus/rapidio/devices/nn:d:iiii/lprev
Date: Mar, 2011 Date: Mar, 2011
KernelVersion: v2.6.39 KernelVersion: v2.6.39
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -97,7 +97,7 @@ Description:
(RO) returns name of previous device (switch) on the path to the (RO) returns name of previous device (switch) on the path to the
device that that owns this attribute device that that owns this attribute
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/modalias What: /sys/bus/rapidio/devices/nn:d:iiii/modalias
Date: Jul, 2013 Date: Jul, 2013
KernelVersion: v3.11 KernelVersion: v3.11
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -105,7 +105,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) returns the device modalias (RO) returns the device modalias
What: /sys/bus/rapidio/devices/<nn>:<d>:<iiii>/config What: /sys/bus/rapidio/devices/nn:d:iiii/config
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -128,7 +128,7 @@ device-specific sysfs attributes by specifying a callback function that may be
set by the switch initialization routine during enumeration or discovery set by the switch initialization routine during enumeration or discovery
process. process.
What: /sys/bus/rapidio/devices/<nn>:<s>:<iiii>/routes What: /sys/bus/rapidio/devices/nn:s:iiii/routes
Date: Nov, 2005 Date: Nov, 2005
KernelVersion: v2.6.15 KernelVersion: v2.6.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -138,7 +138,7 @@ Description:
This attribute reports only valid routing table entries, one This attribute reports only valid routing table entries, one
line for each entry. line for each entry.
What: /sys/bus/rapidio/devices/<nn>:<s>:<iiii>/destid What: /sys/bus/rapidio/devices/nn:s:iiii/destid
Date: Mar, 2011 Date: Mar, 2011
KernelVersion: v2.6.3 KernelVersion: v2.6.3
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -147,7 +147,7 @@ Description:
(RO) device destination ID of the associated device that defines (RO) device destination ID of the associated device that defines
a route to the switch a route to the switch
What: /sys/bus/rapidio/devices/<nn>:<s>:<iiii>/hopcount What: /sys/bus/rapidio/devices/nn:s:iiii/hopcount
Date: Mar, 2011 Date: Mar, 2011
KernelVersion: v2.6.39 KernelVersion: v2.6.39
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -155,7 +155,7 @@ Contact: Matt Porter <mporter@kernel.crashing.org>,
Description: Description:
(RO) number of hops on the path to the switch (RO) number of hops on the path to the switch
What: /sys/bus/rapidio/devices/<nn>:<s>:<iiii>/lnext What: /sys/bus/rapidio/devices/nn:s:iiii/lnext
Date: Mar, 2011 Date: Mar, 2011
KernelVersion: v2.6.39 KernelVersion: v2.6.39
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -172,7 +172,7 @@ Device-specific Switch Attributes
IDT_GEN2- IDT_GEN2-
What: /sys/bus/rapidio/devices/<nn>:<s>:<iiii>/errlog What: /sys/bus/rapidio/devices/nn:s:iiii/errlog
Date: Oct, 2010 Date: Oct, 2010
KernelVersion: v2.6.37 KernelVersion: v2.6.37
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,

View File

@ -1,13 +1,13 @@
What: /sys/bus/soundwire/devices/sdw-master-<N>/revision What: /sys/bus/soundwire/devices/sdw-master-N/revision
/sys/bus/soundwire/devices/sdw-master-<N>/clk_stop_modes /sys/bus/soundwire/devices/sdw-master-N/clk_stop_modes
/sys/bus/soundwire/devices/sdw-master-<N>/clk_freq /sys/bus/soundwire/devices/sdw-master-N/clk_freq
/sys/bus/soundwire/devices/sdw-master-<N>/clk_gears /sys/bus/soundwire/devices/sdw-master-N/clk_gears
/sys/bus/soundwire/devices/sdw-master-<N>/default_col /sys/bus/soundwire/devices/sdw-master-N/default_col
/sys/bus/soundwire/devices/sdw-master-<N>/default_frame_rate /sys/bus/soundwire/devices/sdw-master-N/default_frame_rate
/sys/bus/soundwire/devices/sdw-master-<N>/default_row /sys/bus/soundwire/devices/sdw-master-N/default_row
/sys/bus/soundwire/devices/sdw-master-<N>/dynamic_shape /sys/bus/soundwire/devices/sdw-master-N/dynamic_shape
/sys/bus/soundwire/devices/sdw-master-<N>/err_threshold /sys/bus/soundwire/devices/sdw-master-N/err_threshold
/sys/bus/soundwire/devices/sdw-master-<N>/max_clk_freq /sys/bus/soundwire/devices/sdw-master-N/max_clk_freq
Date: April 2020 Date: April 2020

View File

@ -64,37 +64,37 @@ Description: SoundWire Slave Data Port-0 DisCo properties.
Data port 0 are used by the bus to configure the Data Port 0. Data port 0 are used by the bus to configure the Data Port 0.
What: /sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_word What: /sys/bus/soundwire/devices/sdw:.../dpN_src/max_word
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/min_word /sys/bus/soundwire/devices/sdw:.../dpN_src/min_word
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/words /sys/bus/soundwire/devices/sdw:.../dpN_src/words
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/type /sys/bus/soundwire/devices/sdw:.../dpN_src/type
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_grouping /sys/bus/soundwire/devices/sdw:.../dpN_src/max_grouping
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/simple_ch_prep_sm /sys/bus/soundwire/devices/sdw:.../dpN_src/simple_ch_prep_sm
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/ch_prep_timeout /sys/bus/soundwire/devices/sdw:.../dpN_src/ch_prep_timeout
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/imp_def_interrupts /sys/bus/soundwire/devices/sdw:.../dpN_src/imp_def_interrupts
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/min_ch /sys/bus/soundwire/devices/sdw:.../dpN_src/min_ch
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_ch /sys/bus/soundwire/devices/sdw:.../dpN_src/max_ch
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/channels /sys/bus/soundwire/devices/sdw:.../dpN_src/channels
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/ch_combinations /sys/bus/soundwire/devices/sdw:.../dpN_src/ch_combinations
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/max_async_buffer /sys/bus/soundwire/devices/sdw:.../dpN_src/max_async_buffer
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/block_pack_mode /sys/bus/soundwire/devices/sdw:.../dpN_src/block_pack_mode
/sys/bus/soundwire/devices/sdw:.../dp<N>_src/port_encoding /sys/bus/soundwire/devices/sdw:.../dpN_src/port_encoding
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_word /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_word
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/min_word /sys/bus/soundwire/devices/sdw:.../dpN_sink/min_word
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/words /sys/bus/soundwire/devices/sdw:.../dpN_sink/words
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/type /sys/bus/soundwire/devices/sdw:.../dpN_sink/type
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_grouping /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_grouping
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/simple_ch_prep_sm /sys/bus/soundwire/devices/sdw:.../dpN_sink/simple_ch_prep_sm
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/ch_prep_timeout /sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_prep_timeout
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/imp_def_interrupts /sys/bus/soundwire/devices/sdw:.../dpN_sink/imp_def_interrupts
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/min_ch /sys/bus/soundwire/devices/sdw:.../dpN_sink/min_ch
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_ch /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_ch
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/channels /sys/bus/soundwire/devices/sdw:.../dpN_sink/channels
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/ch_combinations /sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_combinations
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/max_async_buffer /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_async_buffer
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/block_pack_mode /sys/bus/soundwire/devices/sdw:.../dpN_sink/block_pack_mode
/sys/bus/soundwire/devices/sdw:.../dp<N>_sink/port_encoding /sys/bus/soundwire/devices/sdw:.../dpN_sink/port_encoding
Date: May 2020 Date: May 2020

View File

@ -1,4 +1,4 @@
What: /sys/bus/usb/devices/<INTERFACE>/authorized What: /sys/bus/usb/devices/INTERFACE/authorized
Date: August 2015 Date: August 2015
Description: Description:
This allows to authorize (1) or deauthorize (0) This allows to authorize (1) or deauthorize (0)
@ -166,14 +166,14 @@ 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/.../<hub_interface>/port<X> What: /sys/bus/usb/devices/.../(hub interface)/portX
Date: August 2012 Date: August 2012
Contact: Lan Tianyu <tianyu.lan@intel.com> Contact: Lan Tianyu <tianyu.lan@intel.com>
Description: Description:
The /sys/bus/usb/devices/.../<hub_interface>/port<X> The /sys/bus/usb/devices/.../(hub interface)/portX
is usb port device's sysfs directory. is usb port device's sysfs directory.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/connect_type What: /sys/bus/usb/devices/.../(hub interface)/portX/connect_type
Date: January 2013 Date: January 2013
Contact: Lan Tianyu <tianyu.lan@intel.com> Contact: Lan Tianyu <tianyu.lan@intel.com>
Description: Description:
@ -182,7 +182,7 @@ Description:
The file will read "hotplug", "hardwired" and "not used" if the The file will read "hotplug", "hardwired" and "not used" if the
information is available, and "unknown" otherwise. information is available, and "unknown" otherwise.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/location What: /sys/bus/usb/devices/.../(hub interface)/portX/location
Date: October 2018 Date: October 2018
Contact: Bjørn Mork <bjorn@mork.no> Contact: Bjørn Mork <bjorn@mork.no>
Description: Description:
@ -192,7 +192,7 @@ Description:
raw location value as a hex integer. raw location value as a hex integer.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/quirks What: /sys/bus/usb/devices/.../(hub interface)/portX/quirks
Date: May 2018 Date: May 2018
Contact: Nicolas Boichat <drinkcat@chromium.org> Contact: Nicolas Boichat <drinkcat@chromium.org>
Description: Description:
@ -216,7 +216,7 @@ Description:
used to help make enumeration work better on some high speed used to help make enumeration work better on some high speed
devices. devices.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/over_current_count What: /sys/bus/usb/devices/.../(hub interface)/portX/over_current_count
Date: February 2018 Date: February 2018
Contact: Richard Leitner <richard.leitner@skidata.com> Contact: Richard Leitner <richard.leitner@skidata.com>
Description: Description:
@ -230,10 +230,10 @@ Description:
Any time this value changes the corresponding hub device will send a Any time this value changes the corresponding hub device will send a
udev event with the following attributes:: udev event with the following attributes::
OVER_CURRENT_PORT=/sys/bus/usb/devices/.../<hub_interface>/port<X> OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX
OVER_CURRENT_COUNT=[current value of this sysfs attribute] OVER_CURRENT_COUNT=[current value of this sysfs attribute]
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/usb3_lpm_permit What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit
Date: November 2015 Date: November 2015
Contact: Lu Baolu <baolu.lu@linux.intel.com> Contact: Lu Baolu <baolu.lu@linux.intel.com>
Description: Description:
@ -244,15 +244,6 @@ Description:
is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and
u2 are permitted. u2 are permitted.
What: /sys/bus/usb/devices/.../<hub_interface>/port<X>/connector
Date: December 2021
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description:
Link to the USB Type-C connector when available. This link is
only created when USB Type-C Connector Class is enabled, and
only if the system firmware is capable of describing the
connection between a port and its connector.
What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
Date: May 2013 Date: May 2013
Contact: Mathias Nyman <mathias.nyman@linux.intel.com> Contact: Mathias Nyman <mathias.nyman@linux.intel.com>
@ -297,277 +288,3 @@ Description:
USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C. USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C.
Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
direction. Devices before USB 3.2 are single lane (tx_lanes = 1) direction. Devices before USB 3.2 are single lane (tx_lanes = 1)
What: /sys/bus/usb/devices/usbX/bAlternateSetting
Description:
The current interface alternate setting number, in decimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bcdDevice
Description:
The device's release number, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bConfigurationValue
Description:
While a USB device typically have just one configuration
setting, some devices support multiple configurations.
This value shows the current configuration, in decimal.
Changing its value will change the device's configuration
to another setting.
The number of configurations supported by a device is at:
/sys/bus/usb/devices/usbX/bNumConfigurations
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bDeviceClass
Description:
Class code of the device, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bDeviceProtocol
Description:
Protocol code of the device, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bDeviceSubClass
Description:
Subclass code of the device, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bInterfaceClass
Description:
Class code of the interface, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bInterfaceNumber
Description:
Interface number, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bInterfaceProtocol
Description:
Protocol code of the interface, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bInterfaceSubClass
Description:
Subclass code of the interface, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bmAttributes
Description:
Attributes of the current configuration, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bMaxPacketSize0
Description:
Maximum endpoint 0 packet size, in decimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bMaxPower
Description:
Maximum power consumption of the active configuration of
the device, in miliamperes.
What: /sys/bus/usb/devices/usbX/bNumConfigurations
Description:
Number of the possible configurations of the device, in
decimal. The current configuration is controlled via:
/sys/bus/usb/devices/usbX/bConfigurationValue
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bNumEndpoints
Description:
Number of endpoints used on this interface, in hexadecimal.
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/bNumInterfaces
Description:
Number of interfaces on this device, in decimal.
What: /sys/bus/usb/devices/usbX/busnum
Description:
Number of the bus.
What: /sys/bus/usb/devices/usbX/configuration
Description:
Contents of the string descriptor associated with the
current configuration. It may include the firmware version
of a device and/or its serial number.
What: /sys/bus/usb/devices/usbX/descriptors
Description:
Contains the interface descriptors, in binary.
What: /sys/bus/usb/devices/usbX/idProduct
Description:
Product ID, in hexadecimal.
What: /sys/bus/usb/devices/usbX/idVendor
Description:
Vendor ID, in hexadecimal.
What: /sys/bus/usb/devices/usbX/devspec
Description:
Displays the Device Tree Open Firmware node of the interface.
What: /sys/bus/usb/devices/usbX/avoid_reset_quirk
Description:
Most devices have this set to zero.
If the value is 1, enable a USB quirk that prevents this
device to use reset.
(read/write)
What: /sys/bus/usb/devices/usbX/devnum
Description:
USB interface device number, in decimal.
What: /sys/bus/usb/devices/usbX/devpath
Description:
String containing the USB interface device path.
What: /sys/bus/usb/devices/usbX/manufacturer
Description:
Vendor specific string containing the name of the
manufacturer of the device.
What: /sys/bus/usb/devices/usbX/maxchild
Description:
Number of ports of an USB hub
What: /sys/bus/usb/devices/usbX/persist
Description:
Keeps the device even if it gets disconnected.
What: /sys/bus/usb/devices/usbX/product
Description:
Vendor specific string containing the name of the
device's product.
What: /sys/bus/usb/devices/usbX/speed
Description:
Shows the device's max speed, according to the USB version,
in Mbps.
Can be:
======= ====================
Unknown speed unknown
1.5 Low speed
15 Full speed
480 High Speed
5000 Super Speed
10000 Super Speed+
20000 Super Speed+ Gen 2x2
======= ====================
What: /sys/bus/usb/devices/usbX/supports_autosuspend
Description:
Returns 1 if the device doesn't support autosuspend.
Otherwise, returns 0.
What: /sys/bus/usb/devices/usbX/urbnum
Description:
Number of URBs submitted for the whole device.
What: /sys/bus/usb/devices/usbX/version
Description:
String containing the USB device version, as encoded
at the BCD descriptor.
What: /sys/bus/usb/devices/usbX/power/autosuspend
Description:
Time in milliseconds for the device to autosuspend. If the
value is negative, then autosuspend is prevented.
(read/write)
What: /sys/bus/usb/devices/usbX/power/active_duration
Description:
The total time the device has not been suspended.
What: /sys/bus/usb/devices/usbX/power/connected_duration
Description:
The total time (in msec) that the device has been connected.
What: /sys/bus/usb/devices/usbX/power/level
Description:
What: /sys/bus/usb/devices/usbX/ep_<N>/bEndpointAddress
Description:
The address of the endpoint described by this descriptor,
in hexadecimal. The endpoint direction on this bitmapped field
is also shown at:
/sys/bus/usb/devices/usbX/ep_<N>/direction
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/ep_<N>/bInterval
Description:
The interval of the endpoint as described on its descriptor,
in hexadecimal. The actual interval depends on the version
of the USB. Also shown in time units at
/sys/bus/usb/devices/usbX/ep_<N>/interval.
What: /sys/bus/usb/devices/usbX/ep_<N>/bLength
Description:
Number of bytes of the endpoint descriptor, in hexadecimal.
What: /sys/bus/usb/devices/usbX/ep_<N>/bmAttributes
Description:
Attributes which apply to the endpoint as described on its
descriptor, in hexadecimal. The endpoint type on this
bitmapped field is also shown at:
/sys/bus/usb/devices/usbX/ep_<N>/type
See USB specs for its meaning.
What: /sys/bus/usb/devices/usbX/ep_<N>/direction
Description:
Direction of the endpoint. Can be:
- both (on control endpoints)
- in
- out
What: /sys/bus/usb/devices/usbX/ep_<N>/interval
Description:
Interval for polling endpoint for data transfers, in
milisseconds or microseconds.
What: /sys/bus/usb/devices/usbX/ep_<N>/type
Description:
Descriptor type. Can be:
- Control
- Isoc
- Bulk
- Interrupt
- unknown
What: /sys/bus/usb/devices/usbX/ep_<N>/wMaxPacketSize
Description:
Maximum packet size this endpoint is capable of
sending or receiving, in hexadecimal.

View File

@ -23,17 +23,14 @@ default
The default backing dev, used for non-block device backed The default backing dev, used for non-block device backed
filesystems which do not provide their own BDI. filesystems which do not provide their own BDI.
What: /sys/class/bdi/<bdi>/read_ahead_kb Files under /sys/class/bdi/<bdi>/
Date: January 2008
Contact: Peter Zijlstra <a.p.zijlstra@chello.nl> read_ahead_kb (read-write)
Description:
Size of the read-ahead window in kilobytes Size of the read-ahead window in kilobytes
(read-write) min_ratio (read-write)
What: /sys/class/bdi/<bdi>/min_ratio
Date: January 2008
Contact: Peter Zijlstra <a.p.zijlstra@chello.nl>
Description:
Under normal circumstances each device is given a part of the Under normal circumstances each device is given a part of the
total write-back cache that relates to its current average total write-back cache that relates to its current average
writeout speed in relation to the other devices. writeout speed in relation to the other devices.
@ -42,12 +39,8 @@ Description:
percentage of the write-back cache to a particular device. percentage of the write-back cache to a particular device.
For example, this is useful for providing a minimum QoS. For example, this is useful for providing a minimum QoS.
(read-write) max_ratio (read-write)
What: /sys/class/bdi/<bdi>/max_ratio
Date: January 2008
Contact: Peter Zijlstra <a.p.zijlstra@chello.nl>
Description:
Allows limiting a particular device to use not more than the Allows limiting a particular device to use not more than the
given percentage of the write-back cache. This is useful in given percentage of the write-back cache. This is useful in
situations where we want to avoid one device taking all or situations where we want to avoid one device taking all or
@ -55,12 +48,7 @@ Description:
mount that is prone to get stuck, or a FUSE mount which cannot mount that is prone to get stuck, or a FUSE mount which cannot
be trusted to play fair. be trusted to play fair.
(read-write) stable_pages_required (read-only)
What: /sys/class/bdi/<bdi>/stable_pages_required
Date: January 2008
Contact: Peter Zijlstra <a.p.zijlstra@chello.nl>
Description:
If set, the backing device requires that all pages comprising a write If set, the backing device requires that all pages comprising a write
request must not be changed until writeout is complete. request must not be changed until writeout is complete.
(read-only)

View File

@ -166,11 +166,10 @@ Description: read only
Decimal value of the Per Process MMIO space length. Decimal value of the Per Process MMIO space length.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<afu>m/pp_mmio_off What: /sys/class/cxl/<afu>m/pp_mmio_off (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest)
Decimal value of the Per Process MMIO space offset. Decimal value of the Per Process MMIO space offset.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
@ -191,31 +190,28 @@ Description: read only
Identifies the revision level of the PSL. Identifies the revision level of the PSL.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/base_image What: /sys/class/cxl/<card>/base_image (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest)
Identifies the revision level of the base image for devices Identifies the revision level of the base image for devices
that support loadable PSLs. For FPGAs this field identifies that support loadable PSLs. For FPGAs this field identifies
the image contained in the on-adapter flash which is loaded the image contained in the on-adapter flash which is loaded
during the initial program load. during the initial program load.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/image_loaded What: /sys/class/cxl/<card>/image_loaded (not in a guest)
Date: September 2014 Date: September 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read only Description: read only
(not in a guest)
Will return "user" or "factory" depending on the image loaded Will return "user" or "factory" depending on the image loaded
onto the card. onto the card.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/load_image_on_perst What: /sys/class/cxl/<card>/load_image_on_perst (not in a guest)
Date: December 2014 Date: December 2014
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
(not in a guest)
Valid entries are "none", "user", and "factory". Valid entries are "none", "user", and "factory".
"none" means PERST will not cause image to be loaded to the "none" means PERST will not cause image to be loaded to the
card. A power cycle is required to load the image. card. A power cycle is required to load the image.
@ -239,11 +235,10 @@ Description: write only
contexts on the card AFUs. contexts on the card AFUs.
Users: https://github.com/ibm-capi/libcxl Users: https://github.com/ibm-capi/libcxl
What: /sys/class/cxl/<card>/perst_reloads_same_image What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
Date: July 2015 Date: July 2015
Contact: linuxppc-dev@lists.ozlabs.org Contact: linuxppc-dev@lists.ozlabs.org
Description: read/write Description: read/write
(not in a guest)
Trust that when an image is reloaded via PERST, it will not Trust that when an image is reloaded via PERST, it will not
have changed. have changed.

View File

@ -161,15 +161,6 @@ Description:
power-on: power-on:
Representing a password required to use Representing a password required to use
the system the system
system-mgmt:
Representing System Management password.
See Lenovo extensions section for details
HDD:
Representing HDD password
See Lenovo extensions section for details
NVMe:
Representing NVMe password
See Lenovo extensions section for details
mechanism: mechanism:
The means of authentication. This attribute is mandatory. The means of authentication. This attribute is mandatory.
@ -216,13 +207,6 @@ Description:
On Lenovo systems the following additional settings are available: On Lenovo systems the following additional settings are available:
role: system-mgmt This gives the same authority as the bios-admin password to control
security related features. The authorities allocated can be set via
the BIOS menu SMP Access Control Policy
role: HDD & NVMe This password is used to unlock access to the drive at boot. Note see
'level' and 'index' extensions below.
lenovo_encoding: lenovo_encoding:
The encoding method that is used. This can be either "ascii" The encoding method that is used. This can be either "ascii"
or "scancode". Default is set to "ascii" or "scancode". Default is set to "ascii"
@ -232,22 +216,6 @@ Description:
two char code (e.g. "us", "fr", "gr") and may vary per platform. two char code (e.g. "us", "fr", "gr") and may vary per platform.
Default is set to "us" Default is set to "us"
level:
Available for HDD and NVMe authentication to set 'user' or 'master'
privilege level.
If only the user password is configured then this should be used to
unlock the drive at boot. If both master and user passwords are set
then either can be used. If a master password is set a user password
is required.
This attribute defaults to 'user' level
index:
Used with HDD and NVME authentication to set the drive index
that is being referenced (e.g hdd0, hdd1 etc)
This attribute defaults to device 0.
What: /sys/class/firmware-attributes/*/attributes/pending_reboot What: /sys/class/firmware-attributes/*/attributes/pending_reboot
Date: February 2021 Date: February 2021
KernelVersion: 5.11 KernelVersion: 5.11

View File

@ -1,4 +1,4 @@
What: /sys/class/gnss/gnss<N>/type What: /sys/class/gnss/gnssN/type
Date: May 2018 Date: May 2018
KernelVersion: 4.18 KernelVersion: 4.18
Contact: Johan Hovold <johan@kernel.org> Contact: Johan Hovold <johan@kernel.org>

View File

@ -6,7 +6,7 @@ Description:
The mei/ class sub-directory belongs to mei device class The mei/ class sub-directory belongs to mei device class
What: /sys/class/mei/mei<N>/ What: /sys/class/mei/meiN/
Date: May 2014 Date: May 2014
KernelVersion: 3.17 KernelVersion: 3.17
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -14,7 +14,7 @@ Description:
The /sys/class/mei/meiN directory is created for The /sys/class/mei/meiN directory is created for
each probed mei device each probed mei device
What: /sys/class/mei/mei<N>/fw_status What: /sys/class/mei/meiN/fw_status
Date: Nov 2014 Date: Nov 2014
KernelVersion: 3.19 KernelVersion: 3.19
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -29,7 +29,7 @@ Description: Display fw status registers content
Also number of registers varies between 1 and 6 Also number of registers varies between 1 and 6
depending on generation. depending on generation.
What: /sys/class/mei/mei<N>/hbm_ver What: /sys/class/mei/meiN/hbm_ver
Date: Aug 2016 Date: Aug 2016
KernelVersion: 4.9 KernelVersion: 4.9
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -38,7 +38,7 @@ Description: Display the negotiated HBM protocol version.
The HBM protocol version negotiated The HBM protocol version negotiated
between the driver and the device. between the driver and the device.
What: /sys/class/mei/mei<N>/hbm_ver_drv What: /sys/class/mei/meiN/hbm_ver_drv
Date: Aug 2016 Date: Aug 2016
KernelVersion: 4.9 KernelVersion: 4.9
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -46,7 +46,7 @@ Description: Display the driver HBM protocol version.
The HBM protocol version supported by the driver. The HBM protocol version supported by the driver.
What: /sys/class/mei/mei<N>/tx_queue_limit What: /sys/class/mei/meiN/tx_queue_limit
Date: Jan 2018 Date: Jan 2018
KernelVersion: 4.16 KernelVersion: 4.16
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -55,7 +55,7 @@ Description: Configure tx queue limit
Set maximal number of pending writes Set maximal number of pending writes
per opened session. per opened session.
What: /sys/class/mei/mei<N>/fw_ver What: /sys/class/mei/meiN/fw_ver
Date: May 2018 Date: May 2018
KernelVersion: 4.18 KernelVersion: 4.18
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -66,7 +66,7 @@ Description: Display the ME firmware version.
There can be up to three such blocks for different There can be up to three such blocks for different
FW components. FW components.
What: /sys/class/mei/mei<N>/dev_state What: /sys/class/mei/meiN/dev_state
Date: Mar 2019 Date: Mar 2019
KernelVersion: 5.1 KernelVersion: 5.1
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -81,7 +81,7 @@ Description: Display the ME device state.
POWER_DOWN POWER_DOWN
POWER_UP POWER_UP
What: /sys/class/mei/mei<N>/trc What: /sys/class/mei/meiN/trc
Date: Nov 2019 Date: Nov 2019
KernelVersion: 5.5 KernelVersion: 5.5
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>
@ -91,7 +91,7 @@ Description: Display trc status register content
status information into trc status register status information into trc status register
for BIOS and OS to monitor fw health. for BIOS and OS to monitor fw health.
What: /sys/class/mei/mei<N>/kind What: /sys/class/mei/meiN/kind
Date: Jul 2020 Date: Jul 2020
KernelVersion: 5.8 KernelVersion: 5.8
Contact: Tomas Winkler <tomas.winkler@intel.com> Contact: Tomas Winkler <tomas.winkler@intel.com>

View File

@ -7,7 +7,7 @@ Description:
Framework and provides a sysfs interface for using MUX Framework and provides a sysfs interface for using MUX
controllers. controllers.
What: /sys/class/mux/muxchip<N>/ What: /sys/class/mux/muxchipN/
Date: April 2017 Date: April 2017
KernelVersion: 4.13 KernelVersion: 4.13
Contact: Peter Rosin <peda@axentia.se> Contact: Peter Rosin <peda@axentia.se>

View File

@ -413,7 +413,7 @@ Description:
"Over voltage", "Unspecified failure", "Cold", "Over voltage", "Unspecified failure", "Cold",
"Watchdog timer expire", "Safety timer expire", "Watchdog timer expire", "Safety timer expire",
"Over current", "Calibration required", "Warm", "Over current", "Calibration required", "Warm",
"Cool", "Hot", "No battery" "Cool", "Hot"
What: /sys/class/power_supply/<supply_name>/precharge_current What: /sys/class/power_supply/<supply_name>/precharge_current
Date: June 2017 Date: June 2017
@ -455,21 +455,6 @@ Description:
"Unknown", "Charging", "Discharging", "Unknown", "Charging", "Discharging",
"Not charging", "Full" "Not charging", "Full"
What: /sys/class/power_supply/<supply_name>/charge_behaviour
Date: November 2021
Contact: linux-pm@vger.kernel.org
Description:
Represents the charging behaviour.
Access: Read, Write
Valid values:
================ ====================================
auto: Charge normally, respect thresholds
inhibit-charge: Do not charge while AC is attached
force-discharge: Force discharge while AC is attached
================ ====================================
What: /sys/class/power_supply/<supply_name>/technology What: /sys/class/power_supply/<supply_name>/technology
Date: May 2007 Date: May 2007
Contact: linux-pm@vger.kernel.org Contact: linux-pm@vger.kernel.org
@ -495,19 +480,6 @@ Description:
Valid values: Represented in microvolts Valid values: Represented in microvolts
What: /sys/class/power_supply/<supply_name>/cycle_count
Date: January 2010
Contact: linux-pm@vger.kernel.org
Description:
Reports the number of full charge + discharge cycles the
battery has undergone.
Access: Read
Valid values:
Integer > 0: representing full cycles
Integer = 0: cycle_count info is not available
**USB Properties** **USB Properties**
What: /sys/class/power_supply/<supply_name>/input_current_limit What: /sys/class/power_supply/<supply_name>/input_current_limit

View File

@ -7,7 +7,7 @@ Description:
Framework and provides a sysfs interface for using PWM Framework and provides a sysfs interface for using PWM
channels. channels.
What: /sys/class/pwm/pwmchip<N>/ What: /sys/class/pwm/pwmchipN/
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
@ -16,14 +16,14 @@ Description:
probed PWM controller/chip where N is the base of the probed PWM controller/chip where N is the base of the
PWM chip. PWM chip.
What: /sys/class/pwm/pwmchip<N>/npwm What: /sys/class/pwm/pwmchipN/npwm
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
Description: Description:
The number of PWM channels supported by the PWM chip. The number of PWM channels supported by the PWM chip.
What: /sys/class/pwm/pwmchip<N>/export What: /sys/class/pwm/pwmchipN/export
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
@ -31,14 +31,14 @@ Description:
Exports a PWM channel from the PWM chip for sysfs control. Exports a PWM channel from the PWM chip for sysfs control.
Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1. Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1.
What: /sys/class/pwm/pwmchip<N>/unexport What: /sys/class/pwm/pwmchipN/unexport
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
Description: Description:
Unexports a PWM channel. Unexports a PWM channel.
What: /sys/class/pwm/pwmchip<N>/pwmX What: /sys/class/pwm/pwmchipN/pwmX
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
@ -47,21 +47,21 @@ Description:
each exported PWM channel where X is the exported PWM each exported PWM channel where X is the exported PWM
channel number. channel number.
What: /sys/class/pwm/pwmchip<N>/pwmX/period What: /sys/class/pwm/pwmchipN/pwmX/period
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
Description: Description:
Sets the PWM signal period in nanoseconds. Sets the PWM signal period in nanoseconds.
What: /sys/class/pwm/pwmchip<N>/pwmX/duty_cycle What: /sys/class/pwm/pwmchipN/pwmX/duty_cycle
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
Description: Description:
Sets the PWM signal duty cycle in nanoseconds. Sets the PWM signal duty cycle in nanoseconds.
What: /sys/class/pwm/pwmchip<N>/pwmX/polarity What: /sys/class/pwm/pwmchipN/pwmX/polarity
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
@ -69,7 +69,7 @@ Description:
Sets the output polarity of the PWM signal to "normal" or Sets the output polarity of the PWM signal to "normal" or
"inversed". "inversed".
What: /sys/class/pwm/pwmchip<N>/pwmX/enable What: /sys/class/pwm/pwmchipN/pwmX/enable
Date: May 2013 Date: May 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: H Hartley Sweeten <hsweeten@visionengravers.com> Contact: H Hartley Sweeten <hsweeten@visionengravers.com>
@ -78,7 +78,7 @@ Description:
0 is disabled 0 is disabled
1 is enabled 1 is enabled
What: /sys/class/pwm/pwmchip<N>/pwmX/capture What: /sys/class/pwm/pwmchipN/pwmX/capture
Date: June 2016 Date: June 2016
KernelVersion: 4.8 KernelVersion: 4.8
Contact: Lee Jones <lee.jones@linaro.org> Contact: Lee Jones <lee.jones@linaro.org>

View File

@ -10,7 +10,7 @@ Description:
NOTE: An mport ID is not a RapidIO destination ID assigned to a NOTE: An mport ID is not a RapidIO destination ID assigned to a
given local mport device. given local mport device.
What: /sys/class/rapidio_port/rapidio<N>/sys_size What: /sys/class/rapidio_port/rapidioN/sys_size
Date: Apr, 2014 Date: Apr, 2014
KernelVersion: v3.15 KernelVersion: v3.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,
@ -22,7 +22,7 @@ Description:
1 = large (16-bit destination ID, max. 65536 devices). 1 = large (16-bit destination ID, max. 65536 devices).
What: /sys/class/rapidio_port/rapidio<N>/port_destid What: /sys/class/rapidio_port/rapidioN/port_destid
Date: Apr, 2014 Date: Apr, 2014
KernelVersion: v3.15 KernelVersion: v3.15
Contact: Matt Porter <mporter@kernel.crashing.org>, Contact: Matt Porter <mporter@kernel.crashing.org>,

View File

@ -7,7 +7,7 @@ Description:
core and provides a sysfs interface for configuring infrared core and provides a sysfs interface for configuring infrared
remote controller receivers. remote controller receivers.
What: /sys/class/rc/rc<N>/ What: /sys/class/rc/rcN/
Date: Apr 2010 Date: Apr 2010
KernelVersion: 2.6.35 KernelVersion: 2.6.35
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -15,7 +15,7 @@ Description:
A /sys/class/rc/rcN directory is created for each remote A /sys/class/rc/rcN directory is created for each remote
control receiver device where N is the number of the receiver. control receiver device where N is the number of the receiver.
What: /sys/class/rc/rc<N>/protocols What: /sys/class/rc/rcN/protocols
Date: Jun 2010 Date: Jun 2010
KernelVersion: 2.6.36 KernelVersion: 2.6.36
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -40,7 +40,7 @@ Description:
Write fails with EINVAL if an invalid protocol combination or Write fails with EINVAL if an invalid protocol combination or
unknown protocol name is used. unknown protocol name is used.
What: /sys/class/rc/rc<N>/filter What: /sys/class/rc/rcN/filter
Date: Jan 2014 Date: Jan 2014
KernelVersion: 3.15 KernelVersion: 3.15
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -55,7 +55,7 @@ Description:
This value may be reset to 0 if the current protocol is altered. This value may be reset to 0 if the current protocol is altered.
What: /sys/class/rc/rc<N>/filter_mask What: /sys/class/rc/rcN/filter_mask
Date: Jan 2014 Date: Jan 2014
KernelVersion: 3.15 KernelVersion: 3.15
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -72,7 +72,7 @@ Description:
This value may be reset to 0 if the current protocol is altered. This value may be reset to 0 if the current protocol is altered.
What: /sys/class/rc/rc<N>/wakeup_protocols What: /sys/class/rc/rcN/wakeup_protocols
Date: Feb 2017 Date: Feb 2017
KernelVersion: 4.11 KernelVersion: 4.11
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -98,7 +98,7 @@ Description:
unknown protocol name is used, or if wakeup is not supported by unknown protocol name is used, or if wakeup is not supported by
the hardware. the hardware.
What: /sys/class/rc/rc<N>/wakeup_filter What: /sys/class/rc/rcN/wakeup_filter
Date: Jan 2014 Date: Jan 2014
KernelVersion: 3.15 KernelVersion: 3.15
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
@ -117,7 +117,7 @@ Description:
This value may be reset to 0 if the wakeup protocol is altered. This value may be reset to 0 if the wakeup protocol is altered.
What: /sys/class/rc/rc<N>/wakeup_filter_mask What: /sys/class/rc/rcN/wakeup_filter_mask
Date: Jan 2014 Date: Jan 2014
KernelVersion: 3.15 KernelVersion: 3.15
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

View File

@ -1,4 +1,4 @@
What: /sys/class/rc/rc<N>/wakeup_data What: /sys/class/rc/rcN/wakeup_data
Date: Mar 2016 Date: Mar 2016
KernelVersion: 4.6 KernelVersion: 4.6
Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Contact: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

View File

@ -200,7 +200,7 @@ Description: USB Power Delivery Specification defines a set of product types
amc Alternate Mode Controller amc Alternate Mode Controller
====================== ========================== ====================== ==========================
What: /sys/class/typec/<port>-partner/identity/ What: /sys/class/typec/<port>-partner>/identity/
Date: April 2017 Date: April 2017
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Description: Description:

View File

@ -18,14 +18,14 @@ Description:
and it will be removed. The default is 3 superframes and it will be removed. The default is 3 superframes
(~197 ms) as required by the specification. (~197 ms) as required by the specification.
What: /sys/class/uwb_rc/uwb<N>/ What: /sys/class/uwb_rc/uwbN/
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
Description: Description:
An individual UWB radio controller. An individual UWB radio controller.
What: /sys/class/uwb_rc/uwb<N>/beacon What: /sys/class/uwb_rc/uwbN/beacon
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -43,7 +43,7 @@ Description:
Reading returns the currently active channel, or -1 if Reading returns the currently active channel, or -1 if
the radio controller is not beaconing. the radio controller is not beaconing.
What: /sys/class/uwb_rc/uwb<N>/ASIE What: /sys/class/uwb_rc/uwbN/ASIE
Date: August 2014 Date: August 2014
KernelVersion: 3.18 KernelVersion: 3.18
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -56,7 +56,7 @@ Description:
Reading returns the current ASIE. Writing replaces Reading returns the current ASIE. Writing replaces
the current ASIE with the one written. the current ASIE with the one written.
What: /sys/class/uwb_rc/uwb<N>/scan What: /sys/class/uwb_rc/uwbN/scan
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -75,7 +75,7 @@ Description:
4 scan (with start time of <bpst offset>) 4 scan (with start time of <bpst offset>)
== ======================================= == =======================================
What: /sys/class/uwb_rc/uwb<N>/mac_address What: /sys/class/uwb_rc/uwbN/mac_address
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -85,7 +85,7 @@ Description:
controller's EUI-48 but only do so while the device is controller's EUI-48 but only do so while the device is
not beaconing or scanning. not beaconing or scanning.
What: /sys/class/uwb_rc/uwb<N>/wusbhc What: /sys/class/uwb_rc/uwbN/wusbhc
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -93,7 +93,7 @@ Description:
A symlink to the device (if any) of the WUSB Host A symlink to the device (if any) of the WUSB Host
Controller PAL using this radio controller. Controller PAL using this radio controller.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/ What: /sys/class/uwb_rc/uwbN/<EUI-48>/
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -102,7 +102,7 @@ Description:
as part of a scan or is a member of the radio as part of a scan or is a member of the radio
controllers beacon group. controllers beacon group.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/BPST What: /sys/class/uwb_rc/uwbN/<EUI-48>/BPST
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -111,7 +111,7 @@ Description:
interval superframe timer) of the last beacon from interval superframe timer) of the last beacon from
this device was received. this device was received.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/DevAddr What: /sys/class/uwb_rc/uwbN/<EUI-48>/DevAddr
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -119,7 +119,7 @@ Description:
The current DevAddr of this device in colon separated The current DevAddr of this device in colon separated
hex octets. hex octets.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/EUI_48 What: /sys/class/uwb_rc/uwbN/<EUI-48>/EUI_48
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -128,7 +128,7 @@ Description:
The EUI-48 of this device in colon separated hex The EUI-48 of this device in colon separated hex
octets. octets.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/IEs What: /sys/class/uwb_rc/uwbN/<EUI-48>/IEs
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -136,7 +136,7 @@ Description:
The latest IEs included in this device's beacon, in The latest IEs included in this device's beacon, in
space separated hex octets with one IE per line. space separated hex octets with one IE per line.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/LQE What: /sys/class/uwb_rc/uwbN/<EUI-48>/LQE
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org
@ -146,7 +146,7 @@ Description:
This gives an estimate on a suitable PHY rate. Refer This gives an estimate on a suitable PHY rate. Refer
to [ECMA-368] section 13.3 for more details. to [ECMA-368] section 13.3 for more details.
What: /sys/class/uwb_rc/uwb<N>/<EUI-48>/RSSI What: /sys/class/uwb_rc/uwbN/<EUI-48>/RSSI
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: linux-usb@vger.kernel.org Contact: linux-usb@vger.kernel.org

View File

@ -1,4 +1,4 @@
What: /sys/class/uwb_rc/uwb<N>/wusbhc/wusb_chid What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_chid
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: David Vrabel <david.vrabel@csr.com> Contact: David Vrabel <david.vrabel@csr.com>
@ -9,7 +9,7 @@ Description:
Set an all zero CHID to stop the host controller. Set an all zero CHID to stop the host controller.
What: /sys/class/uwb_rc/uwb<N>/wusbhc/wusb_trust_timeout What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_trust_timeout
Date: July 2008 Date: July 2008
KernelVersion: 2.6.27 KernelVersion: 2.6.27
Contact: David Vrabel <david.vrabel@csr.com> Contact: David Vrabel <david.vrabel@csr.com>
@ -24,7 +24,7 @@ Description:
lifetime of PTKs and GTKs) it should not be changed lifetime of PTKs and GTKs) it should not be changed
from the default. from the default.
What: /sys/class/uwb_rc/uwb<N>/wusbhc/wusb_phy_rate What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_phy_rate
Date: August 2009 Date: August 2009
KernelVersion: 2.6.32 KernelVersion: 2.6.32
Contact: David Vrabel <david.vrabel@csr.com> Contact: David Vrabel <david.vrabel@csr.com>
@ -37,7 +37,7 @@ Description:
Refer to [ECMA-368] section 10.3.1.1 for the value to Refer to [ECMA-368] section 10.3.1.1 for the value to
use. use.
What: /sys/class/uwb_rc/uwb<N>/wusbhc/wusb_dnts What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_dnts
Date: June 2013 Date: June 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: Thomas Pugliese <thomas.pugliese@gmail.com> Contact: Thomas Pugliese <thomas.pugliese@gmail.com>
@ -47,7 +47,7 @@ Description:
often the devices will have the opportunity to send often the devices will have the opportunity to send
notifications to the host. notifications to the host.
What: /sys/class/uwb_rc/uwb<N>/wusbhc/wusb_retry_count What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_retry_count
Date: June 2013 Date: June 2013
KernelVersion: 3.11 KernelVersion: 3.11
Contact: Thomas Pugliese <thomas.pugliese@gmail.com> Contact: Thomas Pugliese <thomas.pugliese@gmail.com>

View File

@ -1,4 +1,4 @@
What: /sys/devices/platform/dock.<N>/docked What: /sys/devices/platform/dock.N/docked
Date: Dec, 2006 Date: Dec, 2006
KernelVersion: 2.6.19 KernelVersion: 2.6.19
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org
@ -6,7 +6,7 @@ Description:
(RO) Value 1 or 0 indicates whether the software believes the (RO) Value 1 or 0 indicates whether the software believes the
laptop is docked in a docking station. laptop is docked in a docking station.
What: /sys/devices/platform/dock.<N>/undock What: /sys/devices/platform/dock.N/undock
Date: Dec, 2006 Date: Dec, 2006
KernelVersion: 2.6.19 KernelVersion: 2.6.19
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org
@ -14,14 +14,14 @@ Description:
(WO) Writing to this file causes the software to initiate an (WO) Writing to this file causes the software to initiate an
undock request to the firmware. undock request to the firmware.
What: /sys/devices/platform/dock.<N>/uid What: /sys/devices/platform/dock.N/uid
Date: Feb, 2007 Date: Feb, 2007
KernelVersion: v2.6.21 KernelVersion: v2.6.21
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org
Description: Description:
(RO) Displays the docking station the laptop is docked to. (RO) Displays the docking station the laptop is docked to.
What: /sys/devices/platform/dock.<N>/flags What: /sys/devices/platform/dock.N/flags
Date: May, 2007 Date: May, 2007
KernelVersion: v2.6.21 KernelVersion: v2.6.21
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org
@ -30,7 +30,7 @@ Description:
request has been made by the user (from the immediate_undock request has been made by the user (from the immediate_undock
option). option).
What: /sys/devices/platform/dock.<N>/type What: /sys/devices/platform/dock.N/type
Date: Aug, 2008 Date: Aug, 2008
KernelVersion: v2.6.27 KernelVersion: v2.6.27
Contact: linux-acpi@vger.kernel.org Contact: linux-acpi@vger.kernel.org

View File

@ -269,39 +269,3 @@ Description:
the current runtime PM status of the device, which may be the current runtime PM status of the device, which may be
"suspended", "suspending", "resuming", "active", "error" (fatal "suspended", "suspending", "resuming", "active", "error" (fatal
error), or "unsupported" (runtime PM is disabled). error), or "unsupported" (runtime PM is disabled).
What: /sys/devices/.../power/runtime_active_time
Date: Jul 2010
Contact: Arjan van de Ven <arjan@linux.intel.com>
Description:
Reports the total time that the device has been active.
Used for runtime PM statistics.
What: /sys/devices/.../power/runtime_suspended_time
Date: Jul 2010
Contact: Arjan van de Ven <arjan@linux.intel.com>
Description:
Reports total time that the device has been suspended.
Used for runtime PM statistics.
What: /sys/devices/.../power/runtime_usage
Date: Apr 2010
Contact: Dominik Brodowski <linux@dominikbrodowski.net>
Description:
Reports the runtime PM usage count of a device.
What: /sys/devices/.../power/runtime_enabled
Date: Apr 2010
Contact: Dominik Brodowski <linux@dominikbrodowski.net>
Description:
Is runtime PM enabled for this device?
States are "enabled", "disabled", "forbidden" or a
combination of the latter two.
What: /sys/devices/.../power/runtime_active_kids
Date: Apr 2010
Contact: Dominik Brodowski <linux@dominikbrodowski.net>
Description:
Reports the runtime PM children usage count of a device, or
0 if the the children will be ignored.

View File

@ -7,12 +7,10 @@ Description:
bus / platform-specific way. This attribute is only present for bus / platform-specific way. This attribute is only present for
devices that can support determining such information: devices that can support determining such information:
=========== =================================================== "removable": device can be removed from the platform by the user
"removable" device can be removed from the platform by the user "fixed": device is fixed to the platform / cannot be removed
"fixed" device is fixed to the platform / cannot be removed
by the user. by the user.
"unknown" The information is unavailable / cannot be deduced. "unknown": The information is unavailable / cannot be deduced.
=========== ===================================================
Currently this is only supported by USB (which infers the Currently this is only supported by USB (which infers the
information from a combination of hub descriptor bits and information from a combination of hub descriptor bits and

View File

@ -7,7 +7,7 @@ Description:
Individual CPU attributes are contained in subdirectories Individual CPU attributes are contained in subdirectories
named by the kernel's logical CPU number, e.g.: named by the kernel's logical CPU number, e.g.:
/sys/devices/system/cpu/cpuX/ /sys/devices/system/cpu/cpu#/
What: /sys/devices/system/cpu/kernel_max What: /sys/devices/system/cpu/kernel_max
/sys/devices/system/cpu/offline /sys/devices/system/cpu/offline
@ -53,7 +53,7 @@ Description: Dynamic addition and removal of CPU's. This is not hotplug
the system. Information written to the file to remove CPU's the system. Information written to the file to remove CPU's
is architecture specific. is architecture specific.
What: /sys/devices/system/cpu/cpuX/node What: /sys/devices/system/cpu/cpu#/node
Date: October 2009 Date: October 2009
Contact: Linux memory management mailing list <linux-mm@kvack.org> Contact: Linux memory management mailing list <linux-mm@kvack.org>
Description: Discover NUMA node a CPU belongs to Description: Discover NUMA node a CPU belongs to
@ -67,41 +67,41 @@ Description: Discover NUMA node a CPU belongs to
/sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2
What: /sys/devices/system/cpu/cpuX/topology/core_id What: /sys/devices/system/cpu/cpu#/topology/core_id
/sys/devices/system/cpu/cpuX/topology/core_siblings /sys/devices/system/cpu/cpu#/topology/core_siblings
/sys/devices/system/cpu/cpuX/topology/core_siblings_list /sys/devices/system/cpu/cpu#/topology/core_siblings_list
/sys/devices/system/cpu/cpuX/topology/physical_package_id /sys/devices/system/cpu/cpu#/topology/physical_package_id
/sys/devices/system/cpu/cpuX/topology/thread_siblings /sys/devices/system/cpu/cpu#/topology/thread_siblings
/sys/devices/system/cpu/cpuX/topology/thread_siblings_list /sys/devices/system/cpu/cpu#/topology/thread_siblings_list
Date: December 2008 Date: December 2008
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: CPU topology files that describe a logical CPU's relationship Description: CPU topology files that describe a logical CPU's relationship
to other cores and threads in the same physical package. to other cores and threads in the same physical package.
One cpuX directory is created per logical CPU in the system, One cpu# directory is created per logical CPU in the system,
e.g. /sys/devices/system/cpu/cpu42/. e.g. /sys/devices/system/cpu/cpu42/.
Briefly, the files above are: Briefly, the files above are:
core_id: the CPU core ID of cpuX. Typically it is the core_id: the CPU core ID of cpu#. Typically it is the
hardware platform's identifier (rather than the kernel's). hardware platform's identifier (rather than the kernel's).
The actual value is architecture and platform dependent. The actual value is architecture and platform dependent.
core_siblings: internal kernel map of cpuX's hardware threads core_siblings: internal kernel map of cpu#'s hardware threads
within the same physical_package_id. within the same physical_package_id.
core_siblings_list: human-readable list of the logical CPU core_siblings_list: human-readable list of the logical CPU
numbers within the same physical_package_id as cpuX. numbers within the same physical_package_id as cpu#.
physical_package_id: physical package id of cpuX. Typically physical_package_id: physical package id of cpu#. Typically
corresponds to a physical socket number, but the actual value corresponds to a physical socket number, but the actual value
is architecture and platform dependent. is architecture and platform dependent.
thread_siblings: internal kernel map of cpuX's hardware thread_siblings: internal kernel map of cpu#'s hardware
threads within the same core as cpuX threads within the same core as cpu#
thread_siblings_list: human-readable list of cpuX's hardware thread_siblings_list: human-readable list of cpu#'s hardware
threads within the same core as cpuX threads within the same core as cpu#
See Documentation/admin-guide/cputopology.rst for more information. See Documentation/admin-guide/cputopology.rst for more information.
@ -135,7 +135,7 @@ Description: Discover cpuidle policy and mechanism
Documentation/driver-api/pm/cpuidle.rst for more information. Documentation/driver-api/pm/cpuidle.rst for more information.
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/name What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/name
/sys/devices/system/cpu/cpuX/cpuidle/stateN/latency /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency
/sys/devices/system/cpu/cpuX/cpuidle/stateN/power /sys/devices/system/cpu/cpuX/cpuidle/stateN/power
/sys/devices/system/cpu/cpuX/cpuidle/stateN/time /sys/devices/system/cpu/cpuX/cpuidle/stateN/time
@ -174,7 +174,7 @@ Description:
(a count). (a count).
======== ==== ================================================= ======== ==== =================================================
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/desc What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc
Date: February 2008 Date: February 2008
KernelVersion: v2.6.25 KernelVersion: v2.6.25
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -182,7 +182,7 @@ Description:
(RO) A small description about the idle state (string). (RO) A small description about the idle state (string).
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/disable What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/disable
Date: March 2012 Date: March 2012
KernelVersion: v3.10 KernelVersion: v3.10
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -195,14 +195,14 @@ Description:
does not reflect it. Likewise, if one enables a deep state but a does not reflect it. Likewise, if one enables a deep state but a
lighter state still is disabled, then this has no effect. lighter state still is disabled, then this has no effect.
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/default_status What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/default_status
Date: December 2019 Date: December 2019
KernelVersion: v5.6 KernelVersion: v5.6
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
Description: Description:
(RO) The default status of this state, "enabled" or "disabled". (RO) The default status of this state, "enabled" or "disabled".
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/residency What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/residency
Date: March 2014 Date: March 2014
KernelVersion: v3.15 KernelVersion: v3.15
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -211,7 +211,7 @@ Description:
time (in microseconds) this cpu should spend in this idle state time (in microseconds) this cpu should spend in this idle state
to make the transition worth the effort. to make the transition worth the effort.
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/ What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/
Date: March 2018 Date: March 2018
KernelVersion: v4.17 KernelVersion: v4.17
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -221,7 +221,7 @@ Description:
This attribute group is only present for states that can be This attribute group is only present for states that can be
used in suspend-to-idle with suspended timekeeping. used in suspend-to-idle with suspended timekeeping.
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/time What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/time
Date: March 2018 Date: March 2018
KernelVersion: v4.17 KernelVersion: v4.17
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -229,7 +229,7 @@ Description:
Total time spent by the CPU in suspend-to-idle (with scheduler Total time spent by the CPU in suspend-to-idle (with scheduler
tick suspended) after requesting this state. tick suspended) after requesting this state.
What: /sys/devices/system/cpu/cpuX/cpuidle/state<N>/s2idle/usage What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/usage
Date: March 2018 Date: March 2018
KernelVersion: v4.17 KernelVersion: v4.17
Contact: Linux power management list <linux-pm@vger.kernel.org> Contact: Linux power management list <linux-pm@vger.kernel.org>
@ -237,7 +237,7 @@ Description:
Total number of times this state has been requested by the CPU Total number of times this state has been requested by the CPU
while entering suspend-to-idle. while entering suspend-to-idle.
What: /sys/devices/system/cpu/cpuX/cpufreq/* What: /sys/devices/system/cpu/cpu#/cpufreq/*
Date: pre-git history Date: pre-git history
Contact: linux-pm@vger.kernel.org Contact: linux-pm@vger.kernel.org
Description: Discover and change clock speed of CPUs Description: Discover and change clock speed of CPUs
@ -252,7 +252,7 @@ Description: Discover and change clock speed of CPUs
See files in Documentation/cpu-freq/ for more information. See files in Documentation/cpu-freq/ for more information.
What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus
Date: June 2013 Date: June 2013
Contact: linux-pm@vger.kernel.org Contact: linux-pm@vger.kernel.org
Description: Discover CPUs in the same CPU frequency coordination domain Description: Discover CPUs in the same CPU frequency coordination domain
@ -301,16 +301,16 @@ Description: Processor frequency boosting control
Documentation/admin-guide/pm/cpufreq.rst Documentation/admin-guide/pm/cpufreq.rst
What: /sys/devices/system/cpu/cpuX/crash_notes What: /sys/devices/system/cpu/cpu#/crash_notes
/sys/devices/system/cpu/cpuX/crash_notes_size /sys/devices/system/cpu/cpu#/crash_notes_size
Date: April 2013 Date: April 2013
Contact: kexec@lists.infradead.org Contact: kexec@lists.infradead.org
Description: address and size of the percpu note. Description: address and size of the percpu note.
crash_notes: the physical address of the memory that holds the crash_notes: the physical address of the memory that holds the
note of cpuX. note of cpu#.
crash_notes_size: size of the note of cpuX. crash_notes_size: size of the note of cpu#.
What: /sys/devices/system/cpu/intel_pstate/max_perf_pct What: /sys/devices/system/cpu/intel_pstate/max_perf_pct
@ -503,12 +503,12 @@ Description: Identifies the subset of CPUs in the system that can execute
If absent, then all or none of the CPUs can execute AArch32 If absent, then all or none of the CPUs can execute AArch32
applications and execve() will behave accordingly. applications and execve() will behave accordingly.
What: /sys/devices/system/cpu/cpuX/cpu_capacity What: /sys/devices/system/cpu/cpu#/cpu_capacity
Date: December 2016 Date: December 2016
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: information about CPUs heterogeneity. Description: information about CPUs heterogeneity.
cpu_capacity: capacity of cpuX. cpu_capacity: capacity of cpu#.
What: /sys/devices/system/cpu/vulnerabilities What: /sys/devices/system/cpu/vulnerabilities
/sys/devices/system/cpu/vulnerabilities/meltdown /sys/devices/system/cpu/vulnerabilities/meltdown
@ -560,7 +560,7 @@ Description: Control Symmetric Multi Threading (SMT)
If control status is "forceoff" or "notsupported" writes If control status is "forceoff" or "notsupported" writes
are rejected. are rejected.
What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias What: /sys/devices/system/cpu/cpu#/power/energy_perf_bias
Date: March 2019 Date: March 2019
Contact: linux-pm@vger.kernel.org Contact: linux-pm@vger.kernel.org
Description: Intel Energy and Performance Bias Hint (EPB) Description: Intel Energy and Performance Bias Hint (EPB)
@ -666,18 +666,3 @@ Description: Preferred MTE tag checking mode
================ ============================================== ================ ==============================================
See also: Documentation/arm64/memory-tagging-extension.rst See also: Documentation/arm64/memory-tagging-extension.rst
What: /sys/devices/system/cpu/nohz_full
Date: Apr 2015
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:
(RO) the list of CPUs that are in nohz_full mode.
These CPUs are set by boot parameter "nohz_full=".
What: /sys/devices/system/cpu/isolated
Date: Apr 2015
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:
(RO) the list of CPUs that are isolated and don't
participate in load balancing. These CPUs are set by
boot parameter "isolcpus=".

View File

@ -13,7 +13,6 @@ Description:
Interface specification for more details. Interface specification for more details.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type
What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_type
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the device type. This is one of the UFS Description: This file shows the device type. This is one of the UFS
@ -23,7 +22,6 @@ Description: This file shows the device type. This is one of the UFS
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class
What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_class
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the device class. This is one of the UFS Description: This file shows the device class. This is one of the UFS
@ -33,7 +31,6 @@ Description: This file shows the device class. This is one of the UFS
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class
What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_sub_class
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the UFS storage subclass. This is one of Description: This file shows the UFS storage subclass. This is one of
@ -43,7 +40,6 @@ Description: This file shows the UFS storage subclass. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol
What: /sys/bus/platform/devices/*.ufs/device_descriptor/protocol
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the protocol supported by an UFS device. Description: This file shows the protocol supported by an UFS device.
@ -54,7 +50,6 @@ Description: This file shows the protocol supported by an UFS device.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns
What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_luns
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows number of logical units. This is one of Description: This file shows number of logical units. This is one of
@ -64,7 +59,6 @@ Description: This file shows number of logical units. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns
What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_wluns
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows number of well known logical units. Description: This file shows number of well known logical units.
@ -75,7 +69,6 @@ Description: This file shows number of well known logical units.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable
What: /sys/bus/platform/devices/*.ufs/device_descriptor/boot_enable
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows value that indicates whether the device is Description: This file shows value that indicates whether the device is
@ -86,7 +79,6 @@ Description: This file shows value that indicates whether the device is
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable
What: /sys/bus/platform/devices/*.ufs/device_descriptor/descriptor_access_enable
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows value that indicates whether the device Description: This file shows value that indicates whether the device
@ -98,7 +90,6 @@ Description: This file shows value that indicates whether the device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode
What: /sys/bus/platform/devices/*.ufs/device_descriptor/initial_power_mode
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows value that defines the power mode after Description: This file shows value that defines the power mode after
@ -109,7 +100,6 @@ Description: This file shows value that defines the power mode after
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun
What: /sys/bus/platform/devices/*.ufs/device_descriptor/high_priority_lun
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the high priority lun. This is one of Description: This file shows the high priority lun. This is one of
@ -119,7 +109,6 @@ Description: This file shows the high priority lun. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type
What: /sys/bus/platform/devices/*.ufs/device_descriptor/secure_removal_type
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the secure removal type. This is one of Description: This file shows the secure removal type. This is one of
@ -129,7 +118,6 @@ Description: This file shows the secure removal type. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun
What: /sys/bus/platform/devices/*.ufs/device_descriptor/support_security_lun
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the security lun is supported. Description: This file shows whether the security lun is supported.
@ -140,7 +128,6 @@ Description: This file shows whether the security lun is supported.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency
What: /sys/bus/platform/devices/*.ufs/device_descriptor/bkops_termination_latency
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the background operations termination Description: This file shows the background operations termination
@ -151,7 +138,6 @@ Description: This file shows the background operations termination
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level
What: /sys/bus/platform/devices/*.ufs/device_descriptor/initial_active_icc_level
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the initial active ICC level. This is one Description: This file shows the initial active ICC level. This is one
@ -161,7 +147,6 @@ Description: This file shows the initial active ICC level. This is one
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version
What: /sys/bus/platform/devices/*.ufs/device_descriptor/specification_version
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the specification version. This is one Description: This file shows the specification version. This is one
@ -171,7 +156,6 @@ Description: This file shows the specification version. This is one
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date
What: /sys/bus/platform/devices/*.ufs/device_descriptor/manufacturing_date
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the manufacturing date in BCD format. Description: This file shows the manufacturing date in BCD format.
@ -182,7 +166,6 @@ Description: This file shows the manufacturing date in BCD format.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id
What: /sys/bus/platform/devices/*.ufs/device_descriptor/manufacturer_id
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the manufacturer ID. This is one of the Description: This file shows the manufacturer ID. This is one of the
@ -192,7 +175,6 @@ Description: This file shows the manufacturer ID. This is one of the
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability
What: /sys/bus/platform/devices/*.ufs/device_descriptor/rtt_capability
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum number of outstanding RTTs Description: This file shows the maximum number of outstanding RTTs
@ -203,7 +185,6 @@ Description: This file shows the maximum number of outstanding RTTs
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update
What: /sys/bus/platform/devices/*.ufs/device_descriptor/rtc_update
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the frequency and method of the realtime Description: This file shows the frequency and method of the realtime
@ -214,7 +195,6 @@ Description: This file shows the frequency and method of the realtime
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features
What: /sys/bus/platform/devices/*.ufs/device_descriptor/ufs_features
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows which features are supported by the device. Description: This file shows which features are supported by the device.
@ -225,7 +205,6 @@ Description: This file shows which features are supported by the device.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout
What: /sys/bus/platform/devices/*.ufs/device_descriptor/ffu_timeout
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the FFU timeout. This is one of the Description: This file shows the FFU timeout. This is one of the
@ -235,7 +214,6 @@ Description: This file shows the FFU timeout. This is one of the
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth
What: /sys/bus/platform/devices/*.ufs/device_descriptor/queue_depth
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the device queue depth. This is one of the Description: This file shows the device queue depth. This is one of the
@ -245,7 +223,6 @@ Description: This file shows the device queue depth. This is one of the
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version
What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_version
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the device version. This is one of the Description: This file shows the device version. This is one of the
@ -255,7 +232,6 @@ Description: This file shows the device version. This is one of the
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa
What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_secure_wpa
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows number of secure write protect areas Description: This file shows number of secure write protect areas
@ -266,7 +242,6 @@ Description: This file shows number of secure write protect areas
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size
What: /sys/bus/platform/devices/*.ufs/device_descriptor/psa_max_data_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum amount of data that may be Description: This file shows the maximum amount of data that may be
@ -278,7 +253,6 @@ Description: This file shows the maximum amount of data that may be
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout
What: /sys/bus/platform/devices/*.ufs/device_descriptor/psa_state_timeout
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the command maximum timeout for a change Description: This file shows the command maximum timeout for a change
@ -290,7 +264,6 @@ Description: This file shows the command maximum timeout for a change
What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version
What: /sys/bus/platform/devices/*.ufs/interconnect_descriptor/unipro_version
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the MIPI UniPro version number in BCD format. Description: This file shows the MIPI UniPro version number in BCD format.
@ -301,7 +274,6 @@ Description: This file shows the MIPI UniPro version number in BCD format.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version
What: /sys/bus/platform/devices/*.ufs/interconnect_descriptor/mphy_version
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the MIPI M-PHY version number in BCD format. Description: This file shows the MIPI M-PHY version number in BCD format.
@ -313,7 +285,6 @@ Description: This file shows the MIPI M-PHY version number in BCD format.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/raw_device_capacity
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the total memory quantity available to Description: This file shows the total memory quantity available to
@ -325,7 +296,6 @@ Description: This file shows the total memory quantity available to
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_luns
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum number of logical units Description: This file shows the maximum number of logical units
@ -336,7 +306,6 @@ Description: This file shows the maximum number of logical units
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/segment_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the segment size. This is one of the UFS Description: This file shows the segment size. This is one of the UFS
@ -346,7 +315,6 @@ Description: This file shows the segment size. This is one of the UFS
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/allocation_unit_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the allocation unit size. This is one of Description: This file shows the allocation unit size. This is one of
@ -356,7 +324,6 @@ Description: This file shows the allocation unit size. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/min_addressable_block_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the minimum addressable block size. This Description: This file shows the minimum addressable block size. This
@ -367,7 +334,6 @@ Description: This file shows the minimum addressable block size. This
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_read_block_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the optimal read block size. This is one Description: This file shows the optimal read block size. This is one
@ -378,7 +344,6 @@ Description: This file shows the optimal read block size. This is one
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_write_block_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the optimal write block size. This is one Description: This file shows the optimal write block size. This is one
@ -389,7 +354,6 @@ Description: This file shows the optimal write block size. This is one
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_in_buffer_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum data-in buffer size. This Description: This file shows the maximum data-in buffer size. This
@ -400,7 +364,6 @@ Description: This file shows the maximum data-in buffer size. This
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_out_buffer_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum data-out buffer size. This Description: This file shows the maximum data-out buffer size. This
@ -411,7 +374,6 @@ Description: This file shows the maximum data-out buffer size. This
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/rpmb_rw_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum number of RPMB frames allowed Description: This file shows the maximum number of RPMB frames allowed
@ -422,7 +384,6 @@ Description: This file shows the maximum number of RPMB frames allowed
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/dyn_capacity_resource_policy
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the dynamic capacity resource policy. This Description: This file shows the dynamic capacity resource policy. This
@ -433,7 +394,6 @@ Description: This file shows the dynamic capacity resource policy. This
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/data_ordering
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows support for out-of-order data transfer. Description: This file shows support for out-of-order data transfer.
@ -444,7 +404,6 @@ Description: This file shows support for out-of-order data transfer.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_contexts
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows maximum available number of contexts which Description: This file shows maximum available number of contexts which
@ -455,7 +414,6 @@ Description: This file shows maximum available number of contexts which
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_unit_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows system data tag unit size. This is one of Description: This file shows system data tag unit size. This is one of
@ -465,7 +423,6 @@ Description: This file shows system data tag unit size. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_resource_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows maximum storage area size allocated by Description: This file shows maximum storage area size allocated by
@ -477,7 +434,6 @@ Description: This file shows maximum storage area size allocated by
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/secure_removal_types
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows supported secure removal types. This is Description: This file shows supported secure removal types. This is
@ -488,7 +444,6 @@ Description: This file shows supported secure removal types. This is
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/memory_types
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows supported memory types. This is one of Description: This file shows supported memory types. This is one of
@ -499,7 +454,6 @@ Description: This file shows supported memory types. This is one of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_max_alloc_units
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum number of allocation units for Description: This file shows the maximum number of allocation units for
@ -511,7 +465,6 @@ Description: This file shows the maximum number of allocation units for
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_capacity_adjustment_factor
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the memory capacity adjustment factor for Description: This file shows the memory capacity adjustment factor for
@ -524,7 +477,6 @@ Description: This file shows the memory capacity adjustment factor for
What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info
What: /sys/bus/platform/devices/*.ufs/health_descriptor/eol_info
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows preend of life information. This is one Description: This file shows preend of life information. This is one
@ -535,7 +487,6 @@ Description: This file shows preend of life information. This is one
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a
What: /sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_a
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows indication of the device life time Description: This file shows indication of the device life time
@ -546,7 +497,6 @@ Description: This file shows indication of the device life time
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b
What: /sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_b
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows indication of the device life time Description: This file shows indication of the device life time
@ -558,7 +508,6 @@ Description: This file shows indication of the device life time
What: /sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc* What: /sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc*
What: /sys/bus/platform/devices/*.ufs/power_descriptor/active_icc_levels_vcc*
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows maximum VCC, VCCQ and VCCQ2 value for Description: This file shows maximum VCC, VCCQ and VCCQ2 value for
@ -570,7 +519,6 @@ Description: This file shows maximum VCC, VCCQ and VCCQ2 value for
What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name
What: /sys/bus/platform/devices/*.ufs/string_descriptors/manufacturer_name
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file contains a device manufacturer name string. Description: This file contains a device manufacturer name string.
@ -580,7 +528,6 @@ Description: This file contains a device manufacturer name string.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name
What: /sys/bus/platform/devices/*.ufs/string_descriptors/product_name
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file contains a product name string. The full information Description: This file contains a product name string. The full information
@ -589,7 +536,6 @@ Description: This file contains a product name string. The full information
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id
What: /sys/bus/platform/devices/*.ufs/string_descriptors/oem_id
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file contains a OEM ID string. The full information Description: This file contains a OEM ID string. The full information
@ -598,7 +544,6 @@ Description: This file contains a OEM ID string. The full information
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number
What: /sys/bus/platform/devices/*.ufs/string_descriptors/serial_number
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file contains a device serial number string. The full Description: This file contains a device serial number string. The full
@ -608,7 +553,6 @@ Description: This file contains a device serial number string. The full
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision
What: /sys/bus/platform/devices/*.ufs/string_descriptors/product_revision
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file contains a product revision string. The full Description: This file contains a product revision string. The full
@ -740,7 +684,6 @@ Description: This file shows the granularity of the LUN. This is one of
What: /sys/bus/platform/drivers/ufshcd/*/flags/device_init What: /sys/bus/platform/drivers/ufshcd/*/flags/device_init
What: /sys/bus/platform/devices/*.ufs/flags/device_init
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the device init status. The full information Description: This file shows the device init status. The full information
@ -749,7 +692,6 @@ Description: This file shows the device init status. The full information
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe
What: /sys/bus/platform/devices/*.ufs/flags/permanent_wpe
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether permanent write protection is enabled. Description: This file shows whether permanent write protection is enabled.
@ -759,7 +701,6 @@ Description: This file shows whether permanent write protection is enabled.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe
What: /sys/bus/platform/devices/*.ufs/flags/power_on_wpe
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether write protection is enabled on all Description: This file shows whether write protection is enabled on all
@ -770,7 +711,6 @@ Description: This file shows whether write protection is enabled on all
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable
What: /sys/bus/platform/devices/*.ufs/flags/bkops_enable
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the device background operations are Description: This file shows whether the device background operations are
@ -780,7 +720,6 @@ Description: This file shows whether the device background operations are
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable
What: /sys/bus/platform/devices/*.ufs/flags/life_span_mode_enable
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the device life span mode is enabled. Description: This file shows whether the device life span mode is enabled.
@ -790,7 +729,6 @@ Description: This file shows whether the device life span mode is enabled.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal
What: /sys/bus/platform/devices/*.ufs/flags/phy_resource_removal
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether physical resource removal is enable. Description: This file shows whether physical resource removal is enable.
@ -800,7 +738,6 @@ Description: This file shows whether physical resource removal is enable.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc
What: /sys/bus/platform/devices/*.ufs/flags/busy_rtc
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the device is executing internal Description: This file shows whether the device is executing internal
@ -810,7 +747,6 @@ Description: This file shows whether the device is executing internal
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update
What: /sys/bus/platform/devices/*.ufs/flags/disable_fw_update
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the device FW update is permanently Description: This file shows whether the device FW update is permanently
@ -821,7 +757,6 @@ Description: This file shows whether the device FW update is permanently
What: /sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled What: /sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled
What: /sys/bus/platform/devices/*.ufs/attributes/boot_lun_enabled
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the boot lun enabled UFS device attribute. Description: This file provides the boot lun enabled UFS device attribute.
@ -831,7 +766,6 @@ Description: This file provides the boot lun enabled UFS device attribute.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode
What: /sys/bus/platform/devices/*.ufs/attributes/current_power_mode
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the current power mode UFS device attribute. Description: This file provides the current power mode UFS device attribute.
@ -841,7 +775,6 @@ Description: This file provides the current power mode UFS device attribute.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level
What: /sys/bus/platform/devices/*.ufs/attributes/active_icc_level
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the active icc level UFS device attribute. Description: This file provides the active icc level UFS device attribute.
@ -851,7 +784,6 @@ Description: This file provides the active icc level UFS device attribute.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled
What: /sys/bus/platform/devices/*.ufs/attributes/ooo_data_enabled
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the out of order data transfer enabled UFS Description: This file provides the out of order data transfer enabled UFS
@ -861,7 +793,6 @@ Description: This file provides the out of order data transfer enabled UFS
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status
What: /sys/bus/platform/devices/*.ufs/attributes/bkops_status
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the background operations status UFS device Description: This file provides the background operations status UFS device
@ -871,7 +802,6 @@ Description: This file provides the background operations status UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status
What: /sys/bus/platform/devices/*.ufs/attributes/purge_status
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the purge operation status UFS device Description: This file provides the purge operation status UFS device
@ -881,7 +811,6 @@ Description: This file provides the purge operation status UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size
What: /sys/bus/platform/devices/*.ufs/attributes/max_data_in_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum data size in a DATA IN Description: This file shows the maximum data size in a DATA IN
@ -891,7 +820,6 @@ Description: This file shows the maximum data size in a DATA IN
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size
What: /sys/bus/platform/devices/*.ufs/attributes/max_data_out_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the maximum number of bytes that can be Description: This file shows the maximum number of bytes that can be
@ -901,7 +829,6 @@ Description: This file shows the maximum number of bytes that can be
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency
What: /sys/bus/platform/devices/*.ufs/attributes/reference_clock_frequency
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the reference clock frequency UFS device Description: This file provides the reference clock frequency UFS device
@ -911,7 +838,6 @@ Description: This file provides the reference clock frequency UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock
What: /sys/bus/platform/devices/*.ufs/attributes/configuration_descriptor_lock
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows whether the configuration descriptor is locked. Description: This file shows whether the configuration descriptor is locked.
@ -919,7 +845,6 @@ Description: This file shows whether the configuration descriptor is locked.
UFS specifications 2.1. The file is read only. UFS specifications 2.1. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt
What: /sys/bus/platform/devices/*.ufs/attributes/max_number_of_rtt
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the maximum current number of Description: This file provides the maximum current number of
@ -930,7 +855,6 @@ Description: This file provides the maximum current number of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control
What: /sys/bus/platform/devices/*.ufs/attributes/exception_event_control
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the exception event control UFS device Description: This file provides the exception event control UFS device
@ -940,7 +864,6 @@ Description: This file provides the exception event control UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status
What: /sys/bus/platform/devices/*.ufs/attributes/exception_event_status
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the exception event status UFS device Description: This file provides the exception event status UFS device
@ -950,7 +873,6 @@ Description: This file provides the exception event status UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status
What: /sys/bus/platform/devices/*.ufs/attributes/ffu_status
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file provides the ffu status UFS device attribute. Description: This file provides the ffu status UFS device attribute.
@ -960,7 +882,6 @@ Description: This file provides the ffu status UFS device attribute.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state
What: /sys/bus/platform/devices/*.ufs/attributes/psa_state
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file show the PSA feature status. The full information Description: This file show the PSA feature status. The full information
@ -969,7 +890,6 @@ Description: This file show the PSA feature status. The full information
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size
What: /sys/bus/platform/devices/*.ufs/attributes/psa_data_size
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the amount of data that the host plans to Description: This file shows the amount of data that the host plans to
@ -983,7 +903,7 @@ Description: This file shows the amount of data that the host plans to
What: /sys/class/scsi_device/*/device/dyn_cap_needed What: /sys/class/scsi_device/*/device/dyn_cap_needed
Date: February 2018 Date: February 2018
Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com> Contact: Stanislav Nijnikov <stanislav.nijnikov@wdc.com>
Description: This file shows the amount of physical memory needed Description: This file shows the The amount of physical memory needed
to be removed from the physical memory resources pool of to be removed from the physical memory resources pool of
the particular logical unit. The full information about the particular logical unit. The full information about
the attribute could be found at UFS specifications 2.1. the attribute could be found at UFS specifications 2.1.
@ -992,7 +912,6 @@ Description: This file shows the amount of physical memory needed
What: /sys/bus/platform/drivers/ufshcd/*/rpm_lvl What: /sys/bus/platform/drivers/ufshcd/*/rpm_lvl
What: /sys/bus/platform/devices/*.ufs/rpm_lvl
Date: September 2014 Date: September 2014
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry could be used to set or show the UFS device Description: This entry could be used to set or show the UFS device
@ -1019,7 +938,6 @@ Description: This entry could be used to set or show the UFS device
== ==================================================== == ====================================================
What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state
What: /sys/bus/platform/devices/*.ufs/rpm_target_dev_state
Date: February 2018 Date: February 2018
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry shows the target power mode of an UFS device Description: This entry shows the target power mode of an UFS device
@ -1028,7 +946,6 @@ Description: This entry shows the target power mode of an UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state
What: /sys/bus/platform/devices/*.ufs/rpm_target_link_state
Date: February 2018 Date: February 2018
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry shows the target state of an UFS UIC link Description: This entry shows the target state of an UFS UIC link
@ -1037,7 +954,6 @@ Description: This entry shows the target state of an UFS UIC link
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl
What: /sys/bus/platform/devices/*.ufs/spm_lvl
Date: September 2014 Date: September 2014
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry could be used to set or show the UFS device Description: This entry could be used to set or show the UFS device
@ -1064,7 +980,6 @@ Description: This entry could be used to set or show the UFS device
== ==================================================== == ====================================================
What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state
What: /sys/bus/platform/devices/*.ufs/spm_target_dev_state
Date: February 2018 Date: February 2018
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry shows the target power mode of an UFS device Description: This entry shows the target power mode of an UFS device
@ -1073,7 +988,6 @@ Description: This entry shows the target power mode of an UFS device
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state
What: /sys/bus/platform/devices/*.ufs/spm_target_link_state
Date: February 2018 Date: February 2018
Contact: Subhash Jadavani <subhashj@codeaurora.org> Contact: Subhash Jadavani <subhashj@codeaurora.org>
Description: This entry shows the target state of an UFS UIC link Description: This entry shows the target state of an UFS UIC link
@ -1082,7 +996,6 @@ Description: This entry shows the target state of an UFS UIC link
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_enable What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_enable
What: /sys/bus/platform/devices/*.ufs/monitor/monitor_enable
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the status of performance monitor enablement Description: This file shows the status of performance monitor enablement
@ -1090,7 +1003,6 @@ Description: This file shows the status of performance monitor enablement
is stopped, the performance data collected is also cleared. is stopped, the performance data collected is also cleared.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size
What: /sys/bus/platform/devices/*.ufs/monitor/monitor_chunk_size
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file tells the monitor to focus on requests transferring Description: This file tells the monitor to focus on requests transferring
@ -1098,7 +1010,6 @@ Description: This file tells the monitor to focus on requests transferring
It can only be changed when monitor is disabled. It can only be changed when monitor is disabled.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_sectors What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_sectors
What: /sys/bus/platform/devices/*.ufs/monitor/read_total_sectors
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how many sectors (in 512 Bytes) have been Description: This file shows how many sectors (in 512 Bytes) have been
@ -1107,7 +1018,6 @@ Description: This file shows how many sectors (in 512 Bytes) have been
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_busy What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_busy
What: /sys/bus/platform/devices/*.ufs/monitor/read_total_busy
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how long (in micro seconds) has been spent Description: This file shows how long (in micro seconds) has been spent
@ -1116,7 +1026,6 @@ Description: This file shows how long (in micro seconds) has been spent
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_nr_requests What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_nr_requests
What: /sys/bus/platform/devices/*.ufs/monitor/read_nr_requests
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how many read requests have been sent after Description: This file shows how many read requests have been sent after
@ -1125,7 +1034,6 @@ Description: This file shows how many read requests have been sent after
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_max What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_max
What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_max
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the maximum latency (in micro seconds) of Description: This file shows the maximum latency (in micro seconds) of
@ -1134,7 +1042,6 @@ Description: This file shows the maximum latency (in micro seconds) of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_min What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_min
What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_min
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the minimum latency (in micro seconds) of Description: This file shows the minimum latency (in micro seconds) of
@ -1143,7 +1050,6 @@ Description: This file shows the minimum latency (in micro seconds) of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_avg What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_avg
What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_avg
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the average latency (in micro seconds) of Description: This file shows the average latency (in micro seconds) of
@ -1152,7 +1058,6 @@ Description: This file shows the average latency (in micro seconds) of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_sum What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_sum
What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_sum
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the total latency (in micro seconds) of Description: This file shows the total latency (in micro seconds) of
@ -1161,7 +1066,6 @@ Description: This file shows the total latency (in micro seconds) of
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_sectors What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_sectors
What: /sys/bus/platform/devices/*.ufs/monitor/write_total_sectors
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how many sectors (in 512 Bytes) have been sent Description: This file shows how many sectors (in 512 Bytes) have been sent
@ -1170,7 +1074,6 @@ Description: This file shows how many sectors (in 512 Bytes) have been sent
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_busy What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_busy
What: /sys/bus/platform/devices/*.ufs/monitor/write_total_busy
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how long (in micro seconds) has been spent Description: This file shows how long (in micro seconds) has been spent
@ -1179,7 +1082,6 @@ Description: This file shows how long (in micro seconds) has been spent
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_nr_requests What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_nr_requests
What: /sys/bus/platform/devices/*.ufs/monitor/write_nr_requests
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows how many write requests have been sent after Description: This file shows how many write requests have been sent after
@ -1188,7 +1090,6 @@ Description: This file shows how many write requests have been sent after
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_max What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_max
What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_max
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the maximum latency (in micro seconds) of write Description: This file shows the maximum latency (in micro seconds) of write
@ -1197,7 +1098,6 @@ Description: This file shows the maximum latency (in micro seconds) of write
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_min What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_min
What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_min
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the minimum latency (in micro seconds) of write Description: This file shows the minimum latency (in micro seconds) of write
@ -1206,7 +1106,6 @@ Description: This file shows the minimum latency (in micro seconds) of write
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_avg What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_avg
What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_avg
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the average latency (in micro seconds) of write Description: This file shows the average latency (in micro seconds) of write
@ -1215,7 +1114,6 @@ Description: This file shows the average latency (in micro seconds) of write
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_sum What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_sum
What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_sum
Date: January 2021 Date: January 2021
Contact: Can Guo <cang@codeaurora.org> Contact: Can Guo <cang@codeaurora.org>
Description: This file shows the total latency (in micro seconds) of write Description: This file shows the total latency (in micro seconds) of write
@ -1224,7 +1122,6 @@ Description: This file shows the total latency (in micro seconds) of write
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en
What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_presv_us_en
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows if preserve user-space was configured Description: This entry shows if preserve user-space was configured
@ -1232,7 +1129,6 @@ Description: This entry shows if preserve user-space was configured
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units
What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_shared_alloc_units
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the shared allocated units of WB buffer Description: This entry shows the shared allocated units of WB buffer
@ -1240,7 +1136,6 @@ Description: This entry shows the shared allocated units of WB buffer
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type
What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_type
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the configured WB type. Description: This entry shows the configured WB type.
@ -1249,7 +1144,6 @@ Description: This entry shows the configured WB type.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_buff_cap_adj
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the total user-space decrease in shared Description: This entry shows the total user-space decrease in shared
@ -1260,7 +1154,6 @@ Description: This entry shows the total user-space decrease in shared
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_alloc_units
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the Maximum total WriteBooster Buffer size Description: This entry shows the Maximum total WriteBooster Buffer size
@ -1269,7 +1162,6 @@ Description: This entry shows the Maximum total WriteBooster Buffer size
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_wb_luns
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the maximum number of luns that can support Description: This entry shows the maximum number of luns that can support
@ -1278,7 +1170,6 @@ Description: This entry shows the maximum number of luns that can support
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_red_type
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: The supportability of user space reduction mode Description: The supportability of user space reduction mode
@ -1293,7 +1184,6 @@ Description: The supportability of user space reduction mode
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_wb_type
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: The supportability of WriteBooster Buffer type. Description: The supportability of WriteBooster Buffer type.
@ -1308,7 +1198,6 @@ Description: The supportability of WriteBooster Buffer type.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable
What: /sys/bus/platform/devices/*.ufs/flags/wb_enable
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the status of WriteBooster. Description: This entry shows the status of WriteBooster.
@ -1321,7 +1210,6 @@ Description: This entry shows the status of WriteBooster.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en
What: /sys/bus/platform/devices/*.ufs/flags/wb_flush_en
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows if flush is enabled. Description: This entry shows if flush is enabled.
@ -1334,7 +1222,6 @@ Description: This entry shows if flush is enabled.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8
What: /sys/bus/platform/devices/*.ufs/flags/wb_flush_during_h8
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: Flush WriteBooster Buffer during hibernate state. Description: Flush WriteBooster Buffer during hibernate state.
@ -1349,7 +1236,6 @@ Description: Flush WriteBooster Buffer during hibernate state.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf
What: /sys/bus/platform/devices/*.ufs/attributes/wb_avail_buf
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the amount of unused WriteBooster buffer Description: This entry shows the amount of unused WriteBooster buffer
@ -1358,7 +1244,6 @@ Description: This entry shows the amount of unused WriteBooster buffer
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf
What: /sys/bus/platform/devices/*.ufs/attributes/wb_cur_buf
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the amount of unused current buffer. Description: This entry shows the amount of unused current buffer.
@ -1366,7 +1251,6 @@ Description: This entry shows the amount of unused current buffer.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status
What: /sys/bus/platform/devices/*.ufs/attributes/wb_flush_status
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows the flush operation status. Description: This entry shows the flush operation status.
@ -1383,7 +1267,6 @@ Description: This entry shows the flush operation status.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est
What: /sys/bus/platform/devices/*.ufs/attributes/wb_life_time_est
Date: June 2020 Date: June 2020
Contact: Asutosh Das <asutoshd@codeaurora.org> Contact: Asutosh Das <asutoshd@codeaurora.org>
Description: This entry shows an indication of the WriteBooster Buffer Description: This entry shows an indication of the WriteBooster Buffer
@ -1406,7 +1289,6 @@ Description: This entry shows the configured size of WriteBooster buffer.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/wb_on What: /sys/bus/platform/drivers/ufshcd/*/wb_on
What: /sys/bus/platform/devices/*.ufs/wb_on
Date: January 2021 Date: January 2021
Contact: Bean Huo <beanhuo@micron.com> Contact: Bean Huo <beanhuo@micron.com>
Description: This node is used to set or display whether UFS WriteBooster is Description: This node is used to set or display whether UFS WriteBooster is
@ -1418,7 +1300,6 @@ Description: This node is used to set or display whether UFS WriteBooster is
disable/enable WriteBooster through this sysfs node. disable/enable WriteBooster through this sysfs node.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version
What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_version
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the HPB specification version. Description: This entry shows the HPB specification version.
@ -1429,7 +1310,6 @@ Description: This entry shows the HPB specification version.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_control What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_control
What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_control
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows an indication of the HPB control mode. Description: This entry shows an indication of the HPB control mode.
@ -1439,7 +1319,6 @@ Description: This entry shows an indication of the HPB control mode.
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_region_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_region_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_region_size
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the bHPBRegionSize which can be calculated Description: This entry shows the bHPBRegionSize which can be calculated
@ -1449,7 +1328,6 @@ Description: This entry shows the bHPBRegionSize which can be calculated
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_number_lu What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_number_lu
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_number_lu
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the maximum number of HPB LU supported by Description: This entry shows the maximum number of HPB LU supported by
@ -1460,7 +1338,6 @@ Description: This entry shows the maximum number of HPB LU supported by
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_subregion_size What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_subregion_size
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_subregion_size
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the bHPBSubRegionSize, which can be Description: This entry shows the bHPBSubRegionSize, which can be
@ -1472,7 +1349,6 @@ Description: This entry shows the bHPBSubRegionSize, which can be
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_max_active_regions What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_max_active_regions
What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_max_active_regions
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the maximum number of active HPB regions that Description: This entry shows the maximum number of active HPB regions that
@ -1558,7 +1434,6 @@ Description: This entry shows the requeue timeout threshold for write buffer
this entry. this entry.
What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd
What: /sys/bus/platform/devices/*.ufs/attributes/max_data_size_hpb_single_cmd
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the maximum HPB data size for using a single HPB Description: This entry shows the maximum HPB data size for using a single HPB
@ -1575,7 +1450,6 @@ Description: This entry shows the maximum HPB data size for using a single HPB
The file is read only. The file is read only.
What: /sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable What: /sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable
What: /sys/bus/platform/devices/*.ufs/flags/hpb_enable
Date: June 2021 Date: June 2021
Contact: Daejun Park <daejun7.park@samsung.com> Contact: Daejun Park <daejun7.park@samsung.com>
Description: This entry shows the status of HPB. Description: This entry shows the status of HPB.

View File

@ -29,7 +29,7 @@ Description:
What: /sys/module/xen_blkback/parameters/buffer_squeeze_duration_ms What: /sys/module/xen_blkback/parameters/buffer_squeeze_duration_ms
Date: December 2019 Date: December 2019
KernelVersion: 5.6 KernelVersion: 5.6
Contact: SeongJae Park <sj@kernel.org> Contact: SeongJae Park <sjpark@amazon.de>
Description: Description:
When memory pressure is reported to blkback this option When memory pressure is reported to blkback this option
controls the duration in milliseconds that blkback will not controls the duration in milliseconds that blkback will not
@ -39,7 +39,7 @@ Description:
What: /sys/module/xen_blkback/parameters/feature_persistent What: /sys/module/xen_blkback/parameters/feature_persistent
Date: September 2020 Date: September 2020
KernelVersion: 5.10 KernelVersion: 5.10
Contact: SeongJae Park <sj@kernel.org> Contact: SeongJae Park <sjpark@amazon.de>
Description: Description:
Whether to enable the persistent grants feature or not. Note Whether to enable the persistent grants feature or not. Note
that this option only takes effect on newly created backends. that this option only takes effect on newly created backends.

View File

@ -12,7 +12,7 @@ Description:
What: /sys/module/xen_blkfront/parameters/feature_persistent What: /sys/module/xen_blkfront/parameters/feature_persistent
Date: September 2020 Date: September 2020
KernelVersion: 5.10 KernelVersion: 5.10
Contact: SeongJae Park <sj@kernel.org> Contact: SeongJae Park <sjpark@amazon.de>
Description: Description:
Whether to enable the persistent grants feature or not. Note Whether to enable the persistent grants feature or not. Note
that this option only takes effect on newly created frontends. that this option only takes effect on newly created frontends.

View File

@ -24,14 +24,14 @@ Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: The version of the ESRT structure provided by the firmware. Description: The version of the ESRT structure provided by the firmware.
What: /sys/firmware/efi/esrt/entries/entry<N>/ What: /sys/firmware/efi/esrt/entries/entry$N/
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: Each ESRT entry is identified by a GUID, and each gets a Description: Each ESRT entry is identified by a GUID, and each gets a
subdirectory under entries/ . subdirectory under entries/ .
example: /sys/firmware/efi/esrt/entries/entry0/ example: /sys/firmware/efi/esrt/entries/entry0/
What: /sys/firmware/efi/esrt/entries/entry<N>/fw_type What: /sys/firmware/efi/esrt/entries/entry$N/fw_type
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: What kind of firmware entry this is: Description: What kind of firmware entry this is:
@ -43,33 +43,33 @@ Description: What kind of firmware entry this is:
3 UEFI Driver 3 UEFI Driver
== =============== == ===============
What: /sys/firmware/efi/esrt/entries/entry<N>/fw_class What: /sys/firmware/efi/esrt/entries/entry$N/fw_class
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: This is the entry's guid, and will match the directory name. Description: This is the entry's guid, and will match the directory name.
What: /sys/firmware/efi/esrt/entries/entry<N>/fw_version What: /sys/firmware/efi/esrt/entries/entry$N/fw_version
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: The version of the firmware currently installed. This is a Description: The version of the firmware currently installed. This is a
32-bit unsigned integer. 32-bit unsigned integer.
What: /sys/firmware/efi/esrt/entries/entry<N>/lowest_supported_fw_version What: /sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: The lowest version of the firmware that can be installed. Description: The lowest version of the firmware that can be installed.
What: /sys/firmware/efi/esrt/entries/entry<N>/capsule_flags What: /sys/firmware/efi/esrt/entries/entry$N/capsule_flags
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: Flags that must be passed to UpdateCapsule() Description: Flags that must be passed to UpdateCapsule()
What: /sys/firmware/efi/esrt/entries/entry<N>/last_attempt_version What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_version
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: The last firmware version for which an update was attempted. Description: The last firmware version for which an update was attempted.
What: /sys/firmware/efi/esrt/entries/entry<N>/last_attempt_status What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_status
Date: February 2015 Date: February 2015
Contact: Peter Jones <pjones@redhat.com> Contact: Peter Jones <pjones@redhat.com>
Description: The result of the last firmware update attempt for the Description: The result of the last firmware update attempt for the

View File

@ -112,11 +112,6 @@ Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Description: Set timeout to issue discard commands during umount. Description: Set timeout to issue discard commands during umount.
Default: 5 secs Default: 5 secs
What: /sys/fs/f2fs/<disk>/pending_discard
Date: November 2021
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Description: Shows the number of pending discard commands in the queue.
What: /sys/fs/f2fs/<disk>/max_victim_search What: /sys/fs/f2fs/<disk>/max_victim_search
Date: January 2014 Date: January 2014
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com> Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
@ -517,26 +512,3 @@ Date: July 2021
Contact: "Daeho Jeong" <daehojeong@google.com> Contact: "Daeho Jeong" <daehojeong@google.com>
Description: You can control the multiplier value of bdi device readahead window size Description: You can control the multiplier value of bdi device readahead window size
between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option. between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option.
What: /sys/fs/f2fs/<disk>/max_fragment_chunk
Date: August 2021
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: With "mode=fragment:block" mount options, we can scatter block allocation.
f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
in the length of 1..<max_fragment_hole> by turns. This value can be set
between 1..512 and the default value is 4.
What: /sys/fs/f2fs/<disk>/max_fragment_hole
Date: August 2021
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: With "mode=fragment:block" mount options, we can scatter block allocation.
f2fs will allocate 1..<max_fragment_chunk> blocks in a chunk and make a hole
in the length of 1..<max_fragment_hole> by turns. This value can be set
between 1..512 and the default value is 4.
What: /sys/fs/f2fs/<disk>/gc_urgent_high_remaining
Date: December 2021
Contact: "Daeho Jeong" <daehojeong@google.com>
Description: You can set the trial count limit for GC urgent high mode with this value.
If GC thread gets to the limit, the mode will turn back to GC normal mode.
By default, the value is zero, which means there is no limit like before.

View File

@ -10,7 +10,7 @@ Description:
any cache it aliases, if any). any cache it aliases, if any).
Users: kernel memory tuning tools Users: kernel memory tuning tools
What: /sys/kernel/slab/<cache>/aliases What: /sys/kernel/slab/cache/aliases
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -19,7 +19,7 @@ Description:
The aliases file is read-only and specifies how many caches The aliases file is read-only and specifies how many caches
have merged into this cache. have merged into this cache.
What: /sys/kernel/slab/<cache>/align What: /sys/kernel/slab/cache/align
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -28,7 +28,7 @@ Description:
The align file is read-only and specifies the cache's object The align file is read-only and specifies the cache's object
alignment in bytes. alignment in bytes.
What: /sys/kernel/slab/<cache>/alloc_calls What: /sys/kernel/slab/cache/alloc_calls
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -39,7 +39,7 @@ Description:
The alloc_calls file only contains information if debugging is The alloc_calls file only contains information if debugging is
enabled for that cache (see Documentation/vm/slub.rst). enabled for that cache (see Documentation/vm/slub.rst).
What: /sys/kernel/slab/<cache>/alloc_fastpath What: /sys/kernel/slab/cache/alloc_fastpath
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -50,7 +50,7 @@ Description:
current count. current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/alloc_from_partial What: /sys/kernel/slab/cache/alloc_from_partial
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -62,7 +62,7 @@ Description:
count. count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/alloc_refill What: /sys/kernel/slab/cache/alloc_refill
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -73,7 +73,7 @@ Description:
remote cpu frees. It can be written to clear the current count. remote cpu frees. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/alloc_slab What: /sys/kernel/slab/cache/alloc_slab
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -84,7 +84,7 @@ Description:
clear the current count. clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/alloc_slowpath What: /sys/kernel/slab/cache/alloc_slowpath
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -96,7 +96,7 @@ Description:
clear the current count. clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/cache_dma What: /sys/kernel/slab/cache/cache_dma
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -106,7 +106,7 @@ Description:
are from ZONE_DMA. are from ZONE_DMA.
Available when CONFIG_ZONE_DMA is enabled. Available when CONFIG_ZONE_DMA is enabled.
What: /sys/kernel/slab/<cache>/cpu_slabs What: /sys/kernel/slab/cache/cpu_slabs
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -115,7 +115,7 @@ Description:
The cpu_slabs file is read-only and displays how many cpu slabs The cpu_slabs file is read-only and displays how many cpu slabs
are active and their NUMA locality. are active and their NUMA locality.
What: /sys/kernel/slab/<cache>/cpuslab_flush What: /sys/kernel/slab/cache/cpuslab_flush
Date: April 2009 Date: April 2009
KernelVersion: 2.6.31 KernelVersion: 2.6.31
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -128,7 +128,7 @@ Description:
current count. current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/ctor What: /sys/kernel/slab/cache/ctor
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -138,7 +138,7 @@ Description:
constructor function, which is invoked for each object when a constructor function, which is invoked for each object when a
new slab is allocated. new slab is allocated.
What: /sys/kernel/slab/<cache>/deactivate_empty What: /sys/kernel/slab/cache/deactivate_empty
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -148,7 +148,7 @@ Description:
was deactivated. It can be written to clear the current count. was deactivated. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/deactivate_full What: /sys/kernel/slab/cache/deactivate_full
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -158,7 +158,7 @@ Description:
was deactivated. It can be written to clear the current count. was deactivated. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/deactivate_remote_frees What: /sys/kernel/slab/cache/deactivate_remote_frees
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -169,7 +169,7 @@ Description:
remotely. It can be written to clear the current count. remotely. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/deactivate_to_head What: /sys/kernel/slab/cache/deactivate_to_head
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -180,7 +180,7 @@ Description:
list. It can be written to clear the current count. list. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/deactivate_to_tail What: /sys/kernel/slab/cache/deactivate_to_tail
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -191,7 +191,7 @@ Description:
list. It can be written to clear the current count. list. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/destroy_by_rcu What: /sys/kernel/slab/cache/destroy_by_rcu
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -200,7 +200,7 @@ Description:
The destroy_by_rcu file is read-only and specifies whether The destroy_by_rcu file is read-only and specifies whether
slabs (not objects) are freed by rcu. slabs (not objects) are freed by rcu.
What: /sys/kernel/slab/<cache>/free_add_partial What: /sys/kernel/slab/cache/free_add_partial
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -211,7 +211,7 @@ Description:
partial list. It can be written to clear the current count. partial list. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/free_calls What: /sys/kernel/slab/cache/free_calls
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -221,7 +221,7 @@ Description:
object frees if slab debugging is enabled (see object frees if slab debugging is enabled (see
Documentation/vm/slub.rst). Documentation/vm/slub.rst).
What: /sys/kernel/slab/<cache>/free_fastpath What: /sys/kernel/slab/cache/free_fastpath
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -232,7 +232,7 @@ Description:
It can be written to clear the current count. It can be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/free_frozen What: /sys/kernel/slab/cache/free_frozen
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -243,7 +243,7 @@ Description:
clear the current count. clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/free_remove_partial What: /sys/kernel/slab/cache/free_remove_partial
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -255,7 +255,7 @@ Description:
count. count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/free_slab What: /sys/kernel/slab/cache/free_slab
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -266,7 +266,7 @@ Description:
the current count. the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/free_slowpath What: /sys/kernel/slab/cache/free_slowpath
Date: February 2008 Date: February 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -277,7 +277,7 @@ Description:
be written to clear the current count. be written to clear the current count.
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/hwcache_align What: /sys/kernel/slab/cache/hwcache_align
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -286,7 +286,7 @@ Description:
The hwcache_align file is read-only and specifies whether The hwcache_align file is read-only and specifies whether
objects are aligned on cachelines. objects are aligned on cachelines.
What: /sys/kernel/slab/<cache>/min_partial What: /sys/kernel/slab/cache/min_partial
Date: February 2009 Date: February 2009
KernelVersion: 2.6.30 KernelVersion: 2.6.30
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -297,7 +297,7 @@ Description:
allocating new slabs. Such slabs may be reclaimed by utilizing allocating new slabs. Such slabs may be reclaimed by utilizing
the shrink file. the shrink file.
What: /sys/kernel/slab/<cache>/object_size What: /sys/kernel/slab/cache/object_size
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -306,7 +306,7 @@ Description:
The object_size file is read-only and specifies the cache's The object_size file is read-only and specifies the cache's
object size. object size.
What: /sys/kernel/slab/<cache>/objects What: /sys/kernel/slab/cache/objects
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -315,7 +315,7 @@ Description:
The objects file is read-only and displays how many objects are The objects file is read-only and displays how many objects are
active and from which nodes they are from. active and from which nodes they are from.
What: /sys/kernel/slab/<cache>/objects_partial What: /sys/kernel/slab/cache/objects_partial
Date: April 2008 Date: April 2008
KernelVersion: 2.6.26 KernelVersion: 2.6.26
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -325,7 +325,7 @@ Description:
objects are on partial slabs and from which nodes they are objects are on partial slabs and from which nodes they are
from. from.
What: /sys/kernel/slab/<cache>/objs_per_slab What: /sys/kernel/slab/cache/objs_per_slab
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -333,9 +333,9 @@ Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
Description: Description:
The file objs_per_slab is read-only and specifies how many The file objs_per_slab is read-only and specifies how many
objects may be allocated from a single slab of the order objects may be allocated from a single slab of the order
specified in /sys/kernel/slab/<cache>/order. specified in /sys/kernel/slab/cache/order.
What: /sys/kernel/slab/<cache>/order What: /sys/kernel/slab/cache/order
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -352,7 +352,7 @@ Description:
order is used and this sysfs entry can not be used to change order is used and this sysfs entry can not be used to change
the order at run time. the order at run time.
What: /sys/kernel/slab/<cache>/order_fallback What: /sys/kernel/slab/cache/order_fallback
Date: April 2008 Date: April 2008
KernelVersion: 2.6.26 KernelVersion: 2.6.26
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -365,7 +365,7 @@ Description:
Available when CONFIG_SLUB_STATS is enabled. Available when CONFIG_SLUB_STATS is enabled.
What: /sys/kernel/slab/<cache>/partial What: /sys/kernel/slab/cache/partial
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -374,7 +374,7 @@ Description:
The partial file is read-only and displays how long many The partial file is read-only and displays how long many
partial slabs there are and how long each node's list is. partial slabs there are and how long each node's list is.
What: /sys/kernel/slab/<cache>/poison What: /sys/kernel/slab/cache/poison
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -383,7 +383,7 @@ Description:
The poison file specifies whether objects should be poisoned The poison file specifies whether objects should be poisoned
when a new slab is allocated. when a new slab is allocated.
What: /sys/kernel/slab/<cache>/reclaim_account What: /sys/kernel/slab/cache/reclaim_account
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -392,7 +392,7 @@ Description:
The reclaim_account file specifies whether the cache's objects The reclaim_account file specifies whether the cache's objects
are reclaimable (and grouped by their mobility). are reclaimable (and grouped by their mobility).
What: /sys/kernel/slab/<cache>/red_zone What: /sys/kernel/slab/cache/red_zone
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -401,7 +401,7 @@ Description:
The red_zone file specifies whether the cache's objects are red The red_zone file specifies whether the cache's objects are red
zoned. zoned.
What: /sys/kernel/slab/<cache>/remote_node_defrag_ratio What: /sys/kernel/slab/cache/remote_node_defrag_ratio
Date: January 2008 Date: January 2008
KernelVersion: 2.6.25 KernelVersion: 2.6.25
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -415,7 +415,7 @@ Description:
Available when CONFIG_NUMA is enabled. Available when CONFIG_NUMA is enabled.
What: /sys/kernel/slab/<cache>/sanity_checks What: /sys/kernel/slab/cache/sanity_checks
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -426,7 +426,7 @@ Description:
checks. Caches that enable sanity_checks cannot be merged with checks. Caches that enable sanity_checks cannot be merged with
caches that do not. caches that do not.
What: /sys/kernel/slab/<cache>/shrink What: /sys/kernel/slab/cache/shrink
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -442,7 +442,7 @@ Description:
adversely impact other running applications. So it adversely impact other running applications. So it
should be used with care. should be used with care.
What: /sys/kernel/slab/<cache>/slab_size What: /sys/kernel/slab/cache/slab_size
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -451,7 +451,7 @@ Description:
The slab_size file is read-only and specifies the object size The slab_size file is read-only and specifies the object size
with metadata (debugging information and alignment) in bytes. with metadata (debugging information and alignment) in bytes.
What: /sys/kernel/slab/<cache>/slabs What: /sys/kernel/slab/cache/slabs
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -461,7 +461,7 @@ Description:
there are (both cpu and partial) and from which nodes they are there are (both cpu and partial) and from which nodes they are
from. from.
What: /sys/kernel/slab/<cache>/store_user What: /sys/kernel/slab/cache/store_user
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -470,7 +470,7 @@ Description:
The store_user file specifies whether the location of The store_user file specifies whether the location of
allocation or free should be tracked for a cache. allocation or free should be tracked for a cache.
What: /sys/kernel/slab/<cache>/total_objects What: /sys/kernel/slab/cache/total_objects
Date: April 2008 Date: April 2008
KernelVersion: 2.6.26 KernelVersion: 2.6.26
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -479,7 +479,7 @@ Description:
The total_objects file is read-only and displays how many total The total_objects file is read-only and displays how many total
objects a cache has and from which nodes they are from. objects a cache has and from which nodes they are from.
What: /sys/kernel/slab/<cache>/trace What: /sys/kernel/slab/cache/trace
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -488,7 +488,7 @@ Description:
The trace file specifies whether object allocations and frees The trace file specifies whether object allocations and frees
should be traced. should be traced.
What: /sys/kernel/slab/<cache>/validate What: /sys/kernel/slab/cache/validate
Date: May 2007 Date: May 2007
KernelVersion: 2.6.22 KernelVersion: 2.6.22
Contact: Pekka Enberg <penberg@cs.helsinki.fi>, Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
@ -496,24 +496,3 @@ Contact: Pekka Enberg <penberg@cs.helsinki.fi>,
Description: Description:
Writing to the validate file causes SLUB to traverse all of its Writing to the validate file causes SLUB to traverse all of its
cache's objects and check the validity of metadata. cache's objects and check the validity of metadata.
What: /sys/kernel/slab/<cache>/usersize
Date: Jun 2017
Contact: David Windsor <dave@nullcore.net>
Description:
The usersize file is read-only and contains the usercopy
region size.
What: /sys/kernel/slab/<cache>/slabs_cpu_partial
Date: Aug 2011
Contact: Christoph Lameter <cl@linux.com>
Description:
This read-only file shows the number of partialli allocated
frozen slabs.
What: /sys/kernel/slab/<cache>/cpu_partial
Date: Aug 2011
Contact: Christoph Lameter <cl@linux.com>
Description:
This read-only file shows the number of per cpu partial
pages to keep around.

View File

@ -41,13 +41,6 @@ KernelVersion: 3.3
Contact: Kay Sievers <kay.sievers@vrfy.org> Contact: Kay Sievers <kay.sievers@vrfy.org>
Description: Module size in bytes. Description: Module size in bytes.
What: /sys/module/*/initstate
Date: Nov 2006
KernelVersion: 2.6.19
Contact: Kay Sievers <kay.sievers@vrfy.org>
Description: Show the initialization state(live, coming, going) of
the module.
What: /sys/module/*/taint What: /sys/module/*/taint
Date: Jan 2012 Date: Jan 2012
KernelVersion: 3.3 KernelVersion: 3.3

View File

@ -1,15 +1,14 @@
What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type
Date: Apr 2021 Date: Apr 2021
KernelVersion: 5.13 KernelVersion: 5.13
Contact: "<perry.yuan@dell.com>" Contact: "perry.yuan@dell.com>"
Description: Description:
Display which dell hardware level privacy devices are supported Display which dell hardware level privacy devices are supported
“Dell Privacy” is a set of HW, FW, and SW features to enhance “Dell Privacy” is a set of HW, FW, and SW features to enhance
Dells commitment to platform privacy for MIC, Camera, and Dells commitment to platform privacy for MIC, Camera, and
ePrivacy screens. ePrivacy screens.
The supported hardware privacy devices are: The supported hardware privacy devices are:
Attributes:
Attributes:
Microphone Mute: Microphone Mute:
Identifies the local microphone can be muted by hardware, no applications Identifies the local microphone can be muted by hardware, no applications
is available to capture system mic sound is available to capture system mic sound
@ -19,15 +18,13 @@ Description:
shutter assembly that is built onto the camera module to block capturing images shutter assembly that is built onto the camera module to block capturing images
from outside the laptop from outside the laptop
Values:
supported: supported:
The privacy device is supported by this system The privacy device is supported by this system
unsupported: unsupported:
The privacy device is not supported on this system The privacy device is not supported on this system
For example to check which privacy devices are supported:: For example to check which privacy devices are supported:
# cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type
[Microphone Mute] [supported] [Microphone Mute] [supported]
@ -37,34 +34,21 @@ Description:
What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state
Date: Apr 2021 Date: Apr 2021
KernelVersion: 5.13 KernelVersion: 5.13
Contact: "<perry.yuan@dell.com>" Contact: "perry.yuan@dell.com>"
Description: Description:
Allow user space to check current dell privacy device state. Allow user space to check current dell privacy device state.
Describes the Device State class exposed by BIOS which can be Describes the Device State class exposed by BIOS which can be
consumed by various applications interested in knowing the Privacy consumed by various applications interested in knowing the Privacy
feature capabilities feature capabilities
Attributes:
Attributes:
Microphone:
Identifies the local microphone can be muted by hardware, no applications
is available to capture system mic sound
Camera Shutter:
Identifies camera shutter controlled by hardware, which is a micromechanical
shutter assembly that is built onto the camera module to block capturing images
from outside the laptop
Values:
muted: muted:
Identifies the privacy device is turned off Identifies the privacy device is turned off and cannot send stream to OS applications
and cannot send stream to OS applications
unmuted: unmuted:
Identifies the privacy device is turned on, Identifies the privacy device is turned on ,audio or camera driver can get
audio or camera driver can get stream from mic stream from mic and camera module to OS applications
and camera module to OS applications
For example to check all supported current privacy device states:: For example to check all supported current privacy device states:
# cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state
[Microphone] [unmuted] [Microphone] [unmuted]

View File

@ -133,10 +133,7 @@ Contact: linux-acpi@vger.kernel.org
Description: Description:
(RO) Presents SSC (spread spectrum clock) information for EMI (RO) Presents SSC (spread spectrum clock) information for EMI
(Electro magnetic interference) control. This is a bit mask. (Electro magnetic interference) control. This is a bit mask.
======= ==========================================
Bits Description Bits Description
======= ==========================================
[7:0] Sets clock spectrum spread percentage: [7:0] Sets clock spectrum spread percentage:
0x00=0.2% , 0x3F=10% 0x00=0.2% , 0x3F=10%
1 LSB = 0.1% increase in spread (for 1 LSB = 0.1% increase in spread (for
@ -154,4 +151,3 @@ Description:
[10] 0: No white noise. 1: Add white noise [10] 0: No white noise. 1: Add white noise
to spread waveform to spread waveform
[11] When 1, future writes are ignored. [11] When 1, future writes are ignored.
======= ==========================================

View File

@ -11,10 +11,8 @@ Description:
to take effect. to take effect.
Display global reset setting bits for PMC. Display global reset setting bits for PMC.
* bit 31 - global reset is locked * bit 31 - global reset is locked
* bit 20 - global reset is set * bit 20 - global reset is set
Writing bit 20 value to the etr3 will induce Writing bit 20 value to the etr3 will induce
a platform "global reset" upon consequent platform reset, a platform "global reset" upon consequent platform reset,
in case the register is not locked. in case the register is not locked.

View File

@ -1,4 +1,4 @@
What: /sys/devices/platform/8086<x>:00/firmware_version What: /sys/devices/platform/8086%x:00/firmware_version
Date: November 2016 Date: November 2016
KernelVersion: 4.10 KernelVersion: 4.10
Contact: "Sebastien Guiriec" <sebastien.guiriec@intel.com> Contact: "Sebastien Guiriec" <sebastien.guiriec@intel.com>

View File

@ -6,7 +6,7 @@ Description:
providing a standardized interface to the ancillary providing a standardized interface to the ancillary
features of PTP hardware clocks. features of PTP hardware clocks.
What: /sys/class/ptp/ptp<N>/ What: /sys/class/ptp/ptpN/
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -14,7 +14,7 @@ Description:
hardware clock registered into the PTP class driver hardware clock registered into the PTP class driver
subsystem. subsystem.
What: /sys/class/ptp/ptp<N>/clock_name What: /sys/class/ptp/ptpN/clock_name
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -25,7 +25,7 @@ Description:
MAC based ones. The string does not necessarily have MAC based ones. The string does not necessarily have
to be any kind of unique id. to be any kind of unique id.
What: /sys/class/ptp/ptp<N>/max_adjustment What: /sys/class/ptp/ptpN/max_adjustment
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -33,42 +33,42 @@ Description:
frequency adjustment value (a positive integer) in frequency adjustment value (a positive integer) in
parts per billion. parts per billion.
What: /sys/class/ptp/ptp<N>/max_vclocks What: /sys/class/ptp/ptpN/max_vclocks
Date: May 2021 Date: May 2021
Contact: Yangbo Lu <yangbo.lu@nxp.com> Contact: Yangbo Lu <yangbo.lu@nxp.com>
Description: Description:
This file contains the maximum number of ptp vclocks. This file contains the maximum number of ptp vclocks.
Write integer to re-configure it. Write integer to re-configure it.
What: /sys/class/ptp/ptp<N>/n_alarms What: /sys/class/ptp/ptpN/n_alarms
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
This file contains the number of periodic or one shot This file contains the number of periodic or one shot
alarms offer by the PTP hardware clock. alarms offer by the PTP hardware clock.
What: /sys/class/ptp/ptp<N>/n_external_timestamps What: /sys/class/ptp/ptpN/n_external_timestamps
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
This file contains the number of external timestamp This file contains the number of external timestamp
channels offered by the PTP hardware clock. channels offered by the PTP hardware clock.
What: /sys/class/ptp/ptp<N>/n_periodic_outputs What: /sys/class/ptp/ptpN/n_periodic_outputs
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
This file contains the number of programmable periodic This file contains the number of programmable periodic
output channels offered by the PTP hardware clock. output channels offered by the PTP hardware clock.
What: /sys/class/ptp/ptp<N>/n_pins What: /sys/class/ptp/ptpN/n_pins
Date: March 2014 Date: March 2014
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
This file contains the number of programmable pins This file contains the number of programmable pins
offered by the PTP hardware clock. offered by the PTP hardware clock.
What: /sys/class/ptp/ptp<N>/n_vclocks What: /sys/class/ptp/ptpN/n_vclocks
Date: May 2021 Date: May 2021
Contact: Yangbo Lu <yangbo.lu@nxp.com> Contact: Yangbo Lu <yangbo.lu@nxp.com>
Description: Description:
@ -81,7 +81,7 @@ Description:
switches the physical clock back to normal, adjustable switches the physical clock back to normal, adjustable
operation. operation.
What: /sys/class/ptp/ptp<N>/pins What: /sys/class/ptp/ptpN/pins
Date: March 2014 Date: March 2014
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -94,7 +94,7 @@ Description:
assignment may be changed by two writing numbers into assignment may be changed by two writing numbers into
the file. the file.
What: /sys/class/ptp/ptp<N>/pps_available What: /sys/class/ptp/ptpN/pps_available
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -103,7 +103,7 @@ Description:
"1" means that the PPS is supported, while "0" means "1" means that the PPS is supported, while "0" means
not supported. not supported.
What: /sys/class/ptp/ptp<N>/extts_enable What: /sys/class/ptp/ptpN/extts_enable
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -113,7 +113,7 @@ Description:
To disable external timestamps, write the channel To disable external timestamps, write the channel
index followed by a "0" into the file. index followed by a "0" into the file.
What: /sys/class/ptp/ptp<N>/fifo What: /sys/class/ptp/ptpN/fifo
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -121,7 +121,7 @@ Description:
the form of three integers: channel index, seconds, the form of three integers: channel index, seconds,
and nanoseconds. and nanoseconds.
What: /sys/class/ptp/ptp<N>/period What: /sys/class/ptp/ptpN/period
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:
@ -132,7 +132,7 @@ Description:
period nanoseconds. To disable a periodic output, set period nanoseconds. To disable a periodic output, set
all the seconds and nanoseconds values to zero. all the seconds and nanoseconds values to zero.
What: /sys/class/ptp/ptp<N>/pps_enable What: /sys/class/ptp/ptpN/pps_enable
Date: September 2010 Date: September 2010
Contact: Richard Cochran <richardcochran@gmail.com> Contact: Richard Cochran <richardcochran@gmail.com>
Description: Description:

View File

@ -9,7 +9,7 @@ Description:
The file supports poll() to detect virtual The file supports poll() to detect virtual
console switches. console switches.
What: /sys/class/tty/tty<x>/active What: /sys/class/tty/tty0/active
Date: Nov 2010 Date: Nov 2010
Contact: Kay Sievers <kay.sievers@vrfy.org> Contact: Kay Sievers <kay.sievers@vrfy.org>
Description: Description:
@ -18,7 +18,7 @@ Description:
The file supports poll() to detect virtual The file supports poll() to detect virtual
console switches. console switches.
What: /sys/class/tty/ttyS<x>/uartclk What: /sys/class/tty/ttyS0/uartclk
Date: Sep 2012 Date: Sep 2012
Contact: Tomas Hlavacek <tmshlvck@gmail.com> Contact: Tomas Hlavacek <tmshlvck@gmail.com>
Description: Description:
@ -29,7 +29,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/type What: /sys/class/tty/ttyS0/type
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -38,7 +38,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/line What: /sys/class/tty/ttyS0/line
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -47,7 +47,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/port What: /sys/class/tty/ttyS0/port
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -56,7 +56,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/irq What: /sys/class/tty/ttyS0/irq
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -65,7 +65,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/flags What: /sys/class/tty/ttyS0/flags
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -74,7 +74,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/xmit_fifo_size What: /sys/class/tty/ttyS0/xmit_fifo_size
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -83,7 +83,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/close_delay What: /sys/class/tty/ttyS0/close_delay
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -92,7 +92,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/closing_wait What: /sys/class/tty/ttyS0/closing_wait
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -101,7 +101,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/custom_divisor What: /sys/class/tty/ttyS0/custom_divisor
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -110,7 +110,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/io_type What: /sys/class/tty/ttyS0/io_type
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -120,7 +120,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/iomem_base What: /sys/class/tty/ttyS0/iomem_base
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -129,7 +129,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/iomem_reg_shift What: /sys/class/tty/ttyS0/iomem_reg_shift
Date: October 2012 Date: October 2012
Contact: Alan Cox <alan@linux.intel.com> Contact: Alan Cox <alan@linux.intel.com>
Description: Description:
@ -139,7 +139,7 @@ Description:
These sysfs values expose the TIOCGSERIAL interface via These sysfs values expose the TIOCGSERIAL interface via
sysfs rather than via ioctls. sysfs rather than via ioctls.
What: /sys/class/tty/ttyS<x>/rx_trig_bytes What: /sys/class/tty/ttyS0/rx_trig_bytes
Date: May 2014 Date: May 2014
Contact: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com> Contact: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
Description: Description:
@ -155,7 +155,7 @@ Description:
16550A, which has 1/4/8/14 bytes trigger, the RX trigger is 16550A, which has 1/4/8/14 bytes trigger, the RX trigger is
automatically changed to 4 bytes. automatically changed to 4 bytes.
What: /sys/class/tty/ttyS<x>/console What: /sys/class/tty/ttyS0/console
Date: February 2020 Date: February 2020
Contact: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Contact: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Description: Description:

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -125,7 +125,7 @@
y="492.36218" /></flowRegion><flowPara y="492.36218" /></flowRegion><flowPara
id="flowPara2991" /></flowRoot> <text id="flowPara2991" /></flowRoot> <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="362.371" x="362.371"
y="262.51819" y="262.51819"
id="text4441" id="text4441"

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -202,44 +202,49 @@ newly arrived RCU callbacks against future grace periods:
1 static void rcu_prepare_for_idle(void) 1 static void rcu_prepare_for_idle(void)
2 { 2 {
3 bool needwake; 3 bool needwake;
4 struct rcu_data *rdp = this_cpu_ptr(&rcu_data); 4 struct rcu_data *rdp;
5 struct rcu_node *rnp; 5 struct rcu_dynticks *rdtp = this_cpu_ptr(&rcu_dynticks);
6 int tne; 6 struct rcu_node *rnp;
7 7 struct rcu_state *rsp;
8 lockdep_assert_irqs_disabled(); 8 int tne;
9 if (rcu_rdp_is_offloaded(rdp)) 9
10 return; 10 if (IS_ENABLED(CONFIG_RCU_NOCB_CPU_ALL) ||
11 11 rcu_is_nocb_cpu(smp_processor_id()))
12 /* Handle nohz enablement switches conservatively. */ 12 return;
13 tne = READ_ONCE(tick_nohz_active); 13 tne = READ_ONCE(tick_nohz_active);
14 if (tne != rdp->tick_nohz_enabled_snap) { 14 if (tne != rdtp->tick_nohz_enabled_snap) {
15 if (!rcu_segcblist_empty(&rdp->cblist)) 15 if (rcu_cpu_has_callbacks(NULL))
16 invoke_rcu_core(); /* force nohz to see update. */ 16 invoke_rcu_core();
17 rdp->tick_nohz_enabled_snap = tne; 17 rdtp->tick_nohz_enabled_snap = tne;
18 return; 18 return;
19 } 19 }
20 if (!tne) 20 if (!tne)
21 return; 21 return;
22 22 if (rdtp->all_lazy &&
23 /* 23 rdtp->nonlazy_posted != rdtp->nonlazy_posted_snap) {
24 * If we have not yet accelerated this jiffy, accelerate all 24 rdtp->all_lazy = false;
25 * callbacks on this CPU. 25 rdtp->nonlazy_posted_snap = rdtp->nonlazy_posted;
26 */ 26 invoke_rcu_core();
27 if (rdp->last_accelerate == jiffies) 27 return;
28 return; 28 }
29 rdp->last_accelerate = jiffies; 29 if (rdtp->last_accelerate == jiffies)
30 if (rcu_segcblist_pend_cbs(&rdp->cblist)) { 30 return;
31 rnp = rdp->mynode; 31 rdtp->last_accelerate = jiffies;
32 raw_spin_lock_rcu_node(rnp); /* irqs already disabled. */ 32 for_each_rcu_flavor(rsp) {
33 needwake = rcu_accelerate_cbs(rnp, rdp); 33 rdp = this_cpu_ptr(rsp->rda);
34 raw_spin_unlock_rcu_node(rnp); /* irqs remain disabled. */ 34 if (rcu_segcblist_pend_cbs(&rdp->cblist))
35 if (needwake) 35 continue;
36 rcu_gp_kthread_wake(); 36 rnp = rdp->mynode;
37 } 37 raw_spin_lock_rcu_node(rnp);
38 } 38 needwake = rcu_accelerate_cbs(rsp, rnp, rdp);
39 raw_spin_unlock_rcu_node(rnp);
40 if (needwake)
41 rcu_gp_kthread_wake(rsp);
42 }
43 }
But the only part of ``rcu_prepare_for_idle()`` that really matters for But the only part of ``rcu_prepare_for_idle()`` that really matters for
this discussion are lines 3234. We will therefore abbreviate this this discussion are lines 3739. We will therefore abbreviate this
function as follows: function as follows:
.. kernel-figure:: rcu_node-lock.svg .. kernel-figure:: rcu_node-lock.svg

View File

@ -88,7 +88,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -103,7 +103,7 @@
id="text2993" id="text2993"
y="-261.66608" y="-261.66608"
x="412.12299" x="412.12299"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
xml:space="preserve" xml:space="preserve"
transform="matrix(0,1,-1,0,0,0)"><tspan transform="matrix(0,1,-1,0,0,0)"><tspan
y="-261.66608" y="-261.66608"
@ -135,7 +135,7 @@
</g> </g>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.04738" x="112.04738"
y="268.18076" y="268.18076"
id="text4429" id="text4429"
@ -146,7 +146,7 @@
y="268.18076">WRITE_ONCE(a, 1);</tspan></text> y="268.18076">WRITE_ONCE(a, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.04738" x="112.04738"
y="439.13766" y="439.13766"
id="text4441" id="text4441"
@ -157,7 +157,7 @@
y="439.13766">WRITE_ONCE(b, 1);</tspan></text> y="439.13766">WRITE_ONCE(b, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="255.60869" x="255.60869"
y="309.29346" y="309.29346"
id="text4445" id="text4445"
@ -168,7 +168,7 @@
y="309.29346">r1 = READ_ONCE(a);</tspan></text> y="309.29346">r1 = READ_ONCE(a);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="255.14423" x="255.14423"
y="520.61786" y="520.61786"
id="text4449" id="text4449"
@ -179,7 +179,7 @@
y="520.61786">WRITE_ONCE(c, 1);</tspan></text> y="520.61786">WRITE_ONCE(c, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="384.71124" y="384.71124"
id="text4453" id="text4453"
@ -190,7 +190,7 @@
y="384.71124">r2 = READ_ONCE(b);</tspan></text> y="384.71124">r2 = READ_ONCE(b);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="582.13617" y="582.13617"
id="text4457" id="text4457"
@ -201,7 +201,7 @@
y="582.13617">r3 = READ_ONCE(c);</tspan></text> y="582.13617">r3 = READ_ONCE(c);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.08231" x="112.08231"
y="213.91006" y="213.91006"
id="text4461" id="text4461"
@ -212,7 +212,7 @@
y="213.91006">thread0()</tspan></text> y="213.91006">thread0()</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="252.34512" x="252.34512"
y="213.91006" y="213.91006"
id="text4461-6" id="text4461-6"
@ -223,7 +223,7 @@
y="213.91006">thread1()</tspan></text> y="213.91006">thread1()</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.42557" x="396.42557"
y="213.91006" y="213.91006"
id="text4461-2" id="text4461-2"
@ -251,7 +251,7 @@
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="111.75929" x="111.75929"
y="251.53981" y="251.53981"
id="text4429-8" id="text4429-8"
@ -262,7 +262,7 @@
y="251.53981">rcu_read_lock();</tspan></text> y="251.53981">rcu_read_lock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="367.91556" y="367.91556"
id="text4429-8-9" id="text4429-8-9"
@ -273,7 +273,7 @@
y="367.91556">rcu_read_lock();</tspan></text> y="367.91556">rcu_read_lock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="597.40289" y="597.40289"
id="text4429-8-9-3" id="text4429-8-9-3"
@ -284,7 +284,7 @@
y="597.40289">rcu_read_unlock();</tspan></text> y="597.40289">rcu_read_unlock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="111.75929" x="111.75929"
y="453.15311" y="453.15311"
id="text4429-8-9-3-1" id="text4429-8-9-3-1"
@ -300,7 +300,7 @@
inkscape:connector-curvature="0" /> inkscape:connector-curvature="0" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="394.94427" x="394.94427"
y="345.66351" y="345.66351"
id="text4648" id="text4648"
@ -324,7 +324,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.11968" x="112.11968"
y="475.77856" y="475.77856"
id="text4648-4" id="text4648-4"
@ -361,7 +361,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="254.85066" x="254.85066"
y="348.96619" y="348.96619"
id="text4648-4-3" id="text4648-4-3"

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -116,7 +116,7 @@
<flowRoot <flowRoot
xml:space="preserve" xml:space="preserve"
id="flowRoot2985" id="flowRoot2985"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace"><flowRegion style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
id="flowRegion2987"><rect id="flowRegion2987"><rect
id="rect2989" id="rect2989"
width="82.85714" width="82.85714"
@ -131,7 +131,7 @@
id="text2993" id="text2993"
y="-261.66608" y="-261.66608"
x="436.12299" x="436.12299"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
xml:space="preserve" xml:space="preserve"
transform="matrix(0,1,-1,0,0,0)"><tspan transform="matrix(0,1,-1,0,0,0)"><tspan
y="-261.66608" y="-261.66608"
@ -163,7 +163,7 @@
</g> </g>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.04738" x="112.04738"
y="268.18076" y="268.18076"
id="text4429" id="text4429"
@ -174,7 +174,7 @@
y="268.18076">WRITE_ONCE(a, 1);</tspan></text> y="268.18076">WRITE_ONCE(a, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.04738" x="112.04738"
y="487.13766" y="487.13766"
id="text4441" id="text4441"
@ -185,7 +185,7 @@
y="487.13766">WRITE_ONCE(b, 1);</tspan></text> y="487.13766">WRITE_ONCE(b, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="255.60869" x="255.60869"
y="297.29346" y="297.29346"
id="text4445" id="text4445"
@ -196,7 +196,7 @@
y="297.29346">r1 = READ_ONCE(a);</tspan></text> y="297.29346">r1 = READ_ONCE(a);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="255.14423" x="255.14423"
y="554.61786" y="554.61786"
id="text4449" id="text4449"
@ -207,7 +207,7 @@
y="554.61786">WRITE_ONCE(c, 1);</tspan></text> y="554.61786">WRITE_ONCE(c, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="370.71124" y="370.71124"
id="text4453" id="text4453"
@ -218,7 +218,7 @@
y="370.71124">WRITE_ONCE(d, 1);</tspan></text> y="370.71124">WRITE_ONCE(d, 1);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="572.13617" y="572.13617"
id="text4457" id="text4457"
@ -229,7 +229,7 @@
y="572.13617">r2 = READ_ONCE(c);</tspan></text> y="572.13617">r2 = READ_ONCE(c);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.08231" x="112.08231"
y="213.91006" y="213.91006"
id="text4461" id="text4461"
@ -240,7 +240,7 @@
y="213.91006">thread0()</tspan></text> y="213.91006">thread0()</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="252.34512" x="252.34512"
y="213.91006" y="213.91006"
id="text4461-6" id="text4461-6"
@ -251,7 +251,7 @@
y="213.91006">thread1()</tspan></text> y="213.91006">thread1()</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.42557" x="396.42557"
y="213.91006" y="213.91006"
id="text4461-2" id="text4461-2"
@ -281,7 +281,7 @@
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="cc" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="111.75929" x="111.75929"
y="251.53981" y="251.53981"
id="text4429-8" id="text4429-8"
@ -292,7 +292,7 @@
y="251.53981">rcu_read_lock();</tspan></text> y="251.53981">rcu_read_lock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="353.91556" y="353.91556"
id="text4429-8-9" id="text4429-8-9"
@ -303,7 +303,7 @@
y="353.91556">rcu_read_lock();</tspan></text> y="353.91556">rcu_read_lock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="396.10254" x="396.10254"
y="587.40289" y="587.40289"
id="text4429-8-9-3" id="text4429-8-9-3"
@ -314,7 +314,7 @@
y="587.40289">rcu_read_unlock();</tspan></text> y="587.40289">rcu_read_unlock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="111.75929" x="111.75929"
y="501.15311" y="501.15311"
id="text4429-8-9-3-1" id="text4429-8-9-3-1"
@ -331,7 +331,7 @@
sodipodi:nodetypes="cc" /> sodipodi:nodetypes="cc" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="394.94427" x="394.94427"
y="331.66351" y="331.66351"
id="text4648" id="text4648"
@ -355,7 +355,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="112.11968" x="112.11968"
y="523.77856" y="523.77856"
id="text4648-4" id="text4648-4"
@ -392,7 +392,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="254.85066" x="254.85066"
y="336.96619" y="336.96619"
id="text4648-4-3" id="text4648-4-3"
@ -421,7 +421,7 @@
id="text2993-7" id="text2993-7"
y="-261.66608" y="-261.66608"
x="440.12299" x="440.12299"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
xml:space="preserve" xml:space="preserve"
transform="matrix(0,1,-1,0,0,0)"><tspan transform="matrix(0,1,-1,0,0,0)"><tspan
y="-261.66608" y="-261.66608"
@ -453,7 +453,7 @@
</g> </g>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="541.70508" x="541.70508"
y="387.6217" y="387.6217"
id="text4445-0" id="text4445-0"
@ -464,7 +464,7 @@
y="387.6217">r3 = READ_ONCE(d);</tspan></text> y="387.6217">r3 = READ_ONCE(d);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="541.2406" x="541.2406"
y="646.94611" y="646.94611"
id="text4449-6" id="text4449-6"
@ -488,7 +488,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="540.94702" x="540.94702"
y="427.29443" y="427.29443"
id="text4648-4-3-1" id="text4648-4-3-1"
@ -499,7 +499,7 @@
y="427.29443">QS</tspan></text> y="427.29443">QS</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="686.27747" x="686.27747"
y="461.83929" y="461.83929"
id="text4453-7" id="text4453-7"
@ -510,7 +510,7 @@
y="461.83929">r4 = READ_ONCE(b);</tspan></text> y="461.83929">r4 = READ_ONCE(b);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="686.27747" x="686.27747"
y="669.26422" y="669.26422"
id="text4457-9" id="text4457-9"
@ -521,7 +521,7 @@
y="669.26422">r5 = READ_ONCE(e);</tspan></text> y="669.26422">r5 = READ_ONCE(e);</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="686.27747" x="686.27747"
y="445.04358" y="445.04358"
id="text4429-8-9-33" id="text4429-8-9-33"
@ -532,7 +532,7 @@
y="445.04358">rcu_read_lock();</tspan></text> y="445.04358">rcu_read_lock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="686.27747" x="686.27747"
y="684.53094" y="684.53094"
id="text4429-8-9-3-8" id="text4429-8-9-3-8"
@ -543,7 +543,7 @@
y="684.53094">rcu_read_unlock();</tspan></text> y="684.53094">rcu_read_unlock();</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="685.11914" x="685.11914"
y="422.79153" y="422.79153"
id="text4648-9" id="text4648-9"
@ -567,7 +567,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="397.85934" x="397.85934"
y="609.59003" y="609.59003"
id="text4648-5" id="text4648-5"
@ -591,7 +591,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="256.75986" x="256.75986"
y="586.99133" y="586.99133"
id="text4648-5-2" id="text4648-5-2"
@ -615,7 +615,7 @@
sodipodi:open="true" /> sodipodi:open="true" />
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="546.22791" x="546.22791"
y="213.91006" y="213.91006"
id="text4461-2-5" id="text4461-2-5"
@ -626,7 +626,7 @@
y="213.91006">thread3()</tspan></text> y="213.91006">thread3()</tspan></text>
<text <text
xml:space="preserve" xml:space="preserve"
style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:monospace;-inkscape-font-specification:monospace" style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
x="684.00067" x="684.00067"
y="213.91006" y="213.91006"
id="text4461-2-1" id="text4461-2-1"

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -96,16 +96,6 @@ warnings:
the ``rcu_.*timer wakeup didn't happen for`` console-log message, the ``rcu_.*timer wakeup didn't happen for`` console-log message,
which will include additional debugging information. which will include additional debugging information.
- A low-level kernel issue that either fails to invoke one of the
variants of rcu_user_enter(), rcu_user_exit(), rcu_idle_enter(),
rcu_idle_exit(), rcu_irq_enter(), or rcu_irq_exit() on the one
hand, or that invokes one of them too many times on the other.
Historically, the most frequent issue has been an omission
of either irq_enter() or irq_exit(), which in turn invoke
rcu_irq_enter() or rcu_irq_exit(), respectively. Building your
kernel with CONFIG_RCU_EQS_DEBUG=y can help track down these types
of issues, which sometimes arise in architecture-specific code.
- A bug in the RCU implementation. - A bug in the RCU implementation.
- A hardware failure. This is quite unlikely, but has occurred - A hardware failure. This is quite unlikely, but has occurred
@ -254,6 +244,17 @@ period (in this case 2603), the grace-period sequence number (7075), and
an estimate of the total number of RCU callbacks queued across all CPUs an estimate of the total number of RCU callbacks queued across all CPUs
(625 in this case). (625 in this case).
In kernels with CONFIG_RCU_FAST_NO_HZ, more information is printed
for each CPU::
0: (64628 ticks this GP) idle=dd5/3fffffffffffffff/0 softirq=82/543 last_accelerate: a345/d342 dyntick_enabled: 1
The "last_accelerate:" prints the low-order 16 bits (in hex) of the
jiffies counter when this CPU last invoked rcu_try_advance_all_cbs()
from rcu_needs_cpu() or last invoked rcu_accelerate_cbs() from
rcu_prepare_for_idle(). "dyntick_enabled: 1" indicates that dyntick-idle
processing is enabled.
If the grace period ends just as the stall warning starts printing, If the grace period ends just as the stall warning starts printing,
there will be a spurious stall-warning message, which will include there will be a spurious stall-warning message, which will include
the following:: the following::

View File

@ -39,11 +39,9 @@ different paths, as follows:
:ref:`6. ANALOGY WITH READER-WRITER LOCKING <6_whatisRCU>` :ref:`6. ANALOGY WITH READER-WRITER LOCKING <6_whatisRCU>`
:ref:`7. ANALOGY WITH REFERENCE COUNTING <7_whatisRCU>` :ref:`7. FULL LIST OF RCU APIs <7_whatisRCU>`
:ref:`8. FULL LIST OF RCU APIs <8_whatisRCU>` :ref:`8. ANSWERS TO QUICK QUIZZES <8_whatisRCU>`
:ref:`9. ANSWERS TO QUICK QUIZZES <9_whatisRCU>`
People who prefer starting with a conceptual overview should focus on People who prefer starting with a conceptual overview should focus on
Section 1, though most readers will profit by reading this section at Section 1, though most readers will profit by reading this section at
@ -679,7 +677,7 @@ Quick Quiz #1:
occur when using this algorithm in a real-world Linux occur when using this algorithm in a real-world Linux
kernel? How could this deadlock be avoided? kernel? How could this deadlock be avoided?
:ref:`Answers to Quick Quiz <9_whatisRCU>` :ref:`Answers to Quick Quiz <8_whatisRCU>`
5B. "TOY" EXAMPLE #2: CLASSIC RCU 5B. "TOY" EXAMPLE #2: CLASSIC RCU
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -734,7 +732,7 @@ Quick Quiz #2:
Give an example where Classic RCU's read-side Give an example where Classic RCU's read-side
overhead is **negative**. overhead is **negative**.
:ref:`Answers to Quick Quiz <9_whatisRCU>` :ref:`Answers to Quick Quiz <8_whatisRCU>`
.. _quiz_3: .. _quiz_3:
@ -743,7 +741,7 @@ Quick Quiz #3:
critical section, what the heck do you do in critical section, what the heck do you do in
CONFIG_PREEMPT_RT, where normal spinlocks can block??? CONFIG_PREEMPT_RT, where normal spinlocks can block???
:ref:`Answers to Quick Quiz <9_whatisRCU>` :ref:`Answers to Quick Quiz <8_whatisRCU>`
.. _6_whatisRCU: .. _6_whatisRCU:
@ -874,79 +872,7 @@ be used in place of synchronize_rcu().
.. _7_whatisRCU: .. _7_whatisRCU:
7. ANALOGY WITH REFERENCE COUNTING 7. FULL LIST OF RCU APIs
-----------------------------------
The reader-writer analogy (illustrated by the previous section) is not
always the best way to think about using RCU. Another helpful analogy
considers RCU an effective reference count on everything which is
protected by RCU.
A reference count typically does not prevent the referenced object's
values from changing, but does prevent changes to type -- particularly the
gross change of type that happens when that object's memory is freed and
re-allocated for some other purpose. Once a type-safe reference to the
object is obtained, some other mechanism is needed to ensure consistent
access to the data in the object. This could involve taking a spinlock,
but with RCU the typical approach is to perform reads with SMP-aware
operations such as smp_load_acquire(), to perform updates with atomic
read-modify-write operations, and to provide the necessary ordering.
RCU provides a number of support functions that embed the required
operations and ordering, such as the list_for_each_entry_rcu() macro
used in the previous section.
A more focused view of the reference counting behavior is that,
between rcu_read_lock() and rcu_read_unlock(), any reference taken with
rcu_dereference() on a pointer marked as ``__rcu`` can be treated as
though a reference-count on that object has been temporarily increased.
This prevents the object from changing type. Exactly what this means
will depend on normal expectations of objects of that type, but it
typically includes that spinlocks can still be safely locked, normal
reference counters can be safely manipulated, and ``__rcu`` pointers
can be safely dereferenced.
Some operations that one might expect to see on an object for
which an RCU reference is held include:
- Copying out data that is guaranteed to be stable by the object's type.
- Using kref_get_unless_zero() or similar to get a longer-term
reference. This may fail of course.
- Acquiring a spinlock in the object, and checking if the object still
is the expected object and if so, manipulating it freely.
The understanding that RCU provides a reference that only prevents a
change of type is particularly visible with objects allocated from a
slab cache marked ``SLAB_TYPESAFE_BY_RCU``. RCU operations may yield a
reference to an object from such a cache that has been concurrently
freed and the memory reallocated to a completely different object,
though of the same type. In this case RCU doesn't even protect the
identity of the object from changing, only its type. So the object
found may not be the one expected, but it will be one where it is safe
to take a reference or spinlock and then confirm that the identity
matches the expectations.
With traditional reference counting -- such as that implemented by the
kref library in Linux -- there is typically code that runs when the last
reference to an object is dropped. With kref, this is the function
passed to kref_put(). When RCU is being used, such finalization code
must not be run until all ``__rcu`` pointers referencing the object have
been updated, and then a grace period has passed. Every remaining
globally visible pointer to the object must be considered to be a
potential counted reference, and the finalization code is typically run
using call_rcu() only after all those pointers have been changed.
To see how to choose between these two analogies -- of RCU as a
reader-writer lock and RCU as a reference counting system -- it is useful
to reflect on the scale of the thing being protected. The reader-writer
lock analogy looks at larger multi-part objects such as a linked list
and shows how RCU can facilitate concurrency while elements are added
to, and removed from, the list. The reference-count analogy looks at
the individual objects and looks at how they can be accessed safely
within whatever whole they are a part of.
.. _8_whatisRCU:
8. FULL LIST OF RCU APIs
------------------------- -------------------------
The RCU APIs are documented in docbook-format header comments in the The RCU APIs are documented in docbook-format header comments in the
@ -1109,9 +1035,9 @@ g. Otherwise, use RCU.
Of course, this all assumes that you have determined that RCU is in fact Of course, this all assumes that you have determined that RCU is in fact
the right tool for your job. the right tool for your job.
.. _9_whatisRCU: .. _8_whatisRCU:
9. ANSWERS TO QUICK QUIZZES 8. ANSWERS TO QUICK QUIZZES
---------------------------- ----------------------------
Quick Quiz #1: Quick Quiz #1:

View File

@ -13,8 +13,6 @@ a) waiting for a CPU (while being runnable)
b) completion of synchronous block I/O initiated by the task b) completion of synchronous block I/O initiated by the task
c) swapping in pages c) swapping in pages
d) memory reclaim d) memory reclaim
e) thrashing page cache
f) direct compact
and makes these statistics available to userspace through and makes these statistics available to userspace through
the taskstats interface. the taskstats interface.
@ -43,12 +41,11 @@ generic data structure to userspace corresponding to per-pid and per-tgid
statistics. The delay accounting functionality populates specific fields of statistics. The delay accounting functionality populates specific fields of
this structure. See this structure. See
include/uapi/linux/taskstats.h include/linux/taskstats.h
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 etc.
cache, direct compact 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
@ -91,37 +88,41 @@ seen.
General format of the getdelays command:: General format of the getdelays command::
getdelays [-dilv] [-t tgid] [-p pid] getdelays [-t tgid] [-p pid] [-c cmd...]
Get delays, since system boot, for pid 10:: Get delays, since system boot, for pid 10::
# ./getdelays -d -p 10 # ./getdelays -p 10
(output similar to next case) (output similar to next case)
Get sum of delays, since system boot, for all pids with tgid 5:: Get sum of delays, since system boot, for all pids with tgid 5::
# ./getdelays -d -t 5 # ./getdelays -t 5
print delayacct stats ON
TGID 5
CPU count real total virtual total delay total delay average CPU count real total virtual total delay total
8 7000000 6872122 3382277 0.423ms 7876 92005750 100000000 24001500
IO count delay total delay average IO count delay total
0 0 0ms 0 0
SWAP count delay total delay average SWAP count delay total
0 0 0ms 0 0
RECLAIM count delay total delay average RECLAIM count delay total
0 0 0ms 0 0
THRASHING count delay total delay average
0 0 0ms
COMPACT count delay total delay average
0 0 0ms
Get IO accounting for pid 1, it works only with -p:: Get delays seen in executing a given simple command::
# ./getdelays -i -p 1 # ./getdelays -c ls /
printing IO accounting
linuxrc: read=65536, write=0, cancelled_write=0
The above command can be used with -v to get more debug information. bin data1 data3 data5 dev home media opt root srv sys usr
boot data2 data4 data6 etc lib mnt proc sbin subdomain tmp var
CPU count real total virtual total delay total
6 4000250 4000000 0
IO count delay total
0 0
SWAP count delay total
0 0
RECLAIM count delay total
0 0

View File

@ -55,7 +55,6 @@ SoC-specific documents
stm32/stm32h750-overview stm32/stm32h750-overview
stm32/stm32f769-overview stm32/stm32f769-overview
stm32/stm32f429-overview stm32/stm32f429-overview
stm32/stm32mp13-overview
stm32/stm32mp157-overview stm32/stm32mp157-overview
sunxi sunxi

View File

@ -21,7 +21,6 @@ Orion family
- Datasheet: https://web.archive.org/web/20210124231420/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-datasheet.pdf - Datasheet: https://web.archive.org/web/20210124231420/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-datasheet.pdf
- Programmer's User Guide: https://web.archive.org/web/20210124231536/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-opensource-manual.pdf - Programmer's User Guide: https://web.archive.org/web/20210124231536/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-opensource-manual.pdf
- User Manual: https://web.archive.org/web/20210124231631/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-usermanual.pdf - User Manual: https://web.archive.org/web/20210124231631/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-usermanual.pdf
- Functional Errata: https://web.archive.org/web/20210704165540/https://www.digriz.org.uk/ts78xx/88F5182_Functional_Errata.pdf
- 88F5281 - 88F5281
- Datasheet: https://web.archive.org/web/20131028144728/http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf - Datasheet: https://web.archive.org/web/20131028144728/http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf
@ -104,8 +103,6 @@ Discovery family
Not supported by the Linux kernel. Not supported by the Linux kernel.
Homepage:
https://web.archive.org/web/20110924171043/http://www.marvell.com/embedded-processors/discovery-innovation/
Core: Core:
Feroceon 88fr571-vd ARMv5 compatible Feroceon 88fr571-vd ARMv5 compatible
@ -122,7 +119,6 @@ EBU Armada family
- 88F6707 - 88F6707
- 88F6W11 - 88F6W11
- Product infos: https://web.archive.org/web/20141002083258/http://www.marvell.com/embedded-processors/armada-370/
- Product Brief: https://web.archive.org/web/20121115063038/http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf - Product Brief: https://web.archive.org/web/20121115063038/http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf
- Hardware Spec: https://web.archive.org/web/20140617183747/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf - Hardware Spec: https://web.archive.org/web/20140617183747/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf
- Functional Spec: https://web.archive.org/web/20140617183701/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf - Functional Spec: https://web.archive.org/web/20140617183701/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf
@ -130,29 +126,9 @@ EBU Armada family
Core: Core:
Sheeva ARMv7 compatible PJ4B Sheeva ARMv7 compatible PJ4B
Armada XP Flavors:
- MV78230
- MV78260
- MV78460
NOTE:
not to be confused with the non-SMP 78xx0 SoCs
- Product infos: https://web.archive.org/web/20150101215721/http://www.marvell.com/embedded-processors/armada-xp/
- Product Brief: https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
- Functional Spec: https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
- Hardware Specs:
- https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
- https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
- https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
Core:
Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP
Armada 375 Flavors: Armada 375 Flavors:
- 88F6720 - 88F6720
- Product infos: https://web.archive.org/web/20140108032402/http://www.marvell.com/embedded-processors/armada-375/
- Product Brief: https://web.archive.org/web/20131216023516/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf - Product Brief: https://web.archive.org/web/20131216023516/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf
Core: Core:
@ -185,6 +161,29 @@ EBU Armada family
Core: Core:
ARM Cortex-A9 ARM Cortex-A9
Armada XP Flavors:
- MV78230
- MV78260
- MV78460
NOTE:
not to be confused with the non-SMP 78xx0 SoCs
Product Brief:
https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
Functional Spec:
https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
- Hardware Specs:
- https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
- https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
- https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
Core:
Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP
Linux kernel mach directory: Linux kernel mach directory:
arch/arm/mach-mvebu arch/arm/mach-mvebu
Linux kernel plat directory: Linux kernel plat directory:
@ -213,7 +212,6 @@ EBU Armada family ARMv8
arch/arm64/boot/dts/marvell/armada-37* arch/arm64/boot/dts/marvell/armada-37*
Armada 7K Flavors: Armada 7K Flavors:
- 88F6040 (AP806 Quad 600 MHz + one CP110)
- 88F7020 (AP806 Dual + one CP110) - 88F7020 (AP806 Dual + one CP110)
- 88F7040 (AP806 Quad + one CP110) - 88F7040 (AP806 Quad + one CP110)
@ -245,33 +243,14 @@ EBU Armada family ARMv8
Device tree files: Device tree files:
arch/arm64/boot/dts/marvell/armada-80* arch/arm64/boot/dts/marvell/armada-80*
Octeon TX2 CN913x Flavors:
- CN9130 (AP807 Quad + one internal CP115)
- CN9131 (AP807 Quad + one internal CP115 + one external CP115 / 88F8215)
- CN9132 (AP807 Quad + one internal CP115 + two external CP115 / 88F8215)
Core:
ARM Cortex A72
Homepage:
https://web.archive.org/web/20200803150818/https://www.marvell.com/products/infrastructure-processors/multi-core-processors/octeon-tx2/octeon-tx2-cn9130.html
Product Brief:
https://web.archive.org/web/20200803150818/https://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-infrastructure-processors-octeon-tx2-cn913x-product-brief-2020-02.pdf
Device tree files:
arch/arm64/boot/dts/marvell/cn913*
Avanta family Avanta family
------------- -------------
Flavors: Flavors:
- 88F6500
- 88F6510 - 88F6510
- 88F6530P - 88F6530P
- 88F6550 - 88F6550
- 88F6560 - 88F6560
- 88F6601
Homepage: Homepage:
https://web.archive.org/web/20181005145041/http://www.marvell.com/broadband/ https://web.archive.org/web/20181005145041/http://www.marvell.com/broadband/
@ -438,7 +417,7 @@ Berlin family (Multimedia Solutions)
- Flavors: - Flavors:
- 88DE3010, Armada 1000 (no Linux support) - 88DE3010, Armada 1000 (no Linux support)
- Core: Marvell PJ1 (ARMv5TE), Dual-core - Core: Marvell PJ1 (ARMv5TE), Dual-core
- Product Brief: https://web.archive.org/web/20131103162620/http://www.marvell.com/digital-entertainment/assets/armada_1000_pb.pdf - Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf
- 88DE3005, Armada 1500 Mini - 88DE3005, Armada 1500 Mini
- Design name: BG2CD - Design name: BG2CD
- Core: ARM Cortex-A9, PL310 L2CC - Core: ARM Cortex-A9, PL310 L2CC

View File

@ -137,26 +137,6 @@ the Microchip website: http://www.microchip.com.
http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf
* ARM Cortex-A7 based SoCs
- sama7g5 family
- sama7g51
- sama7g52
- sama7g53
- sama7g54 (device superset)
* Datasheet
Coming soon
- lan966 family
- lan9662
- lan9668
* Datasheet
Coming soon
* ARM Cortex-M7 MCUs * ARM Cortex-M7 MCUs
- sams70 family - sams70 family

View File

@ -340,16 +340,6 @@ Before jumping into the kernel, the following conditions must be met:
- SMCR_EL2.LEN must be initialised to the same value for all CPUs the - SMCR_EL2.LEN must be initialised to the same value for all CPUs the
kernel will execute on. kernel will execute on.
For CPUs with the Scalable Matrix Extension FA64 feature (FEAT_SME_FA64)
- If EL3 is present:
- SMCR_EL3.FA64 (bit 31) must be initialised to 0b1.
- If the kernel is entered at EL1 and EL2 is present:
- SMCR_EL2.FA64 (bit 31) must be initialised to 0b1.
The requirements described above for CPU mode, caches, MMUs, architected The requirements described above for CPU mode, caches, MMUs, architected
timers, coherency and system registers apply to all CPUs. All CPUs must timers, coherency and system registers apply to all CPUs. All CPUs must
enter the kernel in the same exception level. Where the values documented enter the kernel in the same exception level. Where the values documented

View File

@ -2,10 +2,7 @@
.. _perf_index: .. _perf_index:
==== =====================
Perf
====
Perf Event Attributes Perf Event Attributes
===================== =====================
@ -91,76 +88,3 @@ exclude_host. However when using !exclude_hv there is a small blackout
window at the guest entry/exit where host events are not captured. window at the guest entry/exit where host events are not captured.
On VHE systems there are no blackout windows. On VHE systems there are no blackout windows.
Perf Userspace PMU Hardware Counter Access
==========================================
Overview
--------
The perf userspace tool relies on the PMU to monitor events. It offers an
abstraction layer over the hardware counters since the underlying
implementation is cpu-dependent.
Arm64 allows userspace tools to have access to the registers storing the
hardware counters' values directly.
This targets specifically self-monitoring tasks in order to reduce the overhead
by directly accessing the registers without having to go through the kernel.
How-to
------
The focus is set on the armv8 PMUv3 which makes sure that the access to the pmu
registers is enabled and that the userspace has access to the relevant
information in order to use them.
In order to have access to the hardware counters, the global sysctl
kernel/perf_user_access must first be enabled:
.. code-block:: sh
echo 1 > /proc/sys/kernel/perf_user_access
It is necessary to open the event using the perf tool interface with config1:1
attr bit set: the sys_perf_event_open syscall returns a fd which can
subsequently be used with the mmap syscall in order to retrieve a page of memory
containing information about the event. The PMU driver uses this page to expose
to the user the hardware counter's index and other necessary data. Using this
index enables the user to access the PMU registers using the `mrs` instruction.
Access to the PMU registers is only valid while the sequence lock is unchanged.
In particular, the PMSELR_EL0 register is zeroed each time the sequence lock is
changed.
The userspace access is supported in libperf using the perf_evsel__mmap()
and perf_evsel__read() functions. See `tools/lib/perf/tests/test-evsel.c`_ for
an example.
About heterogeneous systems
---------------------------
On heterogeneous systems such as big.LITTLE, userspace PMU counter access can
only be enabled when the tasks are pinned to a homogeneous subset of cores and
the corresponding PMU instance is opened by specifying the 'type' attribute.
The use of generic event types is not supported in this case.
Have a look at `tools/perf/arch/arm64/tests/user-events.c`_ for an example. It
can be run using the perf tool to check that the access to the registers works
correctly from userspace:
.. code-block:: sh
perf test -v user
About chained events and counter sizes
--------------------------------------
The user can request either a 32-bit (config1:0 == 0) or 64-bit (config1:0 == 1)
counter along with userspace access. The sys_perf_event_open syscall will fail
if a 64-bit counter is requested and the hardware doesn't support 64-bit
counters. Chained events are not supported in conjunction with userspace counter
access. If a 32-bit counter is requested on hardware with 64-bit counters, then
userspace must treat the upper 32-bits read from the counter as UNKNOWN. The
'pmc_width' field in the user page will indicate the valid width of the counter
and should be used to mask the upper bits as needed.
.. Links
.. _tools/perf/arch/arm64/tests/user-events.c:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/arch/arm64/tests/user-events.c
.. _tools/lib/perf/tests/test-evsel.c:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/lib/perf/tests/test-evsel.c

View File

@ -53,10 +53,11 @@ The number of bits that the PAC occupies in a pointer is 55 minus the
virtual address size configured by the kernel. For example, with a virtual address size configured by the kernel. For example, with a
virtual address size of 48, the PAC is 7 bits wide. virtual address size of 48, the PAC is 7 bits wide.
When ARM64_PTR_AUTH_KERNEL is selected, the kernel will be compiled Recent versions of GCC can compile code with APIAKey-based return
with HINT space pointer authentication instructions protecting address protection when passed the -msign-return-address option. This
function returns. Kernels built with this option will work on hardware uses instructions in the HINT space (unless -march=armv8.3-a or higher
with or without pointer authentication support. is also passed), and such code can run on systems without the pointer
authentication extension.
In addition to exec(), keys can also be reinitialized to random values In addition to exec(), keys can also be reinitialized to random values
using the PR_PAC_RESET_KEYS prctl. A bitmask of PR_PAC_APIAKEY, using the PR_PAC_RESET_KEYS prctl. A bitmask of PR_PAC_APIAKEY,

View File

@ -52,12 +52,6 @@ stable kernels.
| Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 | | Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A510 | #2064142 | ARM64_ERRATUM_2064142 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A510 | #2038923 | ARM64_ERRATUM_2038923 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A510 | #1902691 | ARM64_ERRATUM_1902691 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 | | ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 | | ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 |
@ -98,32 +92,12 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 | | ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A510 | #2051678 | ARM64_ERRATUM_2051678 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N1 | #1349291 | N/A | | ARM | Neoverse-N1 | #1349291 | N/A |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 | | ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 |
+----------------+-----------------+-----------------+-----------------------------+
| ARM | MMU-500 | #841119,826419 | N/A | | ARM | MMU-500 | #841119,826419 | N/A |
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+

View File

@ -255,7 +255,7 @@ prctl(PR_SVE_GET_VL)
vector length change (which would only normally be the case between a vector length change (which would only normally be the case between a
fork() or vfork() and the corresponding execve() in typical use). fork() or vfork() and the corresponding execve() in typical use).
To extract the vector length from the result, bitwise and it with To extract the vector length from the result, and it with
PR_SVE_VL_LEN_MASK. PR_SVE_VL_LEN_MASK.
Return value: a nonnegative value on success, or a negative value on error: Return value: a nonnegative value on success, or a negative value on error:

View File

@ -20,6 +20,7 @@ Block
kyber-iosched kyber-iosched
null_blk null_blk
pr pr
queue-sysfs
request request
stat stat
switching-sched switching-sched

View File

@ -1,7 +1,5 @@
.. SPDX-License-Identifier: GPL-2.0 .. SPDX-License-Identifier: GPL-2.0
.. _inline_encryption:
================= =================
Inline Encryption Inline Encryption
================= =================
@ -9,269 +7,230 @@ Inline Encryption
Background Background
========== ==========
Inline encryption hardware sits logically between memory and disk, and can Inline encryption hardware sits logically between memory and the disk, and can
en/decrypt data as it goes in/out of the disk. For each I/O request, software en/decrypt data as it goes in/out of the disk. Inline encryption hardware has a
can control exactly how the inline encryption hardware will en/decrypt the data fixed number of "keyslots" - slots into which encryption contexts (i.e. the
in terms of key, algorithm, data unit size (the granularity of en/decryption), encryption key, encryption algorithm, data unit size) can be programmed by the
and data unit number (a value that determines the initialization vector(s)). kernel at any time. Each request sent to the disk can be tagged with the index
of a keyslot (and also a data unit number to act as an encryption tweak), and
the inline encryption hardware will en/decrypt the data in the request with the
encryption context programmed into that keyslot. This is very different from
full disk encryption solutions like self encrypting drives/TCG OPAL/ATA
Security standards, since with inline encryption, any block on disk could be
encrypted with any encryption context the kernel chooses.
Some inline encryption hardware accepts all encryption parameters including raw
keys directly in low-level I/O requests. However, most inline encryption
hardware instead has a fixed number of "keyslots" and requires that the key,
algorithm, and data unit size first be programmed into a keyslot. Each
low-level I/O request then just contains a keyslot index and data unit number.
Note that inline encryption hardware is very different from traditional crypto
accelerators, which are supported through the kernel crypto API. Traditional
crypto accelerators operate on memory regions, whereas inline encryption
hardware operates on I/O requests. Thus, inline encryption hardware needs to be
managed by the block layer, not the kernel crypto API.
Inline encryption hardware is also very different from "self-encrypting drives",
such as those based on the TCG Opal or ATA Security standards. Self-encrypting
drives don't provide fine-grained control of encryption and provide no way to
verify the correctness of the resulting ciphertext. Inline encryption hardware
provides fine-grained control of encryption, including the choice of key and
initialization vector for each sector, and can be tested for correctness.
Objective Objective
========= =========
We want to support inline encryption in the kernel. To make testing easier, we We want to support inline encryption (IE) in the kernel.
also want support for falling back to the kernel crypto API when actual inline To allow for testing, we also want a crypto API fallback when actual
encryption hardware is absent. We also want inline encryption to work with IE hardware is absent. We also want IE to work with layered devices
layered devices like device-mapper and loopback (i.e. we want to be able to use like dm and loopback (i.e. we want to be able to use the IE hardware
the inline encryption hardware of the underlying devices if present, or else of the underlying devices if present, or else fall back to crypto API
fall back to crypto API en/decryption). en/decryption).
Constraints and notes Constraints and notes
===================== =====================
- We need a way for upper layers (e.g. filesystems) to specify an encryption - IE hardware has a limited number of "keyslots" that can be programmed
context to use for en/decrypting a bio, and device drivers (e.g. UFSHCD) need with an encryption context (key, algorithm, data unit size, etc.) at any time.
to be able to use that encryption context when they process the request. One can specify a keyslot in a data request made to the device, and the
Encryption contexts also introduce constraints on bio merging; the block layer device will en/decrypt the data using the encryption context programmed into
needs to be aware of these constraints. that specified keyslot. When possible, we want to make multiple requests with
the same encryption context share the same keyslot.
- Different inline encryption hardware has different supported algorithms, - We need a way for upper layers like filesystems to specify an encryption
supported data unit sizes, maximum data unit numbers, etc. We call these context to use for en/decrypting a struct bio, and a device driver (like UFS)
properties the "crypto capabilities". We need a way for device drivers to needs to be able to use that encryption context when it processes the bio.
advertise crypto capabilities to upper layers in a generic way.
- Inline encryption hardware usually (but not always) requires that keys be - We need a way for device drivers to expose their inline encryption
programmed into keyslots before being used. Since programming keyslots may be capabilities in a unified way to the upper layers.
slow and there may not be very many keyslots, we shouldn't just program the
key for every I/O request, but rather keep track of which keys are in the
keyslots and reuse an already-programmed keyslot when possible.
- Upper layers typically define a specific end-of-life for crypto keys, e.g.
when an encrypted directory is locked or when a crypto mapping is torn down.
At these times, keys are wiped from memory. We must provide a way for upper
layers to also evict keys from any keyslots they are present in.
- When possible, device-mapper devices must be able to pass through the inline Design
encryption support of their underlying devices. However, it doesn't make ======
sense for device-mapper devices to have keyslots themselves.
Basic design We add a struct bio_crypt_ctx to struct bio that can
============ represent an encryption context, because we need to be able to pass this
encryption context from the upper layers (like the fs layer) to the
device driver to act upon.
We introduce ``struct blk_crypto_key`` to represent an inline encryption key and While IE hardware works on the notion of keyslots, the FS layer has no
how it will be used. This includes the actual bytes of the key; the size of the knowledge of keyslots - it simply wants to specify an encryption context to
key; the algorithm and data unit size the key will be used with; and the number use while en/decrypting a bio.
of bytes needed to represent the maximum data unit number the key will be used
with.
We introduce ``struct bio_crypt_ctx`` to represent an encryption context. It We introduce a keyslot manager (KSM) that handles the translation from
contains a data unit number and a pointer to a blk_crypto_key. We add pointers encryption contexts specified by the FS to keyslots on the IE hardware.
to a bio_crypt_ctx to ``struct bio`` and ``struct request``; this allows users This KSM also serves as the way IE hardware can expose its capabilities to
of the block layer (e.g. filesystems) to provide an encryption context when upper layers. The generic mode of operation is: each device driver that wants
creating a bio and have it be passed down the stack for processing by the block to support IE will construct a KSM and set it up in its struct request_queue.
layer and device drivers. Note that the encryption context doesn't explicitly Upper layers that want to use IE on this device can then use this KSM in
say whether to encrypt or decrypt, as that is implicit from the direction of the the device's struct request_queue to translate an encryption context into
bio; WRITE means encrypt, and READ means decrypt. a keyslot. The presence of the KSM in the request queue shall be used to mean
that the device supports IE.
We also introduce ``struct blk_crypto_profile`` to contain all generic inline The KSM uses refcounts to track which keyslots are idle (either they have no
encryption-related state for a particular inline encryption device. The encryption context programmed, or there are no in-flight struct bios
blk_crypto_profile serves as the way that drivers for inline encryption hardware referencing that keyslot). When a new encryption context needs a keyslot, it
advertise their crypto capabilities and provide certain functions (e.g., tries to find a keyslot that has already been programmed with the same
functions to program and evict keys) to upper layers. Each device driver that encryption context, and if there is no such keyslot, it evicts the least
wants to support inline encryption will construct a blk_crypto_profile, then recently used idle keyslot and programs the new encryption context into that
associate it with the disk's request_queue. one. If no idle keyslots are available, then the caller will sleep until there
is at least one.
The blk_crypto_profile also manages the hardware's keyslots, when applicable.
This happens in the block layer, so that users of the block layer can just
specify encryption contexts and don't need to know about keyslots at all, nor do
device drivers need to care about most details of keyslot management.
Specifically, for each keyslot, the block layer (via the blk_crypto_profile) blk-mq changes, other block layer changes and blk-crypto-fallback
keeps track of which blk_crypto_key that keyslot contains (if any), and how many =================================================================
in-flight I/O requests are using it. When the block layer creates a
``struct request`` for a bio that has an encryption context, it grabs a keyslot
that already contains the key if possible. Otherwise it waits for an idle
keyslot (a keyslot that isn't in-use by any I/O), then programs the key into the
least-recently-used idle keyslot using the function the device driver provided.
In both cases, the resulting keyslot is stored in the ``crypt_keyslot`` field of
the request, where it is then accessible to device drivers and is released after
the request completes.
``struct request`` also contains a pointer to the original bio_crypt_ctx. We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to
Requests can be built from multiple bios, and the block layer must take the struct request. These will be referred to as the ``crypto fields``
encryption context into account when trying to merge bios and requests. For two for the request. This ``keyslot`` is the keyslot into which the
bios/requests to be merged, they must have compatible encryption contexts: both ``bi_crypt_context`` has been programmed in the KSM of the ``request_queue``
unencrypted, or both encrypted with the same key and contiguous data unit that this request is being sent to.
numbers. Only the encryption context for the first bio in a request is
retained, since the remaining bios have been verified to be merge-compatible
with the first bio.
To make it possible for inline encryption to work with request_queue based We introduce ``block/blk-crypto-fallback.c``, which allows upper layers to remain
layered devices, when a request is cloned, its encryption context is cloned as blissfully unaware of whether or not real inline encryption hardware is present
well. When the cloned request is submitted, it is then processed as usual; this underneath. When a bio is submitted with a target ``request_queue`` that doesn't
includes getting a keyslot from the clone's target device if needed. support the encryption context specified with the bio, the block layer will
en/decrypt the bio with the blk-crypto-fallback.
blk-crypto-fallback If the bio is a ``WRITE`` bio, a bounce bio is allocated, and the data in the bio
=================== is encrypted stored in the bounce bio - blk-mq will then proceed to process the
bounce bio as if it were not encrypted at all (except when blk-integrity is
concerned). ``blk-crypto-fallback`` sets the bounce bio's ``bi_end_io`` to an
internal function that cleans up the bounce bio and ends the original bio.
It is desirable for the inline encryption support of upper layers (e.g. If the bio is a ``READ`` bio, the bio's ``bi_end_io`` (and also ``bi_private``)
filesystems) to be testable without real inline encryption hardware, and is saved and overwritten by ``blk-crypto-fallback`` to
likewise for the block layer's keyslot management logic. It is also desirable ``bio_crypto_fallback_decrypt_bio``. The bio's ``bi_crypt_context`` is also
to allow upper layers to just always use inline encryption rather than have to overwritten with ``NULL``, so that to the rest of the stack, the bio looks
implement encryption in multiple ways. as if it was a regular bio that never had an encryption context specified.
``bio_crypto_fallback_decrypt_bio`` will decrypt the bio, restore the original
``bi_end_io`` (and also ``bi_private``) and end the bio again.
Therefore, we also introduce *blk-crypto-fallback*, which is an implementation Regardless of whether real inline encryption hardware is used or the
of inline encryption using the kernel crypto API. blk-crypto-fallback is built
into the block layer, so it works on any block device without any special setup.
Essentially, when a bio with an encryption context is submitted to a
request_queue that doesn't support that encryption context, the block layer will
handle en/decryption of the bio using blk-crypto-fallback.
For encryption, the data cannot be encrypted in-place, as callers usually rely
on it being unmodified. Instead, blk-crypto-fallback allocates bounce pages,
fills a new bio with those bounce pages, encrypts the data into those bounce
pages, and submits that "bounce" bio. When the bounce bio completes,
blk-crypto-fallback completes the original bio. If the original bio is too
large, multiple bounce bios may be required; see the code for details.
For decryption, blk-crypto-fallback "wraps" the bio's completion callback
(``bi_complete``) and private data (``bi_private``) with its own, unsets the
bio's encryption context, then submits the bio. If the read completes
successfully, blk-crypto-fallback restores the bio's original completion
callback and private data, then decrypts the bio's data in-place using the
kernel crypto API. Decryption happens from a workqueue, as it may sleep.
Afterwards, blk-crypto-fallback completes the bio.
In both cases, the bios that blk-crypto-fallback submits no longer have an
encryption context. Therefore, lower layers only see standard unencrypted I/O.
blk-crypto-fallback also defines its own blk_crypto_profile and has its own
"keyslots"; its keyslots contain ``struct crypto_skcipher`` objects. The reason
for this is twofold. First, it allows the keyslot management logic to be tested
without actual inline encryption hardware. Second, similar to actual inline
encryption hardware, the crypto API doesn't accept keys directly in requests but
rather requires that keys be set ahead of time, and setting keys can be
expensive; moreover, allocating a crypto_skcipher can't happen on the I/O path
at all due to the locks it takes. Therefore, the concept of keyslots still
makes sense for blk-crypto-fallback.
Note that regardless of whether real inline encryption hardware or
blk-crypto-fallback is used, the ciphertext written to disk (and hence the blk-crypto-fallback is used, the ciphertext written to disk (and hence the
on-disk format of data) will be the same (assuming that both the inline on-disk format of data) will be the same (assuming the hardware's implementation
encryption hardware's implementation and the kernel crypto API's implementation of the algorithm being used adheres to spec and functions correctly).
of the algorithm being used adhere to spec and function correctly).
If a ``request queue``'s inline encryption hardware claimed to support the
encryption context specified with a bio, then it will not be handled by the
``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a
struct request needs to be allocated for that bio. At that point,
blk-mq tries to program the encryption context into the ``request_queue``'s
keyslot_manager, and obtain a keyslot, which it stores in its newly added
``keyslot`` field. This keyslot is released when the request is completed.
When the first bio is added to a request, ``blk_crypto_rq_bio_prep`` is called,
which sets the request's ``crypt_ctx`` to a copy of the bio's
``bi_crypt_context``. bio_crypt_do_front_merge is called whenever a subsequent
bio is merged to the front of the request, which updates the ``crypt_ctx`` of
the request so that it matches the newly merged bio's ``bi_crypt_context``. In particular, the request keeps a copy of the ``bi_crypt_context`` of the first
bio in its bio-list (blk-mq needs to be careful to maintain this invariant
during bio and request merges).
To make it possible for inline encryption to work with request queue based
layered devices, when a request is cloned, its ``crypto fields`` are cloned as
well. When the cloned request is submitted, blk-mq programs the
``bi_crypt_context`` of the request into the clone's request_queue's keyslot
manager, and stores the returned keyslot in the clone's ``keyslot``.
blk-crypto-fallback is optional and is controlled by the
``CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK`` kernel configuration option.
API presented to users of the block layer API presented to users of the block layer
========================================= =========================================
``blk_crypto_config_supported()`` allows users to check ahead of time whether ``struct blk_crypto_key`` represents a crypto key (the raw key, size of the
inline encryption with particular crypto settings will work on a particular key, the crypto algorithm to use, the data unit size to use, and the number of
request_queue -- either via hardware or via blk-crypto-fallback. This function bytes required to represent data unit numbers that will be specified with the
takes in a ``struct blk_crypto_config`` which is like blk_crypto_key, but omits ``bi_crypt_context``).
the actual bytes of the key and instead just contains the algorithm, data unit
size, etc. This function can be useful if blk-crypto-fallback is disabled.
``blk_crypto_init_key()`` allows users to initialize a blk_crypto_key. ``blk_crypto_init_key`` allows upper layers to initialize such a
``blk_crypto_key``.
Users must call ``blk_crypto_start_using_key()`` before actually starting to use ``bio_crypt_set_ctx`` should be called on any bio that a user of
a blk_crypto_key on a request_queue (even if ``blk_crypto_config_supported()`` the block layer wants en/decrypted via inline encryption (or the
was called earlier). This is needed to initialize blk-crypto-fallback if it blk-crypto-fallback, if hardware support isn't available for the desired
will be needed. This must not be called from the data path, as this may have to crypto configuration). This function takes the ``blk_crypto_key`` and the
allocate resources, which may deadlock in that case. data unit number (DUN) to use when en/decrypting the bio.
Next, to attach an encryption context to a bio, users should call ``blk_crypto_config_supported`` allows upper layers to query whether or not the
``bio_crypt_set_ctx()``. This function allocates a bio_crypt_ctx and attaches an encryption context passed to request queue can be handled by blk-crypto
it to a bio, given the blk_crypto_key and the data unit number that will be used (either by real inline encryption hardware, or by the blk-crypto-fallback).
for en/decryption. Users don't need to worry about freeing the bio_crypt_ctx This is useful e.g. when blk-crypto-fallback is disabled, and the upper layer
later, as that happens automatically when the bio is freed or reset. wants to use an algorithm that may not supported by hardware - this function
lets the upper layer know ahead of time that the algorithm isn't supported,
and the upper layer can fallback to something else if appropriate.
Finally, when done using inline encryption with a blk_crypto_key on a ``blk_crypto_start_using_key`` - Upper layers must call this function on
request_queue, users must call ``blk_crypto_evict_key()``. This ensures that ``blk_crypto_key`` and a ``request_queue`` before using the key with any bio
the key is evicted from all keyslots it may be programmed into and unlinked from headed for that ``request_queue``. This function ensures that either the
any kernel data structures it may be linked into. hardware supports the key's crypto settings, or the crypto API fallback has
transforms for the needed mode allocated and ready to go. Note that this
function may allocate an ``skcipher``, and must not be called from the data
path, since allocating ``skciphers`` from the data path can deadlock.
In summary, for users of the block layer, the lifecycle of a blk_crypto_key is ``blk_crypto_evict_key`` *must* be called by upper layers before a
as follows: ``blk_crypto_key`` is freed. Further, it *must* only be called only once
there are no more in-flight requests that use that ``blk_crypto_key``.
1. ``blk_crypto_config_supported()`` (optional) ``blk_crypto_evict_key`` will ensure that a key is removed from any keyslots in
2. ``blk_crypto_init_key()`` inline encryption hardware that the key might have been programmed into (or the blk-crypto-fallback).
3. ``blk_crypto_start_using_key()``
4. ``bio_crypt_set_ctx()`` (potentially many times)
5. ``blk_crypto_evict_key()`` (after all I/O has completed)
6. Zeroize the blk_crypto_key (this has no dedicated function)
If a blk_crypto_key is being used on multiple request_queues, then
``blk_crypto_config_supported()`` (if used), ``blk_crypto_start_using_key()``,
and ``blk_crypto_evict_key()`` must be called on each request_queue.
API presented to device drivers API presented to device drivers
=============================== ===============================
A device driver that wants to support inline encryption must set up a A :c:type:``struct blk_keyslot_manager`` should be set up by device drivers in
blk_crypto_profile in the request_queue of its device. To do this, it first the ``request_queue`` of the device. The device driver needs to call
must call ``blk_crypto_profile_init()`` (or its resource-managed variant ``blk_ksm_init`` (or its resource-managed variant ``devm_blk_ksm_init``) on the
``devm_blk_crypto_profile_init()``), providing the number of keyslots. ``blk_keyslot_manager``, while specifying the number of keyslots supported by
the hardware.
Next, it must advertise its crypto capabilities by setting fields in the The device driver also needs to tell the KSM how to actually manipulate the
blk_crypto_profile, e.g. ``modes_supported`` and ``max_dun_bytes_supported``. IE hardware in the device to do things like programming the crypto key into
the IE hardware into a particular keyslot. All this is achieved through the
struct blk_ksm_ll_ops field in the KSM that the device driver
must fill up after initing the ``blk_keyslot_manager``.
It then must set function pointers in the ``ll_ops`` field of the The KSM also handles runtime power management for the device when applicable
blk_crypto_profile to tell upper layers how to control the inline encryption (e.g. when it wants to program a crypto key into the IE hardware, the device
hardware, e.g. how to program and evict keyslots. Most drivers will need to must be runtime powered on) - so the device driver must also set the ``dev``
implement ``keyslot_program`` and ``keyslot_evict``. For details, see the field in the ksm to point to the `struct device` for the KSM to use for runtime
comments for ``struct blk_crypto_ll_ops``. power management.
Once the driver registers a blk_crypto_profile with a request_queue, I/O ``blk_ksm_reprogram_all_keys`` can be called by device drivers if the device
requests the driver receives via that queue may have an encryption context. All needs each and every of its keyslots to be reprogrammed with the key it
encryption contexts will be compatible with the crypto capabilities declared in "should have" at the point in time when the function is called. This is useful
the blk_crypto_profile, so drivers don't need to worry about handling e.g. if a device loses all its keys on runtime power down/up.
unsupported requests. Also, if a nonzero number of keyslots was declared in the
blk_crypto_profile, then all I/O requests that have an encryption context will
also have a keyslot which was already programmed with the appropriate key.
If the driver implements runtime suspend and its blk_crypto_ll_ops don't work If the driver used ``blk_ksm_init`` instead of ``devm_blk_ksm_init``, then
while the device is runtime-suspended, then the driver must also set the ``dev`` ``blk_ksm_destroy`` should be called to free up all resources used by a
field of the blk_crypto_profile to point to the ``struct device`` that will be ``blk_keyslot_manager`` once it is no longer needed.
resumed before any of the low-level operations are called.
If there are situations where the inline encryption hardware loses the contents
of its keyslots, e.g. device resets, the driver must handle reprogramming the
keyslots. To do this, the driver may call ``blk_crypto_reprogram_all_keys()``.
Finally, if the driver used ``blk_crypto_profile_init()`` instead of
``devm_blk_crypto_profile_init()``, then it is responsible for calling
``blk_crypto_profile_destroy()`` when the crypto profile is no longer needed.
Layered Devices Layered Devices
=============== ===============
Request queue based layered devices like dm-rq that wish to support inline Request queue based layered devices like dm-rq that wish to support IE need to
encryption need to create their own blk_crypto_profile for their request_queue, create their own keyslot manager for their request queue, and expose whatever
and expose whatever functionality they choose. When a layered device wants to functionality they choose. When a layered device wants to pass a clone of that
pass a clone of that request to another request_queue, blk-crypto will request to another ``request_queue``, blk-crypto will initialize and prepare the
initialize and prepare the clone as necessary; see clone as necessary - see ``blk_crypto_insert_cloned_request`` in
``blk_crypto_insert_cloned_request()``. ``blk-crypto.c``.
Future Optimizations for layered devices
========================================
Creating a keyslot manager for a layered device uses up memory for each
keyslot, and in general, a layered device merely passes the request on to a
"child" device, so the keyslots in the layered device itself are completely
unused, and don't need any refcounting or keyslot programming. We can instead
define a new type of KSM; the "passthrough KSM", that layered devices can use
to advertise an unlimited number of keyslots, and support for any encryption
algorithms they choose, while not actually using any memory for each keyslot.
Another use case for the "passthrough KSM" is for IE devices that do not have a
limited number of keyslots.
Interaction between inline encryption and blk integrity Interaction between inline encryption and blk integrity
======================================================= =======================================================
@ -298,7 +257,7 @@ Because there isn't any real hardware yet, it seems prudent to assume that
hardware implementations might not implement both features together correctly, hardware implementations might not implement both features together correctly,
and disallow the combination for now. Whenever a device supports integrity, the and disallow the combination for now. Whenever a device supports integrity, the
kernel will pretend that the device does not support hardware inline encryption kernel will pretend that the device does not support hardware inline encryption
(by setting the blk_crypto_profile in the request_queue of the device to NULL). (by essentially setting the keyslot manager in the request_queue of the device
When the crypto API fallback is enabled, this means that all bios with and to NULL). When the crypto API fallback is enabled, this means that all bios with
encryption context will use the fallback, and IO will complete as usual. When and encryption context will use the fallback, and IO will complete as usual.
the fallback is disabled, a bio with an encryption context will be failed. When the fallback is disabled, a bio with an encryption context will be failed.

View File

@ -3,7 +3,7 @@ BPF Type Format (BTF)
===================== =====================
1. Introduction 1. Introduction
=============== ***************
BTF (BPF Type Format) is the metadata format which encodes the debug info BTF (BPF Type Format) is the metadata format which encodes the debug info
related to BPF program/map. The name BTF was used initially to describe data related to BPF program/map. The name BTF was used initially to describe data
@ -30,7 +30,7 @@ sections are discussed in details in :ref:`BTF_Type_String`.
.. _BTF_Type_String: .. _BTF_Type_String:
2. BTF Type and String Encoding 2. BTF Type and String Encoding
=============================== *******************************
The file ``include/uapi/linux/btf.h`` provides high-level definition of how The file ``include/uapi/linux/btf.h`` provides high-level definition of how
types/strings are encoded. types/strings are encoded.
@ -57,13 +57,13 @@ little-endian target. The ``btf_header`` is designed to be extensible with
generated. generated.
2.1 String Encoding 2.1 String Encoding
------------------- ===================
The first string in the string section must be a null string. The rest of The first string in the string section must be a null string. The rest of
string table is a concatenation of other null-terminated strings. string table is a concatenation of other null-terminated strings.
2.2 Type Encoding 2.2 Type Encoding
----------------- =================
The type id ``0`` is reserved for ``void`` type. The type section is parsed The type id ``0`` is reserved for ``void`` type. The type section is parsed
sequentially and type id is assigned to each recognized type starting from id sequentially and type id is assigned to each recognized type starting from id
@ -85,8 +85,6 @@ sequentially and type id is assigned to each recognized type starting from id
#define BTF_KIND_VAR 14 /* Variable */ #define BTF_KIND_VAR 14 /* Variable */
#define BTF_KIND_DATASEC 15 /* Section */ #define BTF_KIND_DATASEC 15 /* Section */
#define BTF_KIND_FLOAT 16 /* Floating point */ #define BTF_KIND_FLOAT 16 /* Floating point */
#define BTF_KIND_DECL_TAG 17 /* Decl Tag */
#define BTF_KIND_TYPE_TAG 18 /* Type Tag */
Note that the type section encodes debug info, not just pure types. Note that the type section encodes debug info, not just pure types.
``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram. ``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram.
@ -108,7 +106,7 @@ Each type contains the following common data::
* "size" tells the size of the type it is describing. * "size" tells the size of the type it is describing.
* *
* "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT, * "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT,
* FUNC, FUNC_PROTO, DECL_TAG and TYPE_TAG. * FUNC and FUNC_PROTO.
* "type" is a type_id referring to another type. * "type" is a type_id referring to another type.
*/ */
union { union {
@ -467,44 +465,8 @@ map definition.
No additional type data follow ``btf_type``. No additional type data follow ``btf_type``.
2.2.17 BTF_KIND_DECL_TAG
~~~~~~~~~~~~~~~~~~~~~~~~
``struct btf_type`` encoding requirement:
* ``name_off``: offset to a non-empty string
* ``info.kind_flag``: 0
* ``info.kind``: BTF_KIND_DECL_TAG
* ``info.vlen``: 0
* ``type``: ``struct``, ``union``, ``func``, ``var`` or ``typedef``
``btf_type`` is followed by ``struct btf_decl_tag``.::
struct btf_decl_tag {
__u32 component_idx;
};
The ``name_off`` encodes btf_decl_tag attribute string.
The ``type`` should be ``struct``, ``union``, ``func``, ``var`` or ``typedef``.
For ``var`` or ``typedef`` type, ``btf_decl_tag.component_idx`` must be ``-1``.
For the other three types, if the btf_decl_tag attribute is
applied to the ``struct``, ``union`` or ``func`` itself,
``btf_decl_tag.component_idx`` must be ``-1``. Otherwise,
the attribute is applied to a ``struct``/``union`` member or
a ``func`` argument, and ``btf_decl_tag.component_idx`` should be a
valid index (starting from 0) pointing to a member or an argument.
2.2.17 BTF_KIND_TYPE_TAG
~~~~~~~~~~~~~~~~~~~~~~~~
``struct btf_type`` encoding requirement:
* ``name_off``: offset to a non-empty string
* ``info.kind_flag``: 0
* ``info.kind``: BTF_KIND_TYPE_TAG
* ``info.vlen``: 0
* ``type``: the type with ``btf_type_tag`` attribute
3. BTF Kernel API 3. BTF Kernel API
================= *****************
The following bpf syscall command involves BTF: The following bpf syscall command involves BTF:
* BPF_BTF_LOAD: load a blob of BTF data into kernel * BPF_BTF_LOAD: load a blob of BTF data into kernel
@ -547,14 +509,14 @@ The workflow typically looks like:
3.1 BPF_BTF_LOAD 3.1 BPF_BTF_LOAD
---------------- ================
Load a blob of BTF data into kernel. A blob of data, described in Load a blob of BTF data into kernel. A blob of data, described in
:ref:`BTF_Type_String`, can be directly loaded into the kernel. A ``btf_fd`` :ref:`BTF_Type_String`, can be directly loaded into the kernel. A ``btf_fd``
is returned to a userspace. is returned to a userspace.
3.2 BPF_MAP_CREATE 3.2 BPF_MAP_CREATE
------------------ ==================
A map can be created with ``btf_fd`` and specified key/value type id.:: A map can be created with ``btf_fd`` and specified key/value type id.::
@ -581,7 +543,7 @@ automatically.
.. _BPF_Prog_Load: .. _BPF_Prog_Load:
3.3 BPF_PROG_LOAD 3.3 BPF_PROG_LOAD
----------------- =================
During prog_load, func_info and line_info can be passed to kernel with proper During prog_load, func_info and line_info can be passed to kernel with proper
values for the following attributes: values for the following attributes:
@ -631,7 +593,7 @@ For line_info, the line number and column number are defined as below:
#define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff) #define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff)
3.4 BPF_{PROG,MAP}_GET_NEXT_ID 3.4 BPF_{PROG,MAP}_GET_NEXT_ID
------------------------------ ==============================
In kernel, every loaded program, map or btf has a unique id. The id won't In kernel, every loaded program, map or btf has a unique id. The id won't
change during the lifetime of a program, map, or btf. change during the lifetime of a program, map, or btf.
@ -641,13 +603,13 @@ each command, to user space, for bpf program or maps, respectively, so an
inspection tool can inspect all programs and maps. inspection tool can inspect all programs and maps.
3.5 BPF_{PROG,MAP}_GET_FD_BY_ID 3.5 BPF_{PROG,MAP}_GET_FD_BY_ID
------------------------------- ===============================
An introspection tool cannot use id to get details about program or maps. An introspection tool cannot use id to get details about program or maps.
A file descriptor needs to be obtained first for reference-counting purpose. A file descriptor needs to be obtained first for reference-counting purpose.
3.6 BPF_OBJ_GET_INFO_BY_FD 3.6 BPF_OBJ_GET_INFO_BY_FD
-------------------------- ==========================
Once a program/map fd is acquired, an introspection tool can get the detailed Once a program/map fd is acquired, an introspection tool can get the detailed
information from kernel about this fd, some of which are BTF-related. For information from kernel about this fd, some of which are BTF-related. For
@ -656,7 +618,7 @@ example, ``bpf_map_info`` returns ``btf_id`` and key/value type ids.
bpf byte codes, and jited_line_info. bpf byte codes, and jited_line_info.
3.7 BPF_BTF_GET_FD_BY_ID 3.7 BPF_BTF_GET_FD_BY_ID
------------------------ ========================
With ``btf_id`` obtained in ``bpf_map_info`` and ``bpf_prog_info``, bpf With ``btf_id`` obtained in ``bpf_map_info`` and ``bpf_prog_info``, bpf
syscall command BPF_BTF_GET_FD_BY_ID can retrieve a btf fd. Then, with syscall command BPF_BTF_GET_FD_BY_ID can retrieve a btf fd. Then, with
@ -668,10 +630,10 @@ tool has full btf knowledge and is able to pretty print map key/values, dump
func signatures and line info, along with byte/jit codes. func signatures and line info, along with byte/jit codes.
4. ELF File Format Interface 4. ELF File Format Interface
============================ ****************************
4.1 .BTF section 4.1 .BTF section
---------------- ================
The .BTF section contains type and string data. The format of this section is The .BTF section contains type and string data. The format of this section is
same as the one describe in :ref:`BTF_Type_String`. same as the one describe in :ref:`BTF_Type_String`.
@ -679,7 +641,7 @@ same as the one describe in :ref:`BTF_Type_String`.
.. _BTF_Ext_Section: .. _BTF_Ext_Section:
4.2 .BTF.ext section 4.2 .BTF.ext section
-------------------- ====================
The .BTF.ext section encodes func_info and line_info which needs loader The .BTF.ext section encodes func_info and line_info which needs loader
manipulation before loading into the kernel. manipulation before loading into the kernel.
@ -743,7 +705,7 @@ bpf_insn``. For ELF API, the ``insn_off`` is the byte offset from the
beginning of section (``btf_ext_info_sec->sec_name_off``). beginning of section (``btf_ext_info_sec->sec_name_off``).
4.2 .BTF_ids section 4.2 .BTF_ids section
-------------------- ====================
The .BTF_ids section encodes BTF ID values that are used within the kernel. The .BTF_ids section encodes BTF ID values that are used within the kernel.
@ -804,10 +766,10 @@ All the BTF ID lists and sets are compiled in the .BTF_ids section and
resolved during the linking phase of kernel build by ``resolve_btfids`` tool. resolved during the linking phase of kernel build by ``resolve_btfids`` tool.
5. Using BTF 5. Using BTF
============ ************
5.1 bpftool map pretty print 5.1 bpftool map pretty print
---------------------------- ============================
With BTF, the map key/value can be printed based on fields rather than simply With BTF, the map key/value can be printed based on fields rather than simply
raw bytes. This is especially valuable for large structure or if your data raw bytes. This is especially valuable for large structure or if your data
@ -849,7 +811,7 @@ bpftool is able to pretty print like below:
] ]
5.2 bpftool prog dump 5.2 bpftool prog dump
--------------------- =====================
The following is an example showing how func_info and line_info can help prog The following is an example showing how func_info and line_info can help prog
dump with better kernel symbol names, function prototypes and line dump with better kernel symbol names, function prototypes and line
@ -883,7 +845,7 @@ information.::
[...] [...]
5.3 Verifier Log 5.3 Verifier Log
---------------- ================
The following is an example of how line_info can help debugging verification The following is an example of how line_info can help debugging verification
failure.:: failure.::
@ -909,7 +871,7 @@ failure.::
R2 offset is outside of the packet R2 offset is outside of the packet
6. BTF Generation 6. BTF Generation
================= *****************
You need latest pahole You need latest pahole
@ -1016,6 +978,6 @@ format.::
.long 8206 # Line 8 Col 14 .long 8206 # Line 8 Col 14
7. Testing 7. Testing
========== **********
Kernel bpf selftest `test_btf.c` provides extensive set of BTF-related tests. Kernel bpf selftest `test_btf.c` provides extensive set of BTF-related tests.

View File

@ -5,33 +5,95 @@ BPF Documentation
This directory contains documentation for the BPF (Berkeley Packet This directory contains documentation for the BPF (Berkeley Packet
Filter) facility, with a focus on the extended BPF version (eBPF). Filter) facility, with a focus on the extended BPF version (eBPF).
This kernel side documentation is still work in progress. This kernel side documentation is still work in progress. The main
textual documentation is (for historical reasons) described in
:ref:`networking-filter`, which describe both classical and extended
BPF instruction-set.
The Cilium project also maintains a `BPF and XDP Reference Guide`_ The Cilium project also maintains a `BPF and XDP Reference Guide`_
that goes into great technical depth about the BPF Architecture. that goes into great technical depth about the BPF Architecture.
libbpf
======
Documentation/bpf/libbpf/libbpf.rst is a userspace library for loading and interacting with bpf programs.
BPF Type Format (BTF)
=====================
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
instruction-set
verifier
libbpf/index
btf btf
faq
syscall_api
helpers
programs
maps
classic_vs_extended.rst
bpf_licensing
test_debug
other
.. only:: subproject and html
Indices Frequently asked questions (FAQ)
======= ================================
* :ref:`genindex` Two sets of Questions and Answers (Q&A) are maintained.
.. toctree::
:maxdepth: 1
bpf_design_QA
bpf_devel_QA
Syscall API
===========
The primary info for the bpf syscall is available in the `man-pages`_
for `bpf(2)`_. For more information about the userspace API, see
Documentation/userspace-api/ebpf/index.rst.
Helper functions
================
* `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs.
Program types
=============
.. toctree::
:maxdepth: 1
prog_cgroup_sockopt
prog_cgroup_sysctl
prog_flow_dissector
bpf_lsm
prog_sk_lookup
Map types
=========
.. toctree::
:maxdepth: 1
map_cgroup_storage
Testing and debugging BPF
=========================
.. toctree::
:maxdepth: 1
drgn
s390
Other
=====
.. toctree::
:maxdepth: 1
ringbuf
llvm_reloc
.. Links: .. Links:
.. _networking-filter: ../networking/filter.rst
.. _man-pages: https://www.kernel.org/doc/man-pages/
.. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
.. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
.. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/ .. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/

View File

@ -150,46 +150,6 @@ mirror of the mainline's version of libbpf for a stand-alone build.
However, all changes to libbpf's code base must be upstreamed through However, all changes to libbpf's code base must be upstreamed through
the mainline kernel tree. the mainline kernel tree.
API documentation convention
============================
The libbpf API is documented via comments above definitions in
header files. These comments can be rendered by doxygen and sphinx
for well organized html output. This section describes the
convention in which these comments should be formated.
Here is an example from btf.h:
.. code-block:: c
/**
* @brief **btf__new()** creates a new instance of a BTF object from the raw
* bytes of an ELF's BTF section
* @param data raw bytes
* @param size number of bytes passed in `data`
* @return new BTF object instance which has to be eventually freed with
* **btf__free()**
*
* On error, error-code-encoded-as-pointer is returned, not a NULL. To extract
* error code from such a pointer `libbpf_get_error()` should be used. If
* `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is
* returned on error instead. In both cases thread-local `errno` variable is
* always set to error code as well.
*/
The comment must start with a block comment of the form '/\*\*'.
The documentation always starts with a @brief directive. This line is a short
description about this API. It starts with the name of the API, denoted in bold
like so: **api_name**. Please include an open and close parenthesis if this is a
function. Follow with the short description of the API. A longer form description
can be added below the last directive, at the bottom of the comment.
Parameters are denoted with the @param directive, there should be one for each
parameter. If this is a function with a non-void return, use the @return directive
to document it.
License License
------------------- -------------------

View File

@ -907,17 +907,6 @@ commands can be identified by the underscores in their names.
specifies the slot for which the information is given. The special specifies the slot for which the information is given. The special
value *CDSL_CURRENT* requests that information about the currently value *CDSL_CURRENT* requests that information about the currently
selected slot be returned. selected slot be returned.
`CDROM_TIMED_MEDIA_CHANGE`
Checks whether the disc has been changed since a user supplied time
and returns the time of the last disc change.
*arg* is a pointer to a *cdrom_timed_media_change_info* struct.
*arg->last_media_change* may be set by calling code to signal
the timestamp of the last known media change (by the caller).
Upon successful return, this ioctl call will set
*arg->last_media_change* to the latest media change timestamp (in ms)
known by the kernel/driver and set *arg->has_changed* to 1 if
that timestamp is more recent than the timestamp set by the caller.
`CDROM_DRIVE_STATUS` `CDROM_DRIVE_STATUS`
Returns the status of the drive by a call to Returns the status of the drive by a call to
*drive_status()*. Return values are defined in cdrom_drive_status_. *drive_status()*. Return values are defined in cdrom_drive_status_.

View File

@ -326,12 +326,6 @@ maps this page at its virtual address.
dirty. Again, see sparc64 for examples of how dirty. Again, see sparc64 for examples of how
to deal with this. to deal with this.
``void flush_dcache_folio(struct folio *folio)``
This function is called under the same circumstances as
flush_dcache_page(). It allows the architecture to
optimise for flushing the entire folio of pages instead
of flushing one page at a time.
``void copy_to_user_page(struct vm_area_struct *vma, struct page *page, ``void copy_to_user_page(struct vm_area_struct *vma, struct page *page,
unsigned long user_vaddr, void *dst, void *src, int len)`` unsigned long user_vaddr, void *dst, void *src, int len)``
``void copy_from_user_page(struct vm_area_struct *vma, struct page *page, ``void copy_from_user_page(struct vm_area_struct *vma, struct page *page,

View File

@ -130,11 +130,3 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged
subsystem that the buffer is fully accessible at the elevated privilege subsystem that the buffer is fully accessible at the elevated privilege
level (and ideally inaccessible or at least read-only at the level (and ideally inaccessible or at least read-only at the
lesser-privileged levels). lesser-privileged levels).
DMA_ATTR_OVERWRITE
------------------
This is a hint to the DMA-mapping subsystem that the device is expected to
overwrite the entire mapped size, thus the caller does not require any of the
previous buffer contents to be preserved. This allows bounce-buffering
implementations to optimise DMA_FROM_DEVICE transfers.

View File

@ -67,6 +67,9 @@ variety of methods:
deprecated deprecated
- generic_handle_domain_irq() handles an interrupt described by a - generic_handle_domain_irq() handles an interrupt described by a
domain and a hwirq number domain and a hwirq number
- handle_domain_irq() does the same thing for root interrupt
controllers and deals with the set_irq_reg()/irq_enter() sequences
that most architecture requires
Note that irq domain lookups must happen in contexts that are Note that irq domain lookups must happen in contexts that are
compatible with a RCU read-side critical section. compatible with a RCU read-side critical section.

View File

@ -279,7 +279,6 @@ Accounting Framework
Block Devices Block Devices
============= =============
.. kernel-doc:: include/linux/bio.h
.. kernel-doc:: block/blk-core.c .. kernel-doc:: block/blk-core.c
:export: :export:
@ -295,6 +294,9 @@ Block Devices
.. kernel-doc:: block/blk-settings.c .. kernel-doc:: block/blk-settings.c
:export: :export:
.. kernel-doc:: block/blk-exec.c
:export:
.. kernel-doc:: block/blk-flush.c .. kernel-doc:: block/blk-flush.c
:export: :export:

View File

@ -118,7 +118,7 @@ Initialization of kobjects
Code which creates a kobject must, of course, initialize that object. Some Code which creates a kobject must, of course, initialize that object. Some
of the internal fields are setup with a (mandatory) call to kobject_init():: of the internal fields are setup with a (mandatory) call to kobject_init()::
void kobject_init(struct kobject *kobj, const struct kobj_type *ktype); void kobject_init(struct kobject *kobj, struct kobj_type *ktype);
The ktype is required for a kobject to be created properly, as every kobject The ktype is required for a kobject to be created properly, as every kobject
must have an associated kobj_type. After calling kobject_init(), to must have an associated kobj_type. After calling kobject_init(), to
@ -156,7 +156,7 @@ kobject_name()::
There is a helper function to both initialize and add the kobject to the There is a helper function to both initialize and add the kobject to the
kernel at the same time, called surprisingly enough kobject_init_and_add():: kernel at the same time, called surprisingly enough kobject_init_and_add()::
int kobject_init_and_add(struct kobject *kobj, const struct kobj_type *ktype, int kobject_init_and_add(struct kobject *kobj, struct kobj_type *ktype,
struct kobject *parent, const char *fmt, ...); struct kobject *parent, const char *fmt, ...);
The arguments are the same as the individual kobject_init() and The arguments are the same as the individual kobject_init() and
@ -299,6 +299,7 @@ kobj_type::
struct kobj_type { struct kobj_type {
void (*release)(struct kobject *kobj); void (*release)(struct kobject *kobj);
const struct sysfs_ops *sysfs_ops; const struct sysfs_ops *sysfs_ops;
struct attribute **default_attrs;
const struct attribute_group **default_groups; const struct attribute_group **default_groups;
const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj); const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj);
const void *(*namespace)(struct kobject *kobj); const void *(*namespace)(struct kobject *kobj);
@ -312,10 +313,10 @@ call kobject_init() or kobject_init_and_add().
The release field in struct kobj_type is, of course, a pointer to the The release field in struct kobj_type is, of course, a pointer to the
release() method for this type of kobject. The other two fields (sysfs_ops release() method for this type of kobject. The other two fields (sysfs_ops
and default_groups) control how objects of this type are represented in and default_attrs) control how objects of this type are represented in
sysfs; they are beyond the scope of this document. sysfs; they are beyond the scope of this document.
The default_groups pointer is a list of default attributes that will be The default_attrs pointer is a list of default attributes that will be
automatically created for any kobject that is registered with this ktype. automatically created for any kobject that is registered with this ktype.
@ -372,9 +373,10 @@ If a kset wishes to control the uevent operations of the kobjects
associated with it, it can use the struct kset_uevent_ops to handle it:: associated with it, it can use the struct kset_uevent_ops to handle it::
struct kset_uevent_ops { struct kset_uevent_ops {
int (* const filter)(struct kobject *kobj); int (* const filter)(struct kset *kset, struct kobject *kobj);
const char *(* const name)(struct kobject *kobj); const char *(* const name)(struct kset *kset, struct kobject *kobj);
int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env); int (* const uevent)(struct kset *kset, struct kobject *kobj,
struct kobj_uevent_env *env);
}; };

View File

@ -57,6 +57,7 @@ The third argument (arg) passes a pointer of struct memory_notify::
unsigned long start_pfn; unsigned long start_pfn;
unsigned long nr_pages; unsigned long nr_pages;
int status_change_nid_normal; int status_change_nid_normal;
int status_change_nid_high;
int status_change_nid; int status_change_nid;
} }
@ -64,6 +65,8 @@ The third argument (arg) passes a pointer of struct memory_notify::
- nr_pages is # of pages of online/offline memory. - nr_pages is # of pages of online/offline memory.
- status_change_nid_normal is set node id when N_NORMAL_MEMORY of nodemask - status_change_nid_normal is set node id when N_NORMAL_MEMORY of nodemask
is (will be) set/clear, if this is -1, then nodemask status is not changed. is (will be) set/clear, if this is -1, then nodemask status is not changed.
- status_change_nid_high is set node id when N_HIGH_MEMORY of nodemask
is (will be) set/clear, if this is -1, then nodemask status is not changed.
- status_change_nid is set node id when N_MEMORY of nodemask is (will be) - status_change_nid is set node id when N_MEMORY of nodemask is (will be)
set/clear. It means a new(memoryless) node gets new memory by online and a set/clear. It means a new(memoryless) node gets new memory by online and a
node loses all memory. If this is -1, then nodemask status is not changed. node loses all memory. If this is -1, then nodemask status is not changed.

View File

@ -95,11 +95,6 @@ More Memory Management Functions
.. kernel-doc:: mm/mempolicy.c .. kernel-doc:: mm/mempolicy.c
.. kernel-doc:: include/linux/mm_types.h .. kernel-doc:: include/linux/mm_types.h
:internal: :internal:
.. kernel-doc:: include/linux/mm_inline.h
.. kernel-doc:: include/linux/page-flags.h
.. kernel-doc:: include/linux/mm.h .. kernel-doc:: include/linux/mm.h
:internal: :internal:
.. kernel-doc:: include/linux/page_ref.h
.. kernel-doc:: include/linux/mmzone.h .. kernel-doc:: include/linux/mmzone.h
.. kernel-doc:: mm/util.c
:functions: folio_mapping

View File

@ -580,7 +580,7 @@ Flags bitfields such as page flags, gfp_flags
:: ::
%pGp 0x17ffffc0002036(referenced|uptodate|lru|active|private|node=0|zone=2|lastcpupid=0x1fffff) %pGp referenced|uptodate|lru|active|private|node=0|zone=2|lastcpupid=0x1fffff
%pGg GFP_USER|GFP_DMA32|GFP_NOWARN %pGg GFP_USER|GFP_DMA32|GFP_NOWARN
%pGv read|exec|mayread|maywrite|mayexec|denywrite %pGv read|exec|mayread|maywrite|mayexec|denywrite

View File

@ -216,6 +216,10 @@ resources, scheduled and executed.
This flag is meaningless for unbound wq. This flag is meaningless for unbound wq.
Note that the flag ``WQ_NON_REENTRANT`` no longer exists as all
workqueues are now non-reentrant - any work item is guaranteed to be
executed by at most one worker system-wide at any given time.
``max_active`` ``max_active``
-------------- --------------
@ -387,23 +391,6 @@ the stack trace of the offending worker thread. ::
The work item's function should be trivially visible in the stack The work item's function should be trivially visible in the stack
trace. trace.
Non-reentrance Conditions
=========================
Workqueue guarantees that a work item cannot be re-entrant if the following
conditions hold after a work item gets queued:
1. The work function hasn't been changed.
2. No one queues the work item to another workqueue.
3. The work item hasn't been reinitiated.
In other words, if the above conditions hold, the work item is guaranteed to be
executed by at most one worker system-wide at any given time.
Note that requeuing the work item (to the same queue) in the self function
doesn't break these conditions, so it's safe to do. Otherwise, caution is
required when breaking the conditions inside a work function.
Kernel Inline Documentations Reference Kernel Inline Documentations Reference
====================================== ======================================

View File

@ -69,8 +69,6 @@ the crypto engine via one of:
* crypto_transfer_hash_request_to_engine() * crypto_transfer_hash_request_to_engine()
* crypto_transfer_kpp_request_to_engine()
* crypto_transfer_skcipher_request_to_engine() * crypto_transfer_skcipher_request_to_engine()
At the end of the request process, a call to one of the following functions is needed: At the end of the request process, a call to one of the following functions is needed:
@ -81,6 +79,4 @@ At the end of the request process, a call to one of the following functions is n
* crypto_finalize_hash_request() * crypto_finalize_hash_request()
* crypto_finalize_kpp_request()
* crypto_finalize_skcipher_request() * crypto_finalize_skcipher_request()

View File

@ -710,39 +710,6 @@ Indentation and Line Breaks
See: https://www.kernel.org/doc/html/latest/process/coding-style.html#breaking-long-lines-and-strings See: https://www.kernel.org/doc/html/latest/process/coding-style.html#breaking-long-lines-and-strings
**SPLIT_STRING**
Quoted strings that appear as messages in userspace and can be
grepped, should not be split across multiple lines.
See: https://lore.kernel.org/lkml/20120203052727.GA15035@leaf/
**MULTILINE_DEREFERENCE**
A single dereferencing identifier spanned on multiple lines like::
struct_identifier->member[index].
member = <foo>;
is generally hard to follow. It can easily lead to typos and so makes
the code vulnerable to bugs.
If fixing the multiple line dereferencing leads to an 80 column
violation, then either rewrite the code in a more simple way or if the
starting part of the dereferencing identifier is the same and used at
multiple places then store it in a temporary variable, and use that
temporary variable only at all the places. For example, if there are
two dereferencing identifiers::
member1->member2->member3.foo1;
member1->member2->member3.foo2;
then store the member1->member2->member3 part in a temporary variable.
It not only helps to avoid the 80 column violation but also reduces
the program size by removing the unnecessary dereferences.
But if none of the above methods work then ignore the 80 column
violation because it is much easier to read a dereferencing identifier
on a single line.
**TRAILING_STATEMENTS** **TRAILING_STATEMENTS**
Trailing statements (for example after any conditional) should be Trailing statements (for example after any conditional) should be
on the next line. on the next line.
@ -878,38 +845,6 @@ Macros, Attributes and Symbols
Use the `fallthrough;` pseudo keyword instead of Use the `fallthrough;` pseudo keyword instead of
`/* fallthrough */` like comments. `/* fallthrough */` like comments.
**TRAILING_SEMICOLON**
Macro definition should not end with a semicolon. The macro
invocation style should be consistent with function calls.
This can prevent any unexpected code paths::
#define MAC do_something;
If this macro is used within a if else statement, like::
if (some_condition)
MAC;
else
do_something;
Then there would be a compilation error, because when the macro is
expanded there are two trailing semicolons, so the else branch gets
orphaned.
See: https://lore.kernel.org/lkml/1399671106.2912.21.camel@joe-AO725/
**SINGLE_STATEMENT_DO_WHILE_MACRO**
For the multi-statement macros, it is necessary to use the do-while
loop to avoid unpredictable code paths. The do-while loop helps to
group the multiple statements into a single one so that a
function-like macro can be used as a function only.
But for the single statement macros, it is unnecessary to use the
do-while loop. Although the code is syntactically correct but using
the do-while loop is redundant. So remove the do-while loop for single
statement macros.
**WEAK_DECLARATION** **WEAK_DECLARATION**
Using weak declarations like __attribute__((weak)) or __weak Using weak declarations like __attribute__((weak)) or __weak
can have unintended link defects. Avoid using them. can have unintended link defects. Avoid using them.
@ -985,11 +920,6 @@ Functions and Variables
Your compiler (or rather your loader) automatically does Your compiler (or rather your loader) automatically does
it for you. it for you.
**MULTIPLE_ASSIGNMENTS**
Multiple assignments on a single line makes the code unnecessarily
complicated. So on a single line assign value to a single variable
only, this makes the code more readable and helps avoid typos.
**RETURN_PARENTHESES** **RETURN_PARENTHESES**
return is not a function and as such doesn't need parentheses:: return is not a function and as such doesn't need parentheses::
@ -1027,17 +957,6 @@ Permissions
Permission bits should use 4 digit octal permissions (like 0700 or 0444). Permission bits should use 4 digit octal permissions (like 0700 or 0444).
Avoid using any other base like decimal. Avoid using any other base like decimal.
**SYMBOLIC_PERMS**
Permission bits in the octal form are more readable and easier to
understand than their symbolic counterparts because many command-line
tools use this notation. Experienced kernel developers have been using
these traditional Unix permission bits for decades and so they find it
easier to understand the octal notation than the symbolic macros.
For example, it is harder to read S_IWUSR|S_IRUGO than 0644, which
obscures the developer's intent rather than clarifying it.
See: https://lore.kernel.org/lkml/CA+55aFw5v23T-zvDZp-MmD_EYxF8WbafwwB59934FV7g21uMGQ@mail.gmail.com/
Spacing and Brackets Spacing and Brackets
-------------------- --------------------

View File

@ -32,7 +32,6 @@ Documentation/dev-tools/testing-overview.rst
kgdb kgdb
kselftest kselftest
kunit/index kunit/index
ktap
.. only:: subproject and html .. only:: subproject and html

View File

@ -194,17 +194,14 @@ additional boot parameters that allow disabling KASAN or controlling features:
- ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``). - ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``).
- ``kasan.mode=sync``, ``=async`` or ``=asymm`` controls whether KASAN - ``kasan.mode=sync`` or ``=async`` controls whether KASAN is configured in
is configured in synchronous, asynchronous or asymmetric mode of synchronous or asynchronous mode of execution (default: ``sync``).
execution (default: ``sync``).
Synchronous mode: a bad access is detected immediately when a tag Synchronous mode: a bad access is detected immediately when a tag
check fault occurs. check fault occurs.
Asynchronous mode: a bad access detection is delayed. When a tag check Asynchronous mode: a bad access detection is delayed. When a tag check
fault occurs, the information is stored in hardware (in the TFSR_EL1 fault occurs, the information is stored in hardware (in the TFSR_EL1
register for arm64). The kernel periodically checks the hardware and register for arm64). The kernel periodically checks the hardware and
only reports tag faults during these checks. only reports tag faults during these checks.
Asymmetric mode: a bad access is detected synchronously on reads and
asynchronously on writes.
- ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack - ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack
traces collection (default: ``on``). traces collection (default: ``on``).

View File

@ -50,7 +50,6 @@ program using kcov:
#include <sys/mman.h> #include <sys/mman.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <linux/types.h>
#define KCOV_INIT_TRACE _IOR('c', 1, unsigned long) #define KCOV_INIT_TRACE _IOR('c', 1, unsigned long)
#define KCOV_ENABLE _IO('c', 100) #define KCOV_ENABLE _IO('c', 100)
@ -178,8 +177,6 @@ Comparison operands collection is similar to coverage collection:
/* Read number of comparisons collected. */ /* Read number of comparisons collected. */
n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED); n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED);
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
uint64_t ip;
type = cover[i * KCOV_WORDS_PER_CMP + 1]; type = cover[i * KCOV_WORDS_PER_CMP + 1];
/* arg1 and arg2 - operands of the comparison. */ /* arg1 and arg2 - operands of the comparison. */
arg1 = cover[i * KCOV_WORDS_PER_CMP + 2]; arg1 = cover[i * KCOV_WORDS_PER_CMP + 2];
@ -254,8 +251,6 @@ selectively from different subsystems.
.. code-block:: c .. code-block:: c
/* Same includes and defines as above. */
struct kcov_remote_arg { struct kcov_remote_arg {
__u32 trace_mode; __u32 trace_mode;
__u32 area_size; __u32 area_size;

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