mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 10:26:09 +00:00
Linux 5.11-rc1
-----BEGIN PGP SIGNATURE----- iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl/pGQ4eHHRvcnZhbGRz QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGSCsH/AmJzlif2P7bMT12 2SiVnl/BfK4iHVdGMQPaLZNJVrjFLzhRUj1WiOye0rKq0jp21IVJgwpshiWZeqEg 8BfT4UEMfdl5uaYIX/7G9AhD2JUy9UHs0VhQEf4oueDAmNl+q2btlXZh/tayqjqc DOqLtyJKYRswfBTh260w8/W5EPXJq5IlWf/vOpgGphFWMwolqIAgIlCTulE8pcO6 EiPuC3tOxBg8zkEkjV94Bvu4+73Hgr8O6beCbbqZlvuTpWci/X1hcVyA+IsGFvL8 h0YpMrEzvQoroJAVFh7u2KKrU6pObQWsjRb1F7LQIBIGC7hvnzXSzwH2IZQfyFJd p/ASNk8= =564c -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl/p6ZcACgkQJNaLcl1U h9DLcAf/fo1Nolp7vA5xmz4MeTC88BB3yK63NxFX6n91zGGT/dsPzHxsIiaen/IL /eaIsZ8Hht5LQIDlMjqnIhso3ooizzppv9FJqZ11H35HIyX+ivxDhE52fUkzYTQY kA2euYXT0L8cYPYkJ5j5fPkxAMAhiT1uFSxDGtUfvajlA+QyrF6/sanPdoZjqFFX fI7xRsjQBGIWzY3wPbCNOJ5mSh/wlbXFSKtkGYIBt8wB6CaAz8YtyIPUXArz27wz MsMqsYJWYL4dDPjX/FwceYFGGgKerigUnjMiwYxWOrkntfpOKMb59IpuWW64YTKX VwpNywZD3gTXgLsdp4YRh4ca++PWGg== =Pv+C -----END PGP SIGNATURE----- Merge tag 'v5.11-rc1' into regulator-5.11 Linux 5.11-rc1
This commit is contained in:
commit
2ae6f64ce1
11
.mailmap
11
.mailmap
@ -82,7 +82,10 @@ Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@gmail.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@imgtec.com>
|
||||
Dengcheng Zhu <dzhu@wavecomp.com> <dengcheng.zhu@mips.com>
|
||||
<dev.kurt@vandijck-laurijssen.be> <kurt.van.dijck@eia.be>
|
||||
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <[dbaryshkov@gmail.com]>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_baryshkov@mentor.com>
|
||||
Dmitry Baryshkov <dbaryshkov@gmail.com> <dmitry_eremin@mentor.com>
|
||||
Dmitry Safonov <0x7f454c46@gmail.com> <dima@arista.com>
|
||||
Dmitry Safonov <0x7f454c46@gmail.com> <d.safonov@partner.samsung.com>
|
||||
Dmitry Safonov <0x7f454c46@gmail.com> <dsafonov@virtuozzo.com>
|
||||
@ -119,6 +122,8 @@ Henk Vergonet <Henk.Vergonet@gmail.com>
|
||||
Henrik Kretzschmar <henne@nachtwindheim.de>
|
||||
Henrik Rydberg <rydberg@bitmath.org>
|
||||
Herbert Xu <herbert@gondor.apana.org.au>
|
||||
Huacai Chen <chenhuacai@kernel.org> <chenhc@lemote.com>
|
||||
Huacai Chen <chenhuacai@kernel.org> <chenhuacai@loongson.cn>
|
||||
Jacob Shin <Jacob.Shin@amd.com>
|
||||
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk@google.com>
|
||||
Jaegeuk Kim <jaegeuk@kernel.org> <jaegeuk.kim@samsung.com>
|
||||
@ -287,6 +292,7 @@ Santosh Shilimkar <ssantosh@kernel.org>
|
||||
Sarangdhar Joshi <spjoshi@codeaurora.org>
|
||||
Sascha Hauer <s.hauer@pengutronix.de>
|
||||
S.Çağlar Onur <caglar@pardus.org.tr>
|
||||
Sean Christopherson <seanjc@google.com> <sean.j.christopherson@intel.com>
|
||||
Sean Nyekjaer <sean@geanix.com> <sean.nyekjaer@prevas.dk>
|
||||
Sebastian Reichel <sre@kernel.org> <sebastian.reichel@collabora.co.uk>
|
||||
Sebastian Reichel <sre@kernel.org> <sre@debian.org>
|
||||
@ -318,6 +324,8 @@ TripleX Chung <xxx.phy@gmail.com> <zhongyu@18mail.cn>
|
||||
Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
|
||||
Tycho Andersen <tycho@tycho.pizza> <tycho@tycho.ws>
|
||||
Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
|
||||
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
Uwe Kleine-König <ukleinek@strlen.de>
|
||||
Uwe Kleine-König <ukl@pengutronix.de>
|
||||
Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
|
||||
Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
|
||||
@ -337,3 +345,4 @@ Wolfram Sang <wsa@kernel.org> <w.sang@pengutronix.de>
|
||||
Wolfram Sang <wsa@kernel.org> <wsa@the-dreams.de>
|
||||
Yakir Yang <kuankuan.y@gmail.com> <ykk@rock-chips.com>
|
||||
Yusuke Goda <goda.yusuke@renesas.com>
|
||||
Zhu Yanjun <zyjzyj2000@gmail.com> <yanjunz@nvidia.com>
|
||||
|
76
CREDITS
76
CREDITS
@ -98,7 +98,7 @@ N: Erik Andersen
|
||||
E: andersen@codepoet.org
|
||||
W: https://www.codepoet.org/
|
||||
P: 1024D/30D39057 1BC4 2742 E885 E4DE 9301 0C82 5F9B 643E 30D3 9057
|
||||
D: Maintainer of ide-cd and Uniform CD-ROM driver,
|
||||
D: Maintainer of ide-cd and Uniform CD-ROM driver,
|
||||
D: ATAPI CD-Changer support, Major 2.1.x CD-ROM update.
|
||||
S: 352 North 525 East
|
||||
S: Springville, Utah 84663
|
||||
@ -263,7 +263,7 @@ N: Paul Barton-Davis
|
||||
E: pbd@op.net
|
||||
D: Driver for WaveFront soundcards (Turtle Beach Maui, Tropez, Tropez+)
|
||||
D: Various bugfixes and changes to sound drivers
|
||||
S: USA
|
||||
S: USA
|
||||
|
||||
N: Carlos Henrique Bauer
|
||||
E: chbauer@acm.org
|
||||
@ -740,6 +740,11 @@ S: (ask for current address)
|
||||
S: Portland, Oregon
|
||||
S: USA
|
||||
|
||||
N: Jason Cooper
|
||||
D: ARM/Marvell SOC co-maintainer
|
||||
D: irqchip co-maintainer
|
||||
D: MVEBU PCI DRIVER co-maintainer
|
||||
|
||||
N: Robin Cornelius
|
||||
E: robincornelius@users.sourceforge.net
|
||||
D: Ralink rt2x00 WLAN driver
|
||||
@ -849,6 +854,12 @@ D: trivial hack to add variable address length routing to Rose.
|
||||
D: AX25-HOWTO, HAM-HOWTO, IPX-HOWTO, NET-2-HOWTO
|
||||
D: ax25-utils maintainer.
|
||||
|
||||
N: Kamil Debski
|
||||
E: kamil@wypas.org
|
||||
D: Samsung S5P 2D graphics acceleration and Multi Format Codec drivers
|
||||
D: Samsung USB2 phy drivers
|
||||
D: PWM fan driver
|
||||
|
||||
N: Helge Deller
|
||||
E: deller@gmx.de
|
||||
W: http://www.parisc-linux.org/
|
||||
@ -1199,7 +1210,7 @@ N: Daniel J. Frasnelli
|
||||
E: dfrasnel@alphalinux.org
|
||||
W: http://www.alphalinux.org/
|
||||
P: 1024/3EF87611 B9 F1 44 50 D3 E8 C2 80 DA E5 55 AA 56 7C 42 DA
|
||||
D: DEC Alpha hacker
|
||||
D: DEC Alpha hacker
|
||||
D: Miscellaneous bug squisher
|
||||
|
||||
N: Jim Freeman
|
||||
@ -1299,7 +1310,7 @@ S: P.O. Box 76, Epping
|
||||
S: New South Wales, 2121
|
||||
S: Australia
|
||||
|
||||
N: Carlos E. Gorges
|
||||
N: Carlos E. Gorges
|
||||
E: carlos@techlinux.com.br
|
||||
D: fix smp support on cmpci driver
|
||||
P: 2048G/EA3C4B19 FF31 33A6 0362 4915 B7EB E541 17D0 0379 EA3C 4B19
|
||||
@ -1340,7 +1351,7 @@ E: wgreathouse@smva.com
|
||||
E: wgreathouse@myfavoritei.com
|
||||
D: Current Belkin USB Serial Adapter F5U103 hacker
|
||||
D: Kernel hacker, embedded systems
|
||||
S: 7802 Fitzwater Road
|
||||
S: 7802 Fitzwater Road
|
||||
S: Brecksville, OH 44141-1334
|
||||
S: USA
|
||||
|
||||
@ -1381,7 +1392,7 @@ N: Grant Guenther
|
||||
E: grant@torque.net
|
||||
W: http://www.torque.net/linux-pp.html
|
||||
D: original author of ppa driver for parallel port ZIP drive
|
||||
D: original architect of the parallel-port sharing scheme
|
||||
D: original architect of the parallel-port sharing scheme
|
||||
D: PARIDE subsystem: drivers for parallel port IDE & ATAPI devices
|
||||
S: 44 St. Joseph Street, Suite 506
|
||||
S: Toronto, Ontario, M4Y 2W4
|
||||
@ -1523,7 +1534,7 @@ N: Benjamin Herrenschmidt
|
||||
E: benh@kernel.crashing.org
|
||||
D: Various parts of PPC/PPC64 & PowerMac
|
||||
S: 312/107 Canberra Avenue
|
||||
S: Griffith, ACT 2603
|
||||
S: Griffith, ACT 2603
|
||||
S: Australia
|
||||
|
||||
N: Andreas Herrmann
|
||||
@ -1825,7 +1836,7 @@ S: Hungary
|
||||
N: Bernhard Kaindl
|
||||
E: bkaindl@netway.at
|
||||
E: edv@bartelt.via.at
|
||||
D: Author of a menu based configuration tool, kmenu, which
|
||||
D: Author of a menu based configuration tool, kmenu, which
|
||||
D: is the predecessor of 'make menuconfig' and 'make xconfig'.
|
||||
D: digiboard driver update(modularisation work and 2.1.x upd)
|
||||
S: Tallak 95
|
||||
@ -2016,7 +2027,7 @@ W: http://www.xos.nl/
|
||||
D: IP transparent proxy support
|
||||
S: X/OS Experts in Open Systems BV
|
||||
S: Kruislaan 419
|
||||
S: 1098 VA Amsterdam
|
||||
S: 1098 VA Amsterdam
|
||||
S: The Netherlands
|
||||
|
||||
N: Goran Koruga
|
||||
@ -2088,7 +2099,7 @@ S: Germany
|
||||
|
||||
N: Andrzej M. Krzysztofowicz
|
||||
E: ankry@mif.pg.gda.pl
|
||||
D: Some 8-bit XT disk driver and devfs hacking
|
||||
D: Some 8-bit XT disk driver and devfs hacking
|
||||
D: Aladdin 1533/1543(C) chipset IDE
|
||||
D: PIIX chipset IDE
|
||||
S: ul. Matemblewska 1B/10
|
||||
@ -2463,7 +2474,7 @@ E: mge@EZ-Darmstadt.Telekom.de
|
||||
D: Logical Volume Manager
|
||||
S: Bartningstr. 12
|
||||
S: 64289 Darmstadt
|
||||
S: Germany
|
||||
S: Germany
|
||||
|
||||
N: Mark W. McClelland
|
||||
E: mmcclell@bigfoot.com
|
||||
@ -2499,15 +2510,6 @@ W: http://www.rdrop.com/users/paulmck/
|
||||
D: RCU and variants
|
||||
D: rcutorture module
|
||||
|
||||
N: Mike McLagan
|
||||
E: mike.mclagan@linux.org
|
||||
W: http://www.invlogic.com/~mmclagan
|
||||
D: DLCI/FRAD drivers for Sangoma SDLAs
|
||||
S: Innovative Logic Corp
|
||||
S: Post Office Box 1068
|
||||
S: Laurel, Maryland 20732
|
||||
S: USA
|
||||
|
||||
N: Bradley McLean
|
||||
E: brad@bradpc.gaylord.com
|
||||
D: Device driver hacker
|
||||
@ -2547,7 +2549,7 @@ E: meskes@debian.org
|
||||
P: 1024/04B6E8F5 6C 77 33 CA CC D6 22 03 AB AB 15 A3 AE AD 39 7D
|
||||
D: Kernel hacker. PostgreSQL hacker. Software watchdog daemon.
|
||||
D: Maintainer of several Debian packages
|
||||
S: Th.-Heuss-Str. 61
|
||||
S: Th.-Heuss-Str. 61
|
||||
S: D-41812 Erkelenz
|
||||
S: Germany
|
||||
|
||||
@ -2785,7 +2787,7 @@ E: neuffer@goofy.zdv.uni-mainz.de
|
||||
W: http://www.i-Connect.Net/~mike/
|
||||
D: Developer and maintainer of the EATA-DMA SCSI driver
|
||||
D: Co-developer EATA-PIO SCSI driver
|
||||
D: /proc/scsi and assorted other snippets
|
||||
D: /proc/scsi and assorted other snippets
|
||||
S: Zum Schiersteiner Grund 2
|
||||
S: 55127 Mainz
|
||||
S: Germany
|
||||
@ -2852,6 +2854,10 @@ D: IPX development and support
|
||||
N: Venkatesh Pallipadi (Venki)
|
||||
D: x86/HPET
|
||||
|
||||
N: Kyungmin Park
|
||||
E: kyungmin.park@samsung.com
|
||||
D: Samsung S5Pv210 and Exynos4210 mobile platforms
|
||||
|
||||
N: David Parsons
|
||||
E: orc@pell.chi.il.us
|
||||
D: improved memory detection code.
|
||||
@ -3019,7 +3025,7 @@ D: Embedded PowerPC 4xx/6xx/7xx/74xx support
|
||||
S: Chandler, Arizona 85249
|
||||
S: USA
|
||||
|
||||
N: Frederic Potter
|
||||
N: Frederic Potter
|
||||
E: fpotter@cirpack.com
|
||||
D: Some PCI kernel support
|
||||
|
||||
@ -3452,21 +3458,21 @@ S: Klosterweg 28 / i309
|
||||
S: 76131 Karlsruhe
|
||||
S: Germany
|
||||
|
||||
N: James Simmons
|
||||
N: James Simmons
|
||||
E: jsimmons@infradead.org
|
||||
E: jsimmons@users.sf.net
|
||||
E: jsimmons@users.sf.net
|
||||
D: Frame buffer device maintainer
|
||||
D: input layer development
|
||||
D: tty/console layer
|
||||
D: various mipsel devices
|
||||
S: 115 Carmel Avenue
|
||||
D: various mipsel devices
|
||||
S: 115 Carmel Avenue
|
||||
S: El Cerrito CA 94530
|
||||
S: USA
|
||||
S: USA
|
||||
|
||||
N: Jaspreet Singh
|
||||
E: jaspreet@sangoma.com
|
||||
W: www.sangoma.com
|
||||
D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards
|
||||
D: WANPIPE drivers & API Support for Sangoma S508/FT1 cards
|
||||
S: Sangoma Technologies Inc.,
|
||||
S: 1001 Denison Street
|
||||
S: Suite 101
|
||||
@ -3490,7 +3496,7 @@ N: Craig Small
|
||||
E: csmall@triode.apana.org.au
|
||||
E: vk2xlz@gonzo.vk2xlz.ampr.org (packet radio)
|
||||
D: Gracilis PackeTwin device driver
|
||||
D: RSPF daemon
|
||||
D: RSPF daemon
|
||||
S: 10 Stockalls Place
|
||||
S: Minto, NSW, 2566
|
||||
S: Australia
|
||||
@ -3700,7 +3706,7 @@ N: Tsu-Sheng Tsao
|
||||
E: tsusheng@scf.usc.edu
|
||||
D: IGMP(Internet Group Management Protocol) version 2
|
||||
S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD
|
||||
S: Taipei
|
||||
S: Taipei
|
||||
S: Taiwan 112
|
||||
S: Republic of China
|
||||
S: 24335 Delta Drive
|
||||
@ -3861,7 +3867,7 @@ D: Produced the Slackware distribution, updated the SVGAlib
|
||||
D: patches for ghostscript, worked on color 'ls', etc.
|
||||
S: 301 15th Street S.
|
||||
S: Moorhead, Minnesota 56560
|
||||
S: USA
|
||||
S: USA
|
||||
|
||||
N: Jos Vos
|
||||
E: jos@xos.nl
|
||||
@ -3869,7 +3875,7 @@ W: http://www.xos.nl/
|
||||
D: Various IP firewall updates, ipfwadm
|
||||
S: X/OS Experts in Open Systems BV
|
||||
S: Kruislaan 419
|
||||
S: 1098 VA Amsterdam
|
||||
S: 1098 VA Amsterdam
|
||||
S: The Netherlands
|
||||
|
||||
N: Jeroen Vreeken
|
||||
@ -4107,7 +4113,7 @@ S: People's Repulic of China
|
||||
N: Victor Yodaiken
|
||||
E: yodaiken@fsmlabs.com
|
||||
D: RTLinux (RealTime Linux)
|
||||
S: POB 1822
|
||||
S: POB 1822
|
||||
S: Socorro NM, 87801
|
||||
S: USA
|
||||
|
||||
@ -4205,7 +4211,7 @@ D: EISA/sysfs subsystem
|
||||
S: France
|
||||
|
||||
# Don't add your name here, unless you really _are_ after Marc
|
||||
# alphabetically. Leonard used to be very proud of being the
|
||||
# alphabetically. Leonard used to be very proud of being the
|
||||
# last entry, and he'll get positively pissed if he can't even
|
||||
# be second-to-last. (and this file really _is_ supposed to be
|
||||
# in alphabetic order)
|
||||
|
@ -1,32 +0,0 @@
|
||||
This ABI is deprecated and will be removed after 2021. It is
|
||||
replaced with the batadv generic netlink family.
|
||||
|
||||
What: /sys/class/net/<iface>/batman-adv/elp_interval
|
||||
Date: Feb 2014
|
||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
||||
Description:
|
||||
Defines the interval in milliseconds in which batman
|
||||
emits probing packets for neighbor sensing (ELP).
|
||||
|
||||
What: /sys/class/net/<iface>/batman-adv/iface_status
|
||||
Date: May 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Indicates the status of <iface> as it is seen by batman.
|
||||
|
||||
What: /sys/class/net/<iface>/batman-adv/mesh_iface
|
||||
Date: May 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
The /sys/class/net/<iface>/batman-adv/mesh_iface file
|
||||
displays the batman mesh interface this <iface>
|
||||
currently is associated with.
|
||||
|
||||
What: /sys/class/net/<iface>/batman-adv/throughput_override
|
||||
Date: Feb 2014
|
||||
Contact: Antonio Quartulli <a@unstable.cc>
|
||||
description:
|
||||
Defines the throughput value to be used by B.A.T.M.A.N. V
|
||||
when estimating the link throughput using this interface.
|
||||
If the value is set to 0 then batman-adv will try to
|
||||
estimate the throughput by itself.
|
@ -1,110 +0,0 @@
|
||||
This ABI is deprecated and will be removed after 2021. It is
|
||||
replaced with the batadv generic netlink family.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/aggregated_ogms
|
||||
Date: May 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Indicates whether the batman protocol messages of the
|
||||
mesh <mesh_iface> shall be aggregated or not.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/<vlan_subdir>/ap_isolation
|
||||
Date: May 2011
|
||||
Contact: Antonio Quartulli <a@unstable.cc>
|
||||
Description:
|
||||
Indicates whether the data traffic going from a
|
||||
wireless client to another wireless client will be
|
||||
silently dropped. <vlan_subdir> is empty when referring
|
||||
to the untagged lan.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/bonding
|
||||
Date: June 2010
|
||||
Contact: Simon Wunderlich <sw@simonwunderlich.de>
|
||||
Description:
|
||||
Indicates whether the data traffic going through the
|
||||
mesh will be sent using multiple interfaces at the
|
||||
same time (if available).
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
|
||||
Date: November 2011
|
||||
Contact: Simon Wunderlich <sw@simonwunderlich.de>
|
||||
Description:
|
||||
Indicates whether the bridge loop avoidance feature
|
||||
is enabled. This feature detects and avoids loops
|
||||
between the mesh and devices bridged with the soft
|
||||
interface <mesh_iface>.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/fragmentation
|
||||
Date: October 2010
|
||||
Contact: Andreas Langer <an.langer@gmx.de>
|
||||
Description:
|
||||
Indicates whether the data traffic going through the
|
||||
mesh will be fragmented or silently discarded if the
|
||||
packet size exceeds the outgoing interface MTU.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth
|
||||
Date: October 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Defines the bandwidth which is propagated by this
|
||||
node if gw_mode was set to 'server'.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/gw_mode
|
||||
Date: October 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Defines the state of the gateway features. Can be
|
||||
either 'off', 'client' or 'server'.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/gw_sel_class
|
||||
Date: October 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Defines the selection criteria this node will use
|
||||
to choose a gateway if gw_mode was set to 'client'.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/hop_penalty
|
||||
Date: Oct 2010
|
||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
||||
Description:
|
||||
Defines the penalty which will be applied to an
|
||||
originator message's tq-field on every hop.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/isolation_mark
|
||||
Date: Nov 2013
|
||||
Contact: Antonio Quartulli <a@unstable.cc>
|
||||
Description:
|
||||
Defines the isolation mark (and its bitmask) which
|
||||
is used to classify clients as "isolated" by the
|
||||
Extended Isolation feature.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/multicast_mode
|
||||
Date: Feb 2014
|
||||
Contact: Linus Lüssing <linus.luessing@web.de>
|
||||
Description:
|
||||
Indicates whether multicast optimizations are enabled
|
||||
or disabled. If set to zero then all nodes in the
|
||||
mesh are going to use classic flooding for any
|
||||
multicast packet with no optimizations.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/network_coding
|
||||
Date: Nov 2012
|
||||
Contact: Martin Hundeboll <martin@hundeboll.net>
|
||||
Description:
|
||||
Controls whether Network Coding (using some magic
|
||||
to send fewer wifi packets but still the same
|
||||
content) is enabled or not.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/orig_interval
|
||||
Date: May 2010
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Defines the interval in milliseconds in which batman
|
||||
sends its protocol messages.
|
||||
|
||||
What: /sys/class/net/<mesh_iface>/mesh/routing_algo
|
||||
Date: Dec 2011
|
||||
Contact: Marek Lindner <mareklindner@neomailbox.ch>
|
||||
Description:
|
||||
Defines the routing procotol this mesh instance
|
||||
uses to find the optimal paths through the mesh.
|
@ -77,6 +77,13 @@ Contact: dmaengine@vger.kernel.org
|
||||
Description: The operation capability bit mask specify the operation types
|
||||
supported by the this device.
|
||||
|
||||
What: /sys/bus/dsa/devices/dsa<m>/pasid_enabled
|
||||
Date: Oct 27, 2020
|
||||
KernelVersion: 5.11.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: To indicate if PASID (process address space identifier) is
|
||||
enabled or not for this device.
|
||||
|
||||
What: /sys/bus/dsa/devices/dsa<m>/state
|
||||
Date: Oct 25, 2019
|
||||
KernelVersion: 5.6.0
|
||||
@ -122,6 +129,13 @@ KernelVersion: 5.10.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: The last executed device administrative command's status/error.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/block_on_fault
|
||||
Date: Oct 27, 2020
|
||||
KernelVersion: 5.11.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: To indicate block on fault is allowed or not for the work queue
|
||||
to support on demand paging.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/group_id
|
||||
Date: Oct 25, 2019
|
||||
KernelVersion: 5.6.0
|
||||
@ -190,6 +204,13 @@ Contact: dmaengine@vger.kernel.org
|
||||
Description: The max batch size for this workqueue. Cannot exceed device
|
||||
max batch size. Configurable parameter.
|
||||
|
||||
What: /sys/bus/dsa/devices/wq<m>.<n>/ats_disable
|
||||
Date: Nov 13, 2020
|
||||
KernelVersion: 5.11.0
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Indicate whether ATS disable is turned on for the workqueue.
|
||||
0 indicates ATS is on, and 1 indicates ATS is off for the workqueue.
|
||||
|
||||
What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
|
||||
Date: Oct 25, 2019
|
||||
KernelVersion: 5.6.0
|
||||
|
@ -1,29 +1,29 @@
|
||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
|
||||
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/cap
|
||||
Date: December 3, 2009
|
||||
KernelVersion: 2.6.32
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Capabilities the DMA supports.Currently there are DMA_PQ, DMA_PQ_VAL,
|
||||
DMA_XOR,DMA_XOR_VAL,DMA_INTERRUPT.
|
||||
|
||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
|
||||
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_active
|
||||
Date: December 3, 2009
|
||||
KernelVersion: 2.6.32
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: The number of descriptors active in the ring.
|
||||
|
||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
|
||||
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/ring_size
|
||||
Date: December 3, 2009
|
||||
KernelVersion: 2.6.32
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Descriptor ring size, total number of descriptors available.
|
||||
|
||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
|
||||
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/version
|
||||
Date: December 3, 2009
|
||||
KernelVersion: 2.6.32
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
Description: Version of ioatdma device.
|
||||
|
||||
What: sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
|
||||
What: /sys/devices/pciXXXX:XX/0000:XX:XX.X/dma/dma<n>chan<n>/quickdata/intr_coalesce
|
||||
Date: August 8, 2017
|
||||
KernelVersion: 4.14
|
||||
Contact: dmaengine@vger.kernel.org
|
||||
|
@ -7,7 +7,7 @@ Description:
|
||||
ifname
|
||||
- network device interface name associated with
|
||||
this function instance
|
||||
qmult
|
||||
qmult
|
||||
- queue length multiplier for high and
|
||||
super speed
|
||||
host_addr
|
||||
|
20
Documentation/ABI/testing/procfs-attr-current
Normal file
20
Documentation/ABI/testing/procfs-attr-current
Normal file
@ -0,0 +1,20 @@
|
||||
What: /proc/*/attr/current
|
||||
Contact: linux-security-module@vger.kernel.org,
|
||||
selinux@vger.kernel.org,
|
||||
apparmor@lists.ubuntu.com
|
||||
Description: The current security information used by a Linux
|
||||
security module (LSM) that is active on the system.
|
||||
The details of permissions required to read from
|
||||
this interface and hence obtain the security state
|
||||
of the task identified is LSM dependent.
|
||||
A process cannot write to this interface unless it
|
||||
refers to itself.
|
||||
The other details of permissions required to write to
|
||||
this interface and hence change the security state of
|
||||
the task identified are LSM dependent.
|
||||
The format of the data used by this interface is LSM
|
||||
dependent.
|
||||
SELinux, Smack and AppArmor provide this interface.
|
||||
Users: SELinux user-space
|
||||
Smack user-space
|
||||
AppArmor user-space
|
20
Documentation/ABI/testing/procfs-attr-exec
Normal file
20
Documentation/ABI/testing/procfs-attr-exec
Normal file
@ -0,0 +1,20 @@
|
||||
What: /proc/*/attr/exec
|
||||
Contact: linux-security-module@vger.kernel.org,
|
||||
selinux@vger.kernel.org,
|
||||
apparmor@lists.ubuntu.com
|
||||
Description: The security information to be used on the process
|
||||
by a Linux security module (LSM) active on the system
|
||||
after a subsequent exec() call.
|
||||
The details of permissions required to read from
|
||||
this interface and hence obtain the security state
|
||||
of the task identified is LSM dependent.
|
||||
A process cannot write to this interface unless it
|
||||
refers to itself.
|
||||
The other details of permissions required to write to
|
||||
this interface and hence change the security state of
|
||||
the task identified are LSM dependent.
|
||||
The format of the data used by this interface is LSM
|
||||
dependent.
|
||||
SELinux and AppArmor provide this interface.
|
||||
Users: SELinux user-space
|
||||
AppArmor user-space
|
19
Documentation/ABI/testing/procfs-attr-prev
Normal file
19
Documentation/ABI/testing/procfs-attr-prev
Normal file
@ -0,0 +1,19 @@
|
||||
What: /proc/*/attr/prev
|
||||
Contact: linux-security-module@vger.kernel.org,
|
||||
selinux@vger.kernel.org,
|
||||
apparmor@lists.ubuntu.com
|
||||
Description: The security information used on the process by
|
||||
a Linux security module (LSM) active on the system
|
||||
prior to the most recent exec() call.
|
||||
The details of permissions required to read from
|
||||
this interface is LSM dependent.
|
||||
A process cannot write to this interface unless it
|
||||
refers to itself.
|
||||
The other details of permissions required to write to
|
||||
this interface are LSM dependent.
|
||||
The format of the data used by this interface is LSM
|
||||
dependent.
|
||||
SELinux and AppArmor provide this interface.
|
||||
Users: SELinux user-space
|
||||
AppArmor user-space
|
||||
|
@ -1743,6 +1743,16 @@ Description:
|
||||
|
||||
Raw counter device counters direction for channel Y.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_label
|
||||
What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_label
|
||||
KernelVersion: 5.8
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Optional symbolic label to a device channel.
|
||||
If a label is defined for this channel add that to the channel
|
||||
specific attributes. This is useful for userspace to be able to
|
||||
better identify an individual channel.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
|
||||
KernelVersion: 4.18
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
|
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
78
Documentation/ABI/testing/sysfs-bus-iio-adc-mt6360
Normal file
@ -0,0 +1,78 @@
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage0_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 USBID ADC which connected to connector ID pin.
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage1_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 VBUS ADC with lower accuracy(+-75mA)
|
||||
higher measure range(1~22mV)
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage2_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 VBUS ADC with higher accuracy(+-30mA)
|
||||
lower measure range(1~9.76V)
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage3_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 VSYS ADC
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage4_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 VBAT ADC
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_current5_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 IBUS ADC
|
||||
Calculating with scale and offset returns voltage in uA
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_current6_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 IBAT ADC
|
||||
Calculating with scale and offset returns voltage in uA
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_current7_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 CHG_VDDP ADC
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_temp8_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 IC junction temperature
|
||||
Calculating with scale and offset returns temperature in degree
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage9_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 VREF_TS ADC
|
||||
Calculating with scale and offset returns voltage in uV
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_voltage10_raw
|
||||
KernelVersion: 5.8.0
|
||||
Contact: gene_chen@richtek.com
|
||||
Description:
|
||||
Indicated MT6360 TS ADC
|
||||
Calculating with scale and offset returns voltage in uV
|
@ -109,30 +109,6 @@ Description:
|
||||
When counting down the counter start from preset value
|
||||
and fire event when reach 0.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_quadrature_mode_available
|
||||
KernelVersion: 4.12
|
||||
Contact: benjamin.gaignard@st.com
|
||||
Description:
|
||||
Reading returns the list possible quadrature modes.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count0_quadrature_mode
|
||||
KernelVersion: 4.12
|
||||
Contact: benjamin.gaignard@st.com
|
||||
Description:
|
||||
Configure the device counter quadrature modes:
|
||||
|
||||
channel_A:
|
||||
Encoder A input servers as the count input and B as
|
||||
the UP/DOWN direction control input.
|
||||
|
||||
channel_B:
|
||||
Encoder B input serves as the count input and A as
|
||||
the UP/DOWN direction control input.
|
||||
|
||||
quadrature:
|
||||
Encoder A and B inputs are mixed to get direction
|
||||
and count with a scale of 0.25.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_count_enable_mode_available
|
||||
KernelVersion: 4.12
|
||||
Contact: benjamin.gaignard@st.com
|
||||
|
@ -366,3 +366,12 @@ Contact: Heiner Kallweit <hkallweit1@gmail.com>
|
||||
Description: If ASPM is supported for an endpoint, these files can be
|
||||
used to disable or enable the individual power management
|
||||
states. Write y/1/on to enable, n/0/off to disable.
|
||||
|
||||
What: /sys/bus/pci/devices/.../power_state
|
||||
Date: November 2020
|
||||
Contact: Linux PCI developers <linux-pci@vger.kernel.org>
|
||||
Description:
|
||||
This file contains the current PCI power state of the device.
|
||||
The value comes from the PCI kernel device state and can be one
|
||||
of: "unknown", "error", "D0", D1", "D2", "D3hot", "D3cold".
|
||||
The file is read only.
|
||||
|
@ -1,3 +1,31 @@
|
||||
What: /sys/bus/thunderbolt/devices/<xdomain>/rx_speed
|
||||
Date: Feb 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||
Description: This attribute reports the XDomain RX speed per lane.
|
||||
All RX lanes run at the same speed.
|
||||
|
||||
What: /sys/bus/thunderbolt/devices/<xdomain>/rx_lanes
|
||||
Date: Feb 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||
Description: This attribute reports the number of RX lanes the XDomain
|
||||
is using simultaneously through its upstream port.
|
||||
|
||||
What: /sys/bus/thunderbolt/devices/<xdomain>/tx_speed
|
||||
Date: Feb 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||
Description: This attribute reports the XDomain TX speed per lane.
|
||||
All TX lanes run at the same speed.
|
||||
|
||||
What: /sys/bus/thunderbolt/devices/<xdomain>/tx_lanes
|
||||
Date: Feb 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Isaac Hazan <isaac.hazan@intel.com>
|
||||
Description: This attribute reports number of TX lanes the XDomain
|
||||
is using simultaneously through its upstream port.
|
||||
|
||||
What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
|
||||
Date: Jun 2018
|
||||
KernelVersion: 4.17
|
||||
|
@ -37,20 +37,6 @@ Description:
|
||||
The /sys/class/devfreq/.../target_freq shows the next governor
|
||||
predicted target frequency of the corresponding devfreq object.
|
||||
|
||||
What: /sys/class/devfreq/.../polling_interval
|
||||
Date: September 2011
|
||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||
Description:
|
||||
The /sys/class/devfreq/.../polling_interval shows and sets
|
||||
the requested polling interval of the corresponding devfreq
|
||||
object. The values are represented in ms. If the value is
|
||||
less than 1 jiffy, it is considered to be 0, which means
|
||||
no polling. This value is meaningless if the governor is
|
||||
not polling; thus. If the governor is not using
|
||||
devfreq-provided central polling
|
||||
(/sys/class/devfreq/.../central_polling is 0), this value
|
||||
may be useless.
|
||||
|
||||
What: /sys/class/devfreq/.../trans_stat
|
||||
Date: October 2012
|
||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||
@ -66,14 +52,6 @@ Description:
|
||||
|
||||
echo 0 > /sys/class/devfreq/.../trans_stat
|
||||
|
||||
What: /sys/class/devfreq/.../userspace/set_freq
|
||||
Date: September 2011
|
||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||
Description:
|
||||
The /sys/class/devfreq/.../userspace/set_freq shows and
|
||||
sets the requested frequency for the devfreq object if
|
||||
userspace governor is in effect.
|
||||
|
||||
What: /sys/class/devfreq/.../available_frequencies
|
||||
Date: October 2012
|
||||
Contact: Nishanth Menon <nm@ti.com>
|
||||
@ -110,6 +88,35 @@ Description:
|
||||
The max_freq overrides min_freq because max_freq may be
|
||||
used to throttle devices to avoid overheating.
|
||||
|
||||
What: /sys/class/devfreq/.../polling_interval
|
||||
Date: September 2011
|
||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||
Description:
|
||||
The /sys/class/devfreq/.../polling_interval shows and sets
|
||||
the requested polling interval of the corresponding devfreq
|
||||
object. The values are represented in ms. If the value is
|
||||
less than 1 jiffy, it is considered to be 0, which means
|
||||
no polling. This value is meaningless if the governor is
|
||||
not polling; thus. If the governor is not using
|
||||
devfreq-provided central polling
|
||||
(/sys/class/devfreq/.../central_polling is 0), this value
|
||||
may be useless.
|
||||
|
||||
A list of governors that support the node:
|
||||
- simple_ondmenad
|
||||
- tegra_actmon
|
||||
|
||||
What: /sys/class/devfreq/.../userspace/set_freq
|
||||
Date: September 2011
|
||||
Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
|
||||
Description:
|
||||
The /sys/class/devfreq/.../userspace/set_freq shows and
|
||||
sets the requested frequency for the devfreq object if
|
||||
userspace governor is in effect.
|
||||
|
||||
A list of governors that support the node:
|
||||
- userspace
|
||||
|
||||
What: /sys/class/devfreq/.../timer
|
||||
Date: July 2020
|
||||
Contact: Chanwoo Choi <cw00.choi@samsung.com>
|
||||
@ -122,3 +129,6 @@ Description:
|
||||
|
||||
echo deferrable > /sys/class/devfreq/.../timer
|
||||
echo delayed > /sys/class/devfreq/.../timer
|
||||
|
||||
A list of governors that support the node:
|
||||
- simple_ondemand
|
||||
|
23
Documentation/ABI/testing/sysfs-class-fc_host
Normal file
23
Documentation/ABI/testing/sysfs-class-fc_host
Normal file
@ -0,0 +1,23 @@
|
||||
What: /sys/class/fc_host/hostX/statistics/fpin_cn_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of congestion notification
|
||||
events recorded by the F_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
||||
|
||||
What: /sys/class/fc_host/hostX/statistics/fpin_li_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of link integrity error
|
||||
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
||||
|
||||
What: /sys/class/fc_host/hostX/statistics/fpin_dn_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of delivery related errors
|
||||
recorded by the F_Port/Nx_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
23
Documentation/ABI/testing/sysfs-class-fc_remote_ports
Normal file
23
Documentation/ABI/testing/sysfs-class-fc_remote_ports
Normal file
@ -0,0 +1,23 @@
|
||||
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_cn_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of congestion notification
|
||||
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
||||
|
||||
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_li_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of link integrity error
|
||||
events recorded by the F_Port/Nx_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
||||
|
||||
What: /sys/class/fc_remote_ports/rport-X:Y-Z/statistics/fpin_dn_yyy
|
||||
Date: July 2020
|
||||
Contact: Shyam Sundar <ssundar@marvell.com>
|
||||
Description:
|
||||
These files contain the number of delivery related errors
|
||||
recorded by the F_Port/Nx_Port, reported using fabric
|
||||
performance impact notification (FPIN) event.
|
258
Documentation/ABI/testing/sysfs-class-firmware-attributes
Normal file
258
Documentation/ABI/testing/sysfs-class-firmware-attributes
Normal file
@ -0,0 +1,258 @@
|
||||
What: /sys/class/firmware-attributes/*/attributes/*/
|
||||
Date: February 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||
Mario Limonciello <mario.limonciello@dell.com>,
|
||||
Prasanth KSR <prasanth.ksr@dell.com>
|
||||
Description:
|
||||
A sysfs interface for systems management software to enable
|
||||
configuration capability on supported systems. This directory
|
||||
exposes interfaces for interacting with configuration options.
|
||||
|
||||
Unless otherwise specified in an attribute description all attributes are optional
|
||||
and will accept UTF-8 input.
|
||||
|
||||
type:
|
||||
A file that can be read to obtain the type of attribute.
|
||||
This attribute is mandatory.
|
||||
|
||||
The following are known types:
|
||||
|
||||
- enumeration: a set of pre-defined valid values
|
||||
- integer: a range of numerical values
|
||||
- string
|
||||
|
||||
All attribute types support the following values:
|
||||
|
||||
current_value:
|
||||
A file that can be read to obtain the current
|
||||
value of the <attr>.
|
||||
|
||||
This file can also be written to in order to update the value of a
|
||||
<attr>
|
||||
|
||||
This attribute is mandatory.
|
||||
|
||||
default_value:
|
||||
A file that can be read to obtain the default
|
||||
value of the <attr>
|
||||
|
||||
display_name:
|
||||
A file that can be read to obtain a user friendly
|
||||
description of the at <attr>
|
||||
|
||||
display_name_language_code:
|
||||
A file that can be read to obtain
|
||||
the IETF language tag corresponding to the
|
||||
"display_name" of the <attr>
|
||||
|
||||
"enumeration"-type specific properties:
|
||||
|
||||
possible_values:
|
||||
A file that can be read to obtain the possible
|
||||
values of the <attr>. Values are separated using
|
||||
semi-colon (``;``).
|
||||
|
||||
"integer"-type specific properties:
|
||||
|
||||
min_value:
|
||||
A file that can be read to obtain the lower
|
||||
bound value of the <attr>
|
||||
|
||||
max_value:
|
||||
A file that can be read to obtain the upper
|
||||
bound value of the <attr>
|
||||
|
||||
scalar_increment:
|
||||
A file that can be read to obtain the scalar value used for
|
||||
increments of current_value this attribute accepts.
|
||||
|
||||
"string"-type specific properties:
|
||||
|
||||
max_length:
|
||||
A file that can be read to obtain the maximum
|
||||
length value of the <attr>
|
||||
|
||||
min_length:
|
||||
A file that can be read to obtain the minimum
|
||||
length value of the <attr>
|
||||
|
||||
Dell specific class extensions
|
||||
------------------------------
|
||||
|
||||
On Dell systems the following additional attributes are available:
|
||||
|
||||
dell_modifier:
|
||||
A file that can be read to obtain attribute-level
|
||||
dependency rule. It says an attribute X will become read-only or
|
||||
suppressed, if/if-not attribute Y is configured.
|
||||
|
||||
modifier rules can be in following format::
|
||||
|
||||
[ReadOnlyIf:<attribute>=<value>]
|
||||
[ReadOnlyIfNot:<attribute>=<value>]
|
||||
[SuppressIf:<attribute>=<value>]
|
||||
[SuppressIfNot:<attribute>=<value>]
|
||||
|
||||
For example::
|
||||
|
||||
AutoOnFri/dell_modifier has value,
|
||||
[SuppressIfNot:AutoOn=SelectDays]
|
||||
|
||||
This means AutoOnFri will be suppressed in BIOS setup if AutoOn
|
||||
attribute is not "SelectDays" and its value will not be effective
|
||||
through sysfs until this rule is met.
|
||||
|
||||
Enumeration attributes also support the following:
|
||||
|
||||
dell_value_modifier:
|
||||
A file that can be read to obtain value-level dependency.
|
||||
This file is similar to dell_modifier but here, an
|
||||
attribute's current value will be forcefully changed based
|
||||
dependent attributes value.
|
||||
|
||||
dell_value_modifier rules can be in following format::
|
||||
|
||||
<value>[ForceIf:<attribute>=<value>]
|
||||
<value>[ForceIfNot:<attribute>=<value>]
|
||||
|
||||
For example:
|
||||
|
||||
LegacyOrom/dell_value_modifier has value:
|
||||
Disabled[ForceIf:SecureBoot=Enabled]
|
||||
|
||||
This means LegacyOrom's current value will be forced to
|
||||
"Disabled" in BIOS setup if SecureBoot is Enabled and its
|
||||
value will not be effective through sysfs until this rule is
|
||||
met.
|
||||
|
||||
What: /sys/class/firmware-attributes/*/authentication/
|
||||
Date: February 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||
Mario Limonciello <mario.limonciello@dell.com>,
|
||||
Prasanth KSR <prasanth.ksr@dell.com>
|
||||
Description:
|
||||
Devices support various authentication mechanisms which can be exposed
|
||||
as a separate configuration object.
|
||||
|
||||
For example a "BIOS Admin" password and "System" Password can be set,
|
||||
reset or cleared using these attributes.
|
||||
|
||||
- An "Admin" password is used for preventing modification to the BIOS
|
||||
settings.
|
||||
- A "System" password is required to boot a machine.
|
||||
|
||||
Change in any of these two authentication methods will also generate an
|
||||
uevent KOBJ_CHANGE.
|
||||
|
||||
is_enabled:
|
||||
A file that can be read to obtain a 0/1 flag to see if
|
||||
<attr> authentication is enabled.
|
||||
This attribute is mandatory.
|
||||
|
||||
role:
|
||||
The type of authentication used.
|
||||
This attribute is mandatory.
|
||||
|
||||
Known types:
|
||||
bios-admin:
|
||||
Representing BIOS administrator password
|
||||
power-on:
|
||||
Representing a password required to use
|
||||
the system
|
||||
|
||||
mechanism:
|
||||
The means of authentication. This attribute is mandatory.
|
||||
Only supported type currently is "password".
|
||||
|
||||
max_password_length:
|
||||
A file that can be read to obtain the
|
||||
maximum length of the Password
|
||||
|
||||
min_password_length:
|
||||
A file that can be read to obtain the
|
||||
minimum length of the Password
|
||||
|
||||
current_password:
|
||||
A write only value used for privileged access such as
|
||||
setting attributes when a system or admin password is set
|
||||
or resetting to a new password
|
||||
|
||||
This attribute is mandatory when mechanism == "password".
|
||||
|
||||
new_password:
|
||||
A write only value that when used in tandem with
|
||||
current_password will reset a system or admin password.
|
||||
|
||||
Note, password management is session specific. If Admin password is set,
|
||||
same password must be written into current_password file (required for
|
||||
password-validation) and must be cleared once the session is over.
|
||||
For example::
|
||||
|
||||
echo "password" > current_password
|
||||
echo "disabled" > TouchScreen/current_value
|
||||
echo "" > current_password
|
||||
|
||||
Drivers may emit a CHANGE uevent when a password is set or unset
|
||||
userspace may check it again.
|
||||
|
||||
On Dell systems, if Admin password is set, then all BIOS attributes
|
||||
require password validation.
|
||||
|
||||
What: /sys/class/firmware-attributes/*/attributes/pending_reboot
|
||||
Date: February 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||
Mario Limonciello <mario.limonciello@dell.com>,
|
||||
Prasanth KSR <prasanth.ksr@dell.com>
|
||||
Description:
|
||||
A read-only attribute reads 1 if a reboot is necessary to apply
|
||||
pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is
|
||||
generated when it changes to 1.
|
||||
|
||||
== =========================================
|
||||
0 All BIOS attributes setting are current
|
||||
1 A reboot is necessary to get pending BIOS
|
||||
attribute changes applied
|
||||
== =========================================
|
||||
|
||||
Note, userspace applications need to follow below steps for efficient
|
||||
BIOS management,
|
||||
|
||||
1. Check if admin password is set. If yes, follow session method for
|
||||
password management as briefed under authentication section above.
|
||||
2. Before setting any attribute, check if it has any modifiers
|
||||
or value_modifiers. If yes, incorporate them and then modify
|
||||
attribute.
|
||||
|
||||
Drivers may emit a CHANGE uevent when this value changes and userspace
|
||||
may check it again.
|
||||
|
||||
What: /sys/class/firmware-attributes/*/attributes/reset_bios
|
||||
Date: February 2021
|
||||
KernelVersion: 5.11
|
||||
Contact: Divya Bharathi <Divya.Bharathi@Dell.com>,
|
||||
Mario Limonciello <mario.limonciello@dell.com>,
|
||||
Prasanth KSR <prasanth.ksr@dell.com>
|
||||
Description:
|
||||
This attribute can be used to reset the BIOS Configuration.
|
||||
Specifically, it tells which type of reset BIOS configuration is being
|
||||
requested on the host.
|
||||
|
||||
Reading from it returns a list of supported options encoded as:
|
||||
|
||||
- 'builtinsafe' (Built in safe configuration profile)
|
||||
- 'lastknowngood' (Last known good saved configuration profile)
|
||||
- 'factory' (Default factory settings configuration profile)
|
||||
- 'custom' (Custom saved configuration profile)
|
||||
|
||||
The currently selected option is printed in square brackets as
|
||||
shown below::
|
||||
|
||||
# echo "factory" > /sys/class/firmware-attributes/*/device/attributes/reset_bios
|
||||
# cat /sys/class/firmware-attributes/*/device/attributes/reset_bios
|
||||
# builtinsafe lastknowngood [factory] custom
|
||||
|
||||
Note that any changes to this attribute requires a reboot
|
||||
for changes to take effect.
|
119
Documentation/ABI/testing/sysfs-class-intel_pmt
Normal file
119
Documentation/ABI/testing/sysfs-class-intel_pmt
Normal file
@ -0,0 +1,119 @@
|
||||
What: /sys/class/intel_pmt/
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
The intel_pmt/ class directory contains information for
|
||||
devices that expose hardware telemetry using Intel Platform
|
||||
Monitoring Technology (PMT)
|
||||
|
||||
What: /sys/class/intel_pmt/telem<x>
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
The telem<x> directory contains files describing an instance of
|
||||
a PMT telemetry device that exposes hardware telemetry. Each
|
||||
telem<x> directory has an associated telem file. This file
|
||||
may be opened and mapped or read to access the telemetry space
|
||||
of the device. The register layout of the telemetry space is
|
||||
determined from an XML file that matches the PCI device id and
|
||||
GUID for the device.
|
||||
|
||||
What: /sys/class/intel_pmt/telem<x>/telem
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
(RO) The telemetry data for this telemetry device. This file
|
||||
may be mapped or read to obtain the data.
|
||||
|
||||
What: /sys/class/intel_pmt/telem<x>/guid
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
(RO) The GUID for this telemetry device. The GUID identifies
|
||||
the version of the XML file for the parent device that is to
|
||||
be used to get the register layout.
|
||||
|
||||
What: /sys/class/intel_pmt/telem<x>/size
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
(RO) The size of telemetry region in bytes that corresponds to
|
||||
the mapping size for the telem file.
|
||||
|
||||
What: /sys/class/intel_pmt/telem<x>/offset
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
(RO) The offset of telemetry region in bytes that corresponds to
|
||||
the mapping for the telem file.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
The crashlog<x> directory contains files for configuring an
|
||||
instance of a PMT crashlog device that can perform crash data
|
||||
recording. Each crashlog<x> device has an associated crashlog
|
||||
file. This file can be opened and mapped or read to access the
|
||||
resulting crashlog buffer. The register layout for the buffer
|
||||
can be determined from an XML file of specified GUID for the
|
||||
parent device.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/crashlog
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: David Box <david.e.box@linux.intel.com>
|
||||
Description:
|
||||
(RO) The crashlog buffer for this crashlog device. This file
|
||||
may be mapped or read to obtain the data.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/guid
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
(RO) The GUID for this crashlog device. The GUID identifies the
|
||||
version of the XML file for the parent device that should be
|
||||
used to determine the register layout.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/size
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
(RO) The length of the result buffer in bytes that corresponds
|
||||
to the size for the crashlog buffer.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/offset
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
(RO) The offset of the buffer in bytes that corresponds
|
||||
to the mapping for the crashlog device.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/enable
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
(RW) Boolean value controlling if the crashlog functionality
|
||||
is enabled for the crashlog device.
|
||||
|
||||
What: /sys/class/intel_pmt/crashlog<x>/trigger
|
||||
Date: October 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Alexander Duyck <alexander.h.duyck@linux.intel.com>
|
||||
Description:
|
||||
(RW) Boolean value controlling the triggering of the crashlog
|
||||
device node. When read it provides data on if the crashlog has
|
||||
been triggered. When written to it can be used to either clear
|
||||
the current trigger by writing false, or to trigger a new
|
||||
event if the trigger is not currently set.
|
@ -152,7 +152,7 @@ Description:
|
||||
When an interface is under test, it cannot be expected
|
||||
to pass packets as normal.
|
||||
|
||||
What: /sys/clas/net/<iface>/duplex
|
||||
What: /sys/class/net/<iface>/duplex
|
||||
Date: October 2009
|
||||
KernelVersion: 2.6.33
|
||||
Contact: netdev@vger.kernel.org
|
||||
|
@ -66,7 +66,7 @@ Description: Expected format is the following::
|
||||
The rnbd_server prepends the <device_path> received from client
|
||||
with <dev_search_path> and tries to open the
|
||||
<dev_search_path>/<device_path> block device. On success,
|
||||
a /dev/rnbd<N> device file, a /sys/block/rnbd_client/rnbd<N>/
|
||||
a /dev/rnbd<N> device file, a /sys/block/rnbd<N>/
|
||||
directory and an entry in /sys/class/rnbd-client/ctl/devices
|
||||
will be created.
|
||||
|
||||
@ -95,12 +95,12 @@ Description: Expected format is the following::
|
||||
---------------------------------
|
||||
|
||||
After mapping, the device file can be found by:
|
||||
o The symlink /sys/class/rnbd-client/ctl/devices/<device_id>
|
||||
o The symlink /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>
|
||||
points to /sys/block/<dev-name>. The last part of the symlink destination
|
||||
is the same as the device name. By extracting the last part of the
|
||||
path the path to the device /dev/<dev-name> can be build.
|
||||
|
||||
* /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>/dev)
|
||||
* /dev/block/$(cat /sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>/dev)
|
||||
|
||||
How to find the <device_id> of the device is described on the next
|
||||
section.
|
||||
@ -110,7 +110,7 @@ Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: For each device mapped on the client a new symbolic link is created as
|
||||
/sys/class/rnbd-client/ctl/devices/<device_id>, which points
|
||||
/sys/class/rnbd-client/ctl/devices/<device_id>@<session_name>, which points
|
||||
to the block device created by rnbd (/sys/block/rnbd<N>/).
|
||||
The <device_id> of each device is created as follows:
|
||||
|
||||
|
@ -48,3 +48,11 @@ Date: Feb 2020
|
||||
KernelVersion: 5.7
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Contains the device access mode: ro, rw or migration.
|
||||
|
||||
What: /sys/class/rnbd-server/ctl/devices/<device_name>/sessions/<session-name>/force_close
|
||||
Date: Nov 2020
|
||||
KernelVersion: 5.10
|
||||
Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com>
|
||||
Description: Write "1" to the file to close the device on server side. Please
|
||||
note that the client side device will not be closed, read or
|
||||
write to the device will get -ENOTCONN.
|
||||
|
@ -139,6 +139,49 @@ Description:
|
||||
Shows if the partner supports USB Power Delivery communication:
|
||||
Valid values: yes, no
|
||||
|
||||
What: /sys/class/typec/<port>-partner/number_of_alternate_modes
|
||||
Date: November 2020
|
||||
Contact: Prashant Malani <pmalani@chromium.org>
|
||||
Description:
|
||||
Shows the number of alternate modes which are advertised by the partner
|
||||
during Power Delivery discovery. This file remains hidden until a value
|
||||
greater than or equal to 0 is set by Type C port driver.
|
||||
|
||||
What: /sys/class/typec/<port>-partner/type
|
||||
Date: December 2020
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description: USB Power Delivery Specification defines a set of product types
|
||||
for the partner devices. This file will show the product type of
|
||||
the partner if it is known. Dual-role capable partners will have
|
||||
both UFP and DFP product types defined, but only one that
|
||||
matches the current role will be active at the time. If the
|
||||
product type of the partner is not visible to the device driver,
|
||||
this file will not exist.
|
||||
|
||||
When the partner product type is detected, or changed with role
|
||||
swap, uvevent is also raised that contains PRODUCT_TYPE=<product
|
||||
type> (for example PRODUCT_TYPE=hub).
|
||||
|
||||
Valid values:
|
||||
|
||||
UFP / device role
|
||||
====================== ==========================
|
||||
undefined -
|
||||
hub PDUSB Hub
|
||||
peripheral PDUSB Peripheral
|
||||
psd Power Bank
|
||||
ama Alternate Mode Adapter
|
||||
====================== ==========================
|
||||
|
||||
DFP / host role
|
||||
====================== ==========================
|
||||
undefined -
|
||||
hub PDUSB Hub
|
||||
host PDUSB Host
|
||||
power_brick Power Brick
|
||||
amc Alternate Mode Controller
|
||||
====================== ==========================
|
||||
|
||||
What: /sys/class/typec/<port>-partner>/identity/
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
@ -151,31 +194,6 @@ Description:
|
||||
directory exists, it will have an attribute file for every VDO
|
||||
in Discover Identity command result.
|
||||
|
||||
What: /sys/class/typec/<port>-partner/identity/id_header
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
ID Header VDO part of Discover Identity command result. The
|
||||
value will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
What: /sys/class/typec/<port>-partner/identity/cert_stat
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
Cert Stat VDO part of Discover Identity command result. The
|
||||
value will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
What: /sys/class/typec/<port>-partner/identity/product
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
Product VDO part of Discover Identity command result. The value
|
||||
will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
|
||||
USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
|
||||
|
||||
Note: Electronically Marked Cables will have a device also for one cable plug
|
||||
@ -187,9 +205,21 @@ described in USB Type-C and USB Power Delivery specifications.
|
||||
What: /sys/class/typec/<port>-cable/type
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
Shows if the cable is active.
|
||||
Valid values: active, passive
|
||||
Description: USB Power Delivery Specification defines a set of product types
|
||||
for the cables. This file will show the product type of the
|
||||
cable if it is known. If the product type of the cable is not
|
||||
visible to the device driver, this file will not exist.
|
||||
|
||||
When the cable product type is detected, uvevent is also raised
|
||||
with PRODUCT_TYPE showing the product type of the cable.
|
||||
|
||||
Valid values:
|
||||
|
||||
====================== ==========================
|
||||
undefined -
|
||||
active Active Cable
|
||||
passive Passive Cable
|
||||
====================== ==========================
|
||||
|
||||
What: /sys/class/typec/<port>-cable/plug_type
|
||||
Date: April 2017
|
||||
@ -202,17 +232,37 @@ Description:
|
||||
- type-c
|
||||
- captive
|
||||
|
||||
What: /sys/class/typec/<port>-cable/identity/
|
||||
What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes
|
||||
Date: November 2020
|
||||
Contact: Prashant Malani <pmalani@chromium.org>
|
||||
Description:
|
||||
Shows the number of alternate modes which are advertised by the plug
|
||||
associated with a particular cable during Power Delivery discovery.
|
||||
This file remains hidden until a value greater than or equal to 0
|
||||
is set by Type C port driver.
|
||||
|
||||
|
||||
USB Type-C partner/cable Power Delivery Identity objects
|
||||
|
||||
NOTE: The following attributes will be applicable to both
|
||||
partner (e.g /sys/class/typec/port0-partner/) and
|
||||
cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
|
||||
paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
|
||||
reflect this.
|
||||
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
This directory appears only if the port device driver is capable
|
||||
of showing the result of Discover Identity USB power delivery
|
||||
command. That will not always be possible even when USB power
|
||||
delivery is supported. If the directory exists, it will have an
|
||||
attribute for every VDO returned by Discover Identity command.
|
||||
delivery is supported, for example when USB power delivery
|
||||
communication for the port is mostly handled in firmware. If the
|
||||
directory exists, it will have an attribute file for every VDO
|
||||
in Discover Identity command result.
|
||||
|
||||
What: /sys/class/typec/<port>-cable/identity/id_header
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/id_header
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
@ -220,7 +270,7 @@ Description:
|
||||
value will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
What: /sys/class/typec/<port>-cable/identity/cert_stat
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
@ -228,7 +278,7 @@ Description:
|
||||
value will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
What: /sys/class/typec/<port>-cable/identity/product
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/product
|
||||
Date: April 2017
|
||||
Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
|
||||
Description:
|
||||
@ -236,6 +286,30 @@ Description:
|
||||
will show 0 until Discover Identity command result becomes
|
||||
available. The value can be polled.
|
||||
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
|
||||
Date: October 2020
|
||||
Contact: Prashant Malani <pmalani@chromium.org>
|
||||
Description:
|
||||
1st Product Type VDO of Discover Identity command result.
|
||||
The value will show 0 until Discover Identity command result becomes
|
||||
available and a valid Product Type VDO is returned.
|
||||
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
|
||||
Date: October 2020
|
||||
Contact: Prashant Malani <pmalani@chromium.org>
|
||||
Description:
|
||||
2nd Product Type VDO of Discover Identity command result.
|
||||
The value will show 0 until Discover Identity command result becomes
|
||||
available and a valid Product Type VDO is returned.
|
||||
|
||||
What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
|
||||
Date: October 2020
|
||||
Contact: Prashant Malani <pmalani@chromium.org>
|
||||
Description:
|
||||
3rd Product Type VDO of Discover Identity command result.
|
||||
The value will show 0 until Discover Identity command result becomes
|
||||
available and a valid Product Type VDO is returned.
|
||||
|
||||
|
||||
USB Type-C port alternate mode devices.
|
||||
|
||||
|
@ -19,7 +19,7 @@ Description:
|
||||
identify removable sections of the memory before attempting
|
||||
potentially expensive hot-remove memory operation
|
||||
Users: hotplug memory remove tools
|
||||
http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
|
||||
http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
|
||||
|
||||
What: /sys/devices/system/memory/memoryX/phys_device
|
||||
Date: September 2008
|
||||
|
@ -264,7 +264,8 @@ Description: Discover CPUs in the same CPU frequency coordination domain
|
||||
attribute is useful for user space DVFS controllers to get better
|
||||
power/performance results for platforms using acpi-cpufreq.
|
||||
|
||||
This file is only present if the acpi-cpufreq driver is in use.
|
||||
This file is only present if the acpi-cpufreq or the cppc-cpufreq
|
||||
drivers are in use.
|
||||
|
||||
|
||||
What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
|
||||
|
@ -14,7 +14,7 @@ Users: any user space application which wants to communicate with
|
||||
w1_term device
|
||||
|
||||
|
||||
What: /sys/bus/w1/devices/.../eeprom
|
||||
What: /sys/bus/w1/devices/.../eeprom_cmd
|
||||
Date: May 2020
|
||||
Contact: Akira Shimahara <akira215corp@gmail.com>
|
||||
Description:
|
||||
|
35
Documentation/ABI/testing/sysfs-firmware-lefi-boardinfo
Normal file
35
Documentation/ABI/testing/sysfs-firmware-lefi-boardinfo
Normal file
@ -0,0 +1,35 @@
|
||||
What: /sys/firmware/lefi/boardinfo
|
||||
Date: October 2020
|
||||
Contact: Tiezhu Yang <yangtiezhu@loongson.cn>
|
||||
Description:
|
||||
Get mainboard and BIOS info easily on the Loongson platform,
|
||||
this is useful to point out the current used mainboard type
|
||||
and BIOS version when there exists problems related with
|
||||
hardware or firmware.
|
||||
|
||||
The related structures are already defined in the interface
|
||||
specification about firmware and kernel which are common
|
||||
requirement and specific for Loongson64, so only add a new
|
||||
boardinfo.c file in arch/mips/loongson64.
|
||||
|
||||
For example:
|
||||
|
||||
[loongson@linux ~]$ cat /sys/firmware/lefi/boardinfo
|
||||
Board Info
|
||||
Manufacturer : LEMOTE
|
||||
Board Name : LEMOTE-LS3A4000-7A1000-1w-V01-pc
|
||||
Family : LOONGSON3
|
||||
|
||||
BIOS Info
|
||||
Vendor : Kunlun
|
||||
Version : Kunlun-A1901-V4.1.3-20200414093938
|
||||
ROM Size : 4 KB
|
||||
Release Date : 2020-04-14
|
||||
|
||||
By the way, using dmidecode command can get the similar info if there
|
||||
exists SMBIOS in firmware, but the fact is that there is no SMBIOS on
|
||||
some machines, we can see nothing when execute dmidecode, like this:
|
||||
|
||||
[root@linux loongson]# dmidecode
|
||||
# dmidecode 2.12
|
||||
# No SMBIOS nor DMI entry point found, sorry.
|
@ -1,27 +1,159 @@
|
||||
What: /sys/firmware/sgi_uv/
|
||||
Date: August 2008
|
||||
Contact: Russ Anderson <rja@sgi.com>
|
||||
Date: September 2020
|
||||
Contact: Justin Ernst <justin.ernst@hpe.com>
|
||||
Description:
|
||||
The /sys/firmware/sgi_uv directory contains information
|
||||
about the SGI UV platform.
|
||||
about the UV platform.
|
||||
|
||||
Under that directory are a number of files::
|
||||
Under that directory are a number of read-only attributes::
|
||||
|
||||
archtype
|
||||
hub_type
|
||||
hubless
|
||||
partition_id
|
||||
coherence_id
|
||||
uv_type
|
||||
|
||||
The archtype entry contains the UV architecture type that
|
||||
is used to select arch-dependent addresses and features.
|
||||
It can be set via the OEM_ID in the ACPI MADT table or by
|
||||
UVsystab entry both passed from UV BIOS.
|
||||
|
||||
The hub_type entry is used to select the type of hub which is
|
||||
similar to uv_type but encoded in a binary format. Include
|
||||
the file uv_hub.h to get the definitions.
|
||||
|
||||
The hubless entry basically is present and set only if there
|
||||
is no hub. In this case the hub_type entry is not present.
|
||||
|
||||
The partition_id entry contains the partition id.
|
||||
SGI UV systems can be partitioned into multiple physical
|
||||
UV systems can be partitioned into multiple physical
|
||||
machines, which each partition running a unique copy
|
||||
of the operating system. Each partition will have a unique
|
||||
partition id. To display the partition id, use the command::
|
||||
|
||||
cat /sys/firmware/sgi_uv/partition_id
|
||||
of the operating system. Each partition will have a unique
|
||||
partition id.
|
||||
|
||||
The coherence_id entry contains the coherence id.
|
||||
A partitioned SGI UV system can have one or more coherence
|
||||
domain. The coherence id indicates which coherence domain
|
||||
this partition is in. To display the coherence id, use the
|
||||
command::
|
||||
A partitioned UV system can have one or more coherence
|
||||
domains. The coherence id indicates which coherence domain
|
||||
this partition is in.
|
||||
|
||||
cat /sys/firmware/sgi_uv/coherence_id
|
||||
The uv_type entry contains the hub revision number.
|
||||
This value can be used to identify the UV system version::
|
||||
"0.*" = Hubless UV ('*' is subtype)
|
||||
|
||||
"3.0" = UV2
|
||||
"5.0" = UV3
|
||||
"7.0" = UV4
|
||||
"7.1" = UV4a
|
||||
"9.0" = UV5
|
||||
|
||||
The /sys/firmware/sgi_uv directory also contains two directories::
|
||||
|
||||
hubs/
|
||||
pcibuses/
|
||||
|
||||
The hubs directory contains a number of hub objects, each representing
|
||||
a UV Hub visible to the BIOS. Each hub object's name is appended by a
|
||||
unique ordinal value (ex. /sys/firmware/sgi_uv/hubs/hub_5)
|
||||
|
||||
Each hub object directory contains a number of read-only attributes::
|
||||
|
||||
cnode
|
||||
location
|
||||
name
|
||||
nasid
|
||||
shared
|
||||
this_partition
|
||||
|
||||
The cnode entry contains the cnode number of the corresponding hub.
|
||||
If a cnode value is not applicable, the value returned will be -1.
|
||||
|
||||
The location entry contains the location string of the corresponding hub.
|
||||
This value is used to physically identify a hub within a system.
|
||||
|
||||
The name entry contains the name of the corresponding hub. This name can
|
||||
be two variants::
|
||||
|
||||
"UVHub x.x" = A 'node' ASIC, connecting a CPU to the interconnect
|
||||
fabric. The 'x.x' value represents the ASIC revision.
|
||||
(ex. 'UVHub 5.0')
|
||||
|
||||
"NLxRouter" = A 'router ASIC, only connecting other ASICs to
|
||||
the interconnect fabric. The 'x' value representing
|
||||
the fabric technology version. (ex. 'NL8Router')
|
||||
|
||||
The nasid entry contains the nasid number of the corresponding hub.
|
||||
If a nasid value is not applicable, the value returned will be -1.
|
||||
|
||||
The shared entry contains a boolean value describing whether the
|
||||
corresponding hub is shared between system partitions.
|
||||
|
||||
The this_partition entry contains a boolean value describing whether
|
||||
the corresponding hub is local to the current partition.
|
||||
|
||||
Each hub object directory also contains a number of port objects,
|
||||
each representing a fabric port on the corresponding hub.
|
||||
A port object's name is appended by a unique ordinal value
|
||||
(ex. /sys/firmware/sgi_uv/hubs/hub_5/port_3)
|
||||
|
||||
Each port object directory contains a number of read-only attributes::
|
||||
|
||||
conn_hub
|
||||
conn_port
|
||||
|
||||
The conn_hub entry contains a value representing the unique
|
||||
oridinal value of the hub on the other end of the fabric
|
||||
cable plugged into the port. If the port is disconnected,
|
||||
the value returned will be -1.
|
||||
|
||||
The conn_port entry contains a value representing the unique
|
||||
oridinal value of the port on the other end of the fabric cable
|
||||
plugged into the port. If the port is disconnected, the value
|
||||
returned will be -1.
|
||||
|
||||
Ex:
|
||||
A value of '3' is read from:
|
||||
/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_hub
|
||||
|
||||
and a value of '6' is read from:
|
||||
/sys/firmware/sgi_uv/hubs/hub_5/port_3/conn_port
|
||||
|
||||
representing that this port is connected to:
|
||||
/sys/firmware/sgi_uv/hubs/hub_3/port_6
|
||||
|
||||
The pcibuses directory contains a number of PCI bus objects.
|
||||
Each PCI bus object's name is appended by its PCI bus address.
|
||||
(ex. pcibus_0003:80)
|
||||
|
||||
Each pcibus object has a number of possible read-only attributes::
|
||||
|
||||
type
|
||||
location
|
||||
slot
|
||||
ppb_addr
|
||||
iio_stack
|
||||
|
||||
The type entry contains a value describing the type of IO at
|
||||
the corresponding PCI bus address. Known possible values
|
||||
across all UV versions are::
|
||||
|
||||
BASE IO
|
||||
PCIe IO
|
||||
PCIe SLOT
|
||||
NODE IO
|
||||
Riser
|
||||
PPB
|
||||
|
||||
The location entry contains the location string of the UV Hub
|
||||
of the CPU physically connected to the corresponding PCI bus.
|
||||
|
||||
The slot entry contains the physical slot number of the
|
||||
corresponding PCI bus. This value is used to physically locate
|
||||
PCI cards within a system.
|
||||
|
||||
The ppb_addr entry contains the PCI address string of the
|
||||
bridged PCI bus. This entry is only present when the PCI bus
|
||||
object type is 'PPB'.
|
||||
|
||||
The iio_stack entry contains a value describing the IIO stack
|
||||
number that the corresponding PCI bus object is connected to.
|
||||
|
@ -33,7 +33,7 @@ What: /sys/fs/ext4/<disk>/mb_order2_req
|
||||
Date: March 2008
|
||||
Contact: "Theodore Ts'o" <tytso@mit.edu>
|
||||
Description:
|
||||
Tuning parameter which controls the minimum size for
|
||||
Tuning parameter which controls the minimum size for
|
||||
requests (as a power of 2) where the buddy cache is
|
||||
used
|
||||
|
||||
|
@ -370,3 +370,10 @@ Date: April 2020
|
||||
Contact: "Daeho Jeong" <daehojeong@google.com>
|
||||
Description: Give a way to change iostat_period time. 3secs by default.
|
||||
The new iostat trace gives stats gap given the period.
|
||||
What: /sys/fs/f2fs/<disk>/max_io_bytes
|
||||
Date: December 2020
|
||||
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
||||
Description: This gives a control to limit the bio size in f2fs.
|
||||
Default is zero, which will follow underlying block layer limit,
|
||||
whereas, if it has a certain bytes value, f2fs won't submit a
|
||||
bio larger than that size.
|
||||
|
@ -15,3 +15,11 @@ Description:
|
||||
information with description of all internal kernel types. See
|
||||
Documentation/bpf/btf.rst for detailed description of format
|
||||
itself.
|
||||
|
||||
What: /sys/kernel/btf/<module-name>
|
||||
Date: Nov 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: bpf@vger.kernel.org
|
||||
Description:
|
||||
Read-only binary attribute exposing kernel module's BTF type
|
||||
information as an add-on to the kernel's BTF (/sys/kernel/btf/vmlinux).
|
||||
|
@ -33,3 +33,33 @@ Description: In case an RMRR is used only by graphics or USB devices
|
||||
it is now exposed as "direct-relaxable" instead of "direct".
|
||||
In device assignment use case, for instance, those RMRR
|
||||
are considered to be relaxable and safe.
|
||||
|
||||
What: /sys/kernel/iommu_groups/<grp_id>/type
|
||||
Date: November 2020
|
||||
KernelVersion: v5.11
|
||||
Contact: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
|
||||
Description: /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
|
||||
domain in use by iommu for this group. See include/linux/iommu.h
|
||||
for possible read values. A privileged user could request kernel to
|
||||
change the group type by writing to this file. Valid write values:
|
||||
|
||||
======== ======================================================
|
||||
DMA All the DMA transactions from the device in this group
|
||||
are translated by the iommu.
|
||||
identity All the DMA transactions from the device in this group
|
||||
are not translated by the iommu.
|
||||
auto Change to the type the device was booted with.
|
||||
======== ======================================================
|
||||
|
||||
The default domain type of a group may be modified only when
|
||||
|
||||
- The group has only one device.
|
||||
- The device in the group is not bound to any device driver.
|
||||
So, the users must unbind the appropriate driver before
|
||||
changing the default domain type.
|
||||
|
||||
Unbinding a device driver will take away the driver's control
|
||||
over the device and if done on devices that host root file
|
||||
system could lead to catastrophic effects (the users might
|
||||
need to reboot the machine to get it to normal state). So, it's
|
||||
expected that the users understand what they're doing.
|
||||
|
32
Documentation/ABI/testing/sysfs-kernel-reboot
Normal file
32
Documentation/ABI/testing/sysfs-kernel-reboot
Normal file
@ -0,0 +1,32 @@
|
||||
What: /sys/kernel/reboot
|
||||
Date: November 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: Interface to set the kernel reboot behavior, similarly to
|
||||
what can be done via the reboot= cmdline option.
|
||||
(see Documentation/admin-guide/kernel-parameters.txt)
|
||||
|
||||
What: /sys/kernel/reboot/mode
|
||||
Date: November 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: Reboot mode. Valid values are: cold warm hard soft gpio
|
||||
|
||||
What: /sys/kernel/reboot/type
|
||||
Date: November 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: Reboot type. Valid values are: bios acpi kbd triple efi pci
|
||||
|
||||
What: /sys/kernel/reboot/cpu
|
||||
Date: November 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: CPU number to use to reboot.
|
||||
|
||||
What: /sys/kernel/reboot/force
|
||||
Date: November 2020
|
||||
KernelVersion: 5.11
|
||||
Contact: Matteo Croce <mcroce@microsoft.com>
|
||||
Description: Don't wait for any other CPUs on reboot and
|
||||
avoid anything that could hang.
|
@ -25,7 +25,7 @@ Description: Maximum time allowed for periodic transfers per microframe (μs)
|
||||
However there are cases, when 80% max isochronous bandwidth is
|
||||
too limiting. For example two video streams could require 110
|
||||
microseconds of isochronous bandwidth per microframe to work
|
||||
together.
|
||||
together.
|
||||
|
||||
Through this setting it is possible to raise the limit so that
|
||||
the host controller would allow allocating more than 100
|
||||
|
@ -12,6 +12,6 @@ Description:
|
||||
- "peripheral" - switching mode from host to peripheral.
|
||||
|
||||
Read the file, then it shows the following strings:
|
||||
|
||||
|
||||
- "host" - The mode is host now.
|
||||
- "peripheral" - The mode is peripheral now.
|
||||
|
@ -26,6 +26,10 @@ BUILDDIR = $(obj)/output
|
||||
PDFLATEX = xelatex
|
||||
LATEXOPTS = -interaction=batchmode
|
||||
|
||||
ifeq ($(KBUILD_VERBOSE),0)
|
||||
SPHINXOPTS += "-q"
|
||||
endif
|
||||
|
||||
# User-friendly check for sphinx-build
|
||||
HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi)
|
||||
|
||||
|
@ -1929,16 +1929,46 @@ The Linux-kernel CPU-hotplug implementation has notifiers that are used
|
||||
to allow the various kernel subsystems (including RCU) to respond
|
||||
appropriately to a given CPU-hotplug operation. Most RCU operations may
|
||||
be invoked from CPU-hotplug notifiers, including even synchronous
|
||||
grace-period operations such as ``synchronize_rcu()`` and
|
||||
``synchronize_rcu_expedited()``.
|
||||
grace-period operations such as (``synchronize_rcu()`` and
|
||||
``synchronize_rcu_expedited()``). However, these synchronous operations
|
||||
do block and therefore cannot be invoked from notifiers that execute via
|
||||
``stop_machine()``, specifically those between the ``CPUHP_AP_OFFLINE``
|
||||
and ``CPUHP_AP_ONLINE`` states.
|
||||
|
||||
However, all-callback-wait operations such as ``rcu_barrier()`` are also
|
||||
not supported, due to the fact that there are phases of CPU-hotplug
|
||||
operations where the outgoing CPU's callbacks will not be invoked until
|
||||
after the CPU-hotplug operation ends, which could also result in
|
||||
deadlock. Furthermore, ``rcu_barrier()`` blocks CPU-hotplug operations
|
||||
during its execution, which results in another type of deadlock when
|
||||
invoked from a CPU-hotplug notifier.
|
||||
In addition, all-callback-wait operations such as ``rcu_barrier()`` may
|
||||
not be invoked from any CPU-hotplug notifier. This restriction is due
|
||||
to the fact that there are phases of CPU-hotplug operations where the
|
||||
outgoing CPU's callbacks will not be invoked until after the CPU-hotplug
|
||||
operation ends, which could also result in deadlock. Furthermore,
|
||||
``rcu_barrier()`` blocks CPU-hotplug operations during its execution,
|
||||
which results in another type of deadlock when invoked from a CPU-hotplug
|
||||
notifier.
|
||||
|
||||
Finally, RCU must avoid deadlocks due to interaction between hotplug,
|
||||
timers and grace period processing. It does so by maintaining its own set
|
||||
of books that duplicate the centrally maintained ``cpu_online_mask``,
|
||||
and also by reporting quiescent states explicitly when a CPU goes
|
||||
offline. This explicit reporting of quiescent states avoids any need
|
||||
for the force-quiescent-state loop (FQS) to report quiescent states for
|
||||
offline CPUs. However, as a debugging measure, the FQS loop does splat
|
||||
if offline CPUs block an RCU grace period for too long.
|
||||
|
||||
An offline CPU's quiescent state will be reported either:
|
||||
|
||||
1. As the CPU goes offline using RCU's hotplug notifier (``rcu_report_dead()``).
|
||||
2. When grace period initialization (``rcu_gp_init()``) detects a
|
||||
race either with CPU offlining or with a task unblocking on a leaf
|
||||
``rcu_node`` structure whose CPUs are all offline.
|
||||
|
||||
The CPU-online path (``rcu_cpu_starting()``) should never need to report
|
||||
a quiescent state for an offline CPU. However, as a debugging measure,
|
||||
it does emit a warning if a quiescent state was not already reported
|
||||
for that CPU.
|
||||
|
||||
During the checking/modification of RCU's hotplug bookkeeping, the
|
||||
corresponding CPU's leaf node lock is held. This avoids race conditions
|
||||
between RCU's hotplug notifier hooks, the grace period initialization
|
||||
code, and the FQS loop, all of which refer to or modify this bookkeeping.
|
||||
|
||||
Scheduler and RCU
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
@ -314,6 +314,13 @@ over a rather long period of time, but improvements are always welcome!
|
||||
shared between readers and updaters. Additional primitives
|
||||
are provided for this case, as discussed in lockdep.txt.
|
||||
|
||||
One exception to this rule is when data is only ever added to
|
||||
the linked data structure, and is never removed during any
|
||||
time that readers might be accessing that structure. In such
|
||||
cases, READ_ONCE() may be used in place of rcu_dereference()
|
||||
and the read-side markers (rcu_read_lock() and rcu_read_unlock(),
|
||||
for example) may be omitted.
|
||||
|
||||
10. Conversely, if you are in an RCU read-side critical section,
|
||||
and you don't hold the appropriate update-side lock, you -must-
|
||||
use the "_rcu()" variants of the list macros. Failing to do so
|
||||
|
@ -28,6 +28,12 @@ Follow these rules to keep your RCU code working properly:
|
||||
for an example where the compiler can in fact deduce the exact
|
||||
value of the pointer, and thus cause misordering.
|
||||
|
||||
- In the special case where data is added but is never removed
|
||||
while readers are accessing the structure, READ_ONCE() may be used
|
||||
instead of rcu_dereference(). In this case, use of READ_ONCE()
|
||||
takes on the role of the lockless_dereference() primitive that
|
||||
was removed in v4.15.
|
||||
|
||||
- You are only permitted to use rcu_dereference on pointer values.
|
||||
The compiler simply knows too much about integral values to
|
||||
trust it to carry dependencies through integer operations.
|
||||
|
@ -497,8 +497,7 @@ long -- there might be other high-priority work to be done.
|
||||
In such cases, one uses call_rcu() rather than synchronize_rcu().
|
||||
The call_rcu() API is as follows::
|
||||
|
||||
void call_rcu(struct rcu_head * head,
|
||||
void (*func)(struct rcu_head *head));
|
||||
void call_rcu(struct rcu_head *head, rcu_callback_t func);
|
||||
|
||||
This function invokes func(head) after a grace period has elapsed.
|
||||
This invocation might happen from either softirq or process context,
|
||||
|
@ -107,7 +107,7 @@ for a UID/GID will prevent that UID/GID from obtaining auxiliary setid
|
||||
privileges, such as allowing a user to set up user namespace UID/GID mappings.
|
||||
|
||||
Note on GID policies and setgroups()
|
||||
==================
|
||||
====================================
|
||||
In v5.9 we are adding support for limiting CAP_SETGID privileges as was done
|
||||
previously for CAP_SETUID. However, for compatibility with common sandboxing
|
||||
related code conventions in userspace, we currently allow arbitrary
|
||||
|
@ -398,8 +398,8 @@ If something goes wrong
|
||||
|
||||
If you for some reason cannot do the above (you have a pre-compiled
|
||||
kernel image or similar), telling me as much about your setup as
|
||||
possible will help. Please read the :ref:`admin-guide/reporting-bugs.rst <reportingbugs>`
|
||||
document for details.
|
||||
possible will help. Please read
|
||||
'Documentation/admin-guide/reporting-issues.rst' for details.
|
||||
|
||||
- Alternatively, you can use gdb on a running kernel. (read-only; i.e. you
|
||||
cannot change values or set break points.) To do this, first compile the
|
||||
|
@ -8,7 +8,7 @@ CPPC
|
||||
====
|
||||
|
||||
CPPC defined in the ACPI spec describes a mechanism for the OS to manage the
|
||||
performance of a logical processor on a contigious and abstract performance
|
||||
performance of a logical processor on a contiguous and abstract performance
|
||||
scale. CPPC exposes a set of registers to describe abstract performance scale,
|
||||
to request performance levels and to measure per-cpu delivered performance.
|
||||
|
||||
@ -45,7 +45,7 @@ for each cpu X::
|
||||
* lowest_freq : CPU frequency corresponding to lowest_perf (in MHz).
|
||||
* nominal_freq : CPU frequency corresponding to nominal_perf (in MHz).
|
||||
The above frequencies should only be used to report processor performance in
|
||||
freqency instead of abstract scale. These values should not be used for any
|
||||
frequency instead of abstract scale. These values should not be used for any
|
||||
functional decisions.
|
||||
|
||||
* feedback_ctrs : Includes both Reference and delivered performance counter.
|
||||
|
@ -70,5 +70,5 @@ Deleting binder Devices
|
||||
Binderfs binder devices can be deleted via `unlink() <unlink_>`_. This means
|
||||
that the `rm() <rm_>`_ tool can be used to delete them. Note that the
|
||||
``binder-control`` device cannot be deleted since this would make the binderfs
|
||||
instance unuseable. The ``binder-control`` device will be deleted when the
|
||||
instance unusable. The ``binder-control`` device will be deleted when the
|
||||
binderfs instance is unmounted and all references to it have been dropped.
|
||||
|
@ -220,7 +220,7 @@ example::
|
||||
Finally, you can load high-level drivers for each kind of device that
|
||||
you have connected. By default, each driver will autoprobe for a single
|
||||
device, but you can support up to four similar devices by giving their
|
||||
individual co-ordinates when you load the driver.
|
||||
individual coordinates when you load the driver.
|
||||
|
||||
For example, if you had two no-name CD-ROM drives both using the
|
||||
KingByte KBIC-951A adapter, one on port 0x378 and the other on 0x3bc
|
||||
|
@ -266,6 +266,7 @@ line of text and contains the following stats separated by whitespace:
|
||||
No memory is allocated for such pages.
|
||||
pages_compacted the number of pages freed during compaction
|
||||
huge_pages the number of incompressible pages
|
||||
huge_pages_since the number of incompressible pages since zram set up
|
||||
================ =============================================================
|
||||
|
||||
File /sys/block/zram<id>/bd_stat
|
||||
@ -334,6 +335,11 @@ Admin can request writeback of those idle pages at right timing via::
|
||||
|
||||
With the command, zram writeback idle pages from memory to the storage.
|
||||
|
||||
If admin want to write a specific page in zram device to backing device,
|
||||
they could write a page index into the interface.
|
||||
|
||||
echo "page_index=1251" > /sys/block/zramX/writeback
|
||||
|
||||
If there are lots of write IO with flash device, potentially, it has
|
||||
flash wearout problem so that admin needs to design write limitation
|
||||
to guarantee storage health for entire product life.
|
||||
@ -360,7 +366,7 @@ like below::
|
||||
/sys/block/zram0/writeback_limit.
|
||||
$ echo 1 > /sys/block/zram0/writeback_limit_enable
|
||||
|
||||
If admins want to allow further write again once the bugdet is exhausted,
|
||||
If admins want to allow further write again once the budget is exhausted,
|
||||
he could do it like below::
|
||||
|
||||
$ echo $((400<<MB_SHIFT>>4K_SHIFT)) > \
|
||||
|
@ -137,15 +137,24 @@ Boot Kernel With a Boot Config
|
||||
==============================
|
||||
|
||||
Since the boot configuration file is loaded with initrd, it will be added
|
||||
to the end of the initrd (initramfs) image file with size, checksum and
|
||||
12-byte magic word as below.
|
||||
to the end of the initrd (initramfs) image file with padding, size,
|
||||
checksum and 12-byte magic word as below.
|
||||
|
||||
[initrd][bootconfig][size(u32)][checksum(u32)][#BOOTCONFIG\n]
|
||||
[initrd][bootconfig][padding][size(le32)][checksum(le32)][#BOOTCONFIG\n]
|
||||
|
||||
The size and checksum fields are unsigned 32bit little endian value.
|
||||
|
||||
When the boot configuration is added to the initrd image, the total
|
||||
file size is aligned to 4 bytes. To fill the gap, null characters
|
||||
(``\0``) will be added. Thus the ``size`` is the length of the bootconfig
|
||||
file + padding bytes.
|
||||
|
||||
The Linux kernel decodes the last part of the initrd image in memory to
|
||||
get the boot configuration data.
|
||||
Because of this "piggyback" method, there is no need to change or
|
||||
update the boot loader and the kernel image itself.
|
||||
update the boot loader and the kernel image itself as long as the boot
|
||||
loader passes the correct initrd file size. If by any chance, the boot
|
||||
loader passes a longer size, the kernel feils to find the bootconfig data.
|
||||
|
||||
To do this operation, Linux kernel provides "bootconfig" command under
|
||||
tools/bootconfig, which allows admin to apply or delete the config file
|
||||
@ -176,7 +185,8 @@ up to 512 key-value pairs. If keys contains 3 words in average, it can
|
||||
contain 256 key-value pairs. In most cases, the number of config items
|
||||
will be under 100 entries and smaller than 8KB, so it would be enough.
|
||||
If the node number exceeds 1024, parser returns an error even if the file
|
||||
size is smaller than 32KB.
|
||||
size is smaller than 32KB. (Note that this maximum size is not including
|
||||
the padding null characters.)
|
||||
Anyway, since bootconfig command verifies it when appending a boot config
|
||||
to initrd image, user can notice it before boot.
|
||||
|
||||
|
@ -15,7 +15,7 @@ give up. Report as much as you have found to the relevant maintainer. See
|
||||
MAINTAINERS for who that is for the subsystem you have worked on.
|
||||
|
||||
Before you submit a bug report read
|
||||
:ref:`Documentation/admin-guide/reporting-bugs.rst <reportingbugs>`.
|
||||
'Documentation/admin-guide/reporting-issues.rst'.
|
||||
|
||||
Devices not appearing
|
||||
=====================
|
||||
|
@ -263,7 +263,7 @@ Please notice that it will point to:
|
||||
|
||||
- The last developers that touched the source code (if this is done inside
|
||||
a git tree). On the above example, Tejun and Bhaktipriya (in this
|
||||
specific case, none really envolved on the development of this file);
|
||||
specific case, none really involved on the development of this file);
|
||||
- The driver maintainer (Hans Verkuil);
|
||||
- The subsystem maintainer (Mauro Carvalho Chehab);
|
||||
- The driver and/or subsystem mailing list (linux-media@vger.kernel.org);
|
||||
|
@ -133,18 +133,9 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
||||
|
||||
8. LRU
|
||||
======
|
||||
Each memcg has its own private LRU. Now, its handling is under global
|
||||
VM's control (means that it's handled under global pgdat->lru_lock).
|
||||
Almost all routines around memcg's LRU is called by global LRU's
|
||||
list management functions under pgdat->lru_lock.
|
||||
|
||||
A special function is mem_cgroup_isolate_pages(). This scans
|
||||
memcg's private LRU and call __isolate_lru_page() to extract a page
|
||||
from LRU.
|
||||
|
||||
(By __isolate_lru_page(), the page is removed from both of global and
|
||||
private LRU.)
|
||||
|
||||
Each memcg has its own vector of LRUs (inactive anon, active anon,
|
||||
inactive file, active file, unevictable) of pages from each node,
|
||||
each LRU handled under a single lru_lock for that memcg and node.
|
||||
|
||||
9. Typical Tests.
|
||||
=================
|
||||
@ -219,13 +210,11 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
||||
|
||||
This is an easy way to test page migration, too.
|
||||
|
||||
9.5 mkdir/rmdir
|
||||
---------------
|
||||
9.5 nested cgroups
|
||||
------------------
|
||||
|
||||
When using hierarchy, mkdir/rmdir test should be done.
|
||||
Use tests like the following::
|
||||
Use tests like the following for testing nested cgroups::
|
||||
|
||||
echo 1 >/opt/cgroup/01/memory/use_hierarchy
|
||||
mkdir /opt/cgroup/01/child_a
|
||||
mkdir /opt/cgroup/01/child_b
|
||||
|
||||
|
@ -77,6 +77,8 @@ Brief summary of control files.
|
||||
memory.soft_limit_in_bytes set/show soft limit of memory usage
|
||||
memory.stat show various statistics
|
||||
memory.use_hierarchy set/show hierarchical account enabled
|
||||
This knob is deprecated and shouldn't be
|
||||
used.
|
||||
memory.force_empty trigger forced page reclaim
|
||||
memory.pressure_level set memory pressure notifications
|
||||
memory.swappiness set/show swappiness parameter of vmscan
|
||||
@ -285,20 +287,17 @@ When oom event notifier is registered, event will be delivered.
|
||||
2.6 Locking
|
||||
-----------
|
||||
|
||||
lock_page_cgroup()/unlock_page_cgroup() should not be called under
|
||||
the i_pages lock.
|
||||
Lock order is as follows:
|
||||
|
||||
Other lock order is following:
|
||||
Page lock (PG_locked bit of page->flags)
|
||||
mm->page_table_lock or split pte_lock
|
||||
lock_page_memcg (memcg->move_lock)
|
||||
mapping->i_pages lock
|
||||
lruvec->lru_lock.
|
||||
|
||||
PG_locked.
|
||||
mm->page_table_lock
|
||||
pgdat->lru_lock
|
||||
lock_page_cgroup.
|
||||
|
||||
In many cases, just lock_page_cgroup() is called.
|
||||
|
||||
per-zone-per-cgroup LRU (cgroup's private LRU) is just guarded by
|
||||
pgdat->lru_lock, it has no lock of its own.
|
||||
Per-node-per-memcgroup LRU (cgroup's private LRU) is guarded by
|
||||
lruvec->lru_lock; PG_lru bit of page->flags is cleared before
|
||||
isolating a page from its LRU under lruvec->lru_lock.
|
||||
|
||||
2.7 Kernel Memory Extension (CONFIG_MEMCG_KMEM)
|
||||
-----------------------------------------------
|
||||
@ -495,16 +494,13 @@ cgroup might have some charge associated with it, even though all
|
||||
tasks have migrated away from it. (because we charge against pages, not
|
||||
against tasks.)
|
||||
|
||||
We move the stats to root (if use_hierarchy==0) or parent (if
|
||||
use_hierarchy==1), and no change on the charge except uncharging
|
||||
We move the stats to parent, and no change on the charge except uncharging
|
||||
from the child.
|
||||
|
||||
Charges recorded in swap information is not updated at removal of cgroup.
|
||||
Recorded information is discarded and a cgroup which uses swap (swapcache)
|
||||
will be charged as a new owner of it.
|
||||
|
||||
About use_hierarchy, see Section 6.
|
||||
|
||||
5. Misc. interfaces
|
||||
===================
|
||||
|
||||
@ -527,8 +523,6 @@ About use_hierarchy, see Section 6.
|
||||
write will still return success. In this case, it is expected that
|
||||
memory.kmem.usage_in_bytes == memory.usage_in_bytes.
|
||||
|
||||
About use_hierarchy, see Section 6.
|
||||
|
||||
5.2 stat file
|
||||
-------------
|
||||
|
||||
@ -675,32 +669,21 @@ hierarchy::
|
||||
d e
|
||||
|
||||
In the diagram above, with hierarchical accounting enabled, all memory
|
||||
usage of e, is accounted to its ancestors up until the root (i.e, c and root),
|
||||
that has memory.use_hierarchy enabled. If one of the ancestors goes over its
|
||||
limit, the reclaim algorithm reclaims from the tasks in the ancestor and the
|
||||
children of the ancestor.
|
||||
usage of e, is accounted to its ancestors up until the root (i.e, c and root).
|
||||
If one of the ancestors goes over its limit, the reclaim algorithm reclaims
|
||||
from the tasks in the ancestor and the children of the ancestor.
|
||||
|
||||
6.1 Enabling hierarchical accounting and reclaim
|
||||
------------------------------------------------
|
||||
6.1 Hierarchical accounting and reclaim
|
||||
---------------------------------------
|
||||
|
||||
A memory cgroup by default disables the hierarchy feature. Support
|
||||
can be enabled by writing 1 to memory.use_hierarchy file of the root cgroup::
|
||||
Hierarchical accounting is enabled by default. Disabling the hierarchical
|
||||
accounting is deprecated. An attempt to do it will result in a failure
|
||||
and a warning printed to dmesg.
|
||||
|
||||
For compatibility reasons writing 1 to memory.use_hierarchy will always pass::
|
||||
|
||||
# echo 1 > memory.use_hierarchy
|
||||
|
||||
The feature can be disabled by::
|
||||
|
||||
# echo 0 > memory.use_hierarchy
|
||||
|
||||
NOTE1:
|
||||
Enabling/disabling will fail if either the cgroup already has other
|
||||
cgroups created below it, or if the parent cgroup has use_hierarchy
|
||||
enabled.
|
||||
|
||||
NOTE2:
|
||||
When panic_on_oom is set to "2", the whole system will panic in
|
||||
case of an OOM event in any cgroup.
|
||||
|
||||
7. Soft limits
|
||||
==============
|
||||
|
||||
|
@ -1274,6 +1274,9 @@ PAGE_SIZE multiple when read back.
|
||||
kernel_stack
|
||||
Amount of memory allocated to kernel stacks.
|
||||
|
||||
pagetables
|
||||
Amount of memory allocated for page tables.
|
||||
|
||||
percpu(npn)
|
||||
Amount of memory used for storing per-cpu kernel
|
||||
data structures.
|
||||
@ -1300,6 +1303,14 @@ PAGE_SIZE multiple when read back.
|
||||
Amount of memory used in anonymous mappings backed by
|
||||
transparent hugepages
|
||||
|
||||
file_thp
|
||||
Amount of cached filesystem data backed by transparent
|
||||
hugepages
|
||||
|
||||
shmem_thp
|
||||
Amount of shm, tmpfs, shared anonymous mmap()s backed by
|
||||
transparent hugepages
|
||||
|
||||
inactive_anon, active_anon, inactive_file, active_file, unevictable
|
||||
Amount of memory, swap-backed and filesystem-backed,
|
||||
on the internal memory management lists used by the
|
||||
|
@ -9,7 +9,7 @@ Introduction
|
||||
PC operating systems. New and improved versions of CIFS are now
|
||||
called SMB2 and SMB3. Use of SMB3 (and later, including SMB3.1.1)
|
||||
is strongly preferred over using older dialects like CIFS due to
|
||||
security reaasons. All modern dialects, including the most recent,
|
||||
security reasons. All modern dialects, including the most recent,
|
||||
SMB3.1.1 are supported by the CIFS VFS module. The SMB3 protocol
|
||||
is implemented and supported by all major file servers
|
||||
such as all modern versions of Windows (including Windows 2016
|
||||
|
@ -115,7 +115,7 @@ later source tree in docs/manpages/mount.cifs.8
|
||||
Allowing User Unmounts
|
||||
======================
|
||||
|
||||
To permit users to ummount directories that they have user mounted (see above),
|
||||
To permit users to unmount directories that they have user mounted (see above),
|
||||
the utility umount.cifs may be used. It may be invoked directly, or if
|
||||
umount.cifs is placed in /sbin, umount can invoke the cifs umount helper
|
||||
(at least for most versions of the umount utility) for umount of cifs
|
||||
@ -197,7 +197,7 @@ that is ignored by local server applications and non-cifs clients and that will
|
||||
not be traversed by the Samba server). This is opaque to the Linux client
|
||||
application using the cifs vfs. Absolute symlinks will work to Samba 3.0.5 or
|
||||
later, but only for remote clients using the CIFS Unix extensions, and will
|
||||
be invisbile to Windows clients and typically will not affect local
|
||||
be invisible to Windows clients and typically will not affect local
|
||||
applications running on the same server as Samba.
|
||||
|
||||
Use instructions
|
||||
@ -267,7 +267,7 @@ would be forbidden for Windows/CIFS semantics) as long as the server is
|
||||
configured for Unix Extensions (and the client has not disabled
|
||||
/proc/fs/cifs/LinuxExtensionsEnabled). In addition the mount option
|
||||
``mapposix`` can be used on CIFS (vers=1.0) to force the mapping of
|
||||
illegal Windows/NTFS/SMB characters to a remap range (this mount parm
|
||||
illegal Windows/NTFS/SMB characters to a remap range (this mount parameter
|
||||
is the default for SMB3). This remap (``mapposix``) range is also
|
||||
compatible with Mac (and "Services for Mac" on some older Windows).
|
||||
|
||||
|
@ -46,7 +46,7 @@ Parameters::
|
||||
capi:authenc(hmac(sha256),xts(aes))-random
|
||||
capi:rfc7539(chacha20,poly1305)-random
|
||||
|
||||
The /proc/crypto contains a list of curently loaded crypto modes.
|
||||
The /proc/crypto contains a list of currently loaded crypto modes.
|
||||
|
||||
<key>
|
||||
Key used for encryption. It is encoded either as a hexadecimal number
|
||||
@ -92,7 +92,7 @@ Parameters::
|
||||
|
||||
<#opt_params>
|
||||
Number of optional parameters. If there are no optional parameters,
|
||||
the optional paramaters section can be skipped or #opt_params can be zero.
|
||||
the optional parameters section can be skipped or #opt_params can be zero.
|
||||
Otherwise #opt_params is the number of following arguments.
|
||||
|
||||
Example of optional parameters section:
|
||||
|
@ -117,7 +117,7 @@ journal_watermark:number
|
||||
|
||||
commit_time:number
|
||||
Commit time in milliseconds. When this time passes, the journal is
|
||||
written. The journal is also written immediatelly if the FLUSH
|
||||
written. The journal is also written immediately if the FLUSH
|
||||
request is received.
|
||||
|
||||
internal_hash:algorithm(:key) (the key is optional)
|
||||
@ -147,7 +147,7 @@ journal_crypt:algorithm(:key) (the key is optional)
|
||||
"salsa20" or "ctr(aes)").
|
||||
|
||||
The journal contains history of last writes to the block device,
|
||||
an attacker reading the journal could see the last sector nubmers
|
||||
an attacker reading the journal could see the last sector numbers
|
||||
that were written. From the sector numbers, the attacker can infer
|
||||
the size of files that were written. To protect against this
|
||||
situation, you can encrypt the journal.
|
||||
|
@ -418,6 +418,6 @@ Version History
|
||||
specific devices are requested via rebuild. Fix RAID leg
|
||||
rebuild errors.
|
||||
1.15.0 Fix size extensions not being synchronized in case of new MD bitmap
|
||||
pages allocated; also fix those not occuring after previous reductions
|
||||
pages allocated; also fix those not occurring after previous reductions
|
||||
1.15.1 Fix argument count and arguments for rebuild/write_mostly/journal_(dev|mode)
|
||||
on the status line.
|
||||
|
@ -24,7 +24,7 @@ The dm-zoned implementation is simple and minimizes system overhead (CPU
|
||||
and memory usage as well as storage capacity loss). For a 10TB
|
||||
host-managed disk with 256 MB zones, dm-zoned memory usage per disk
|
||||
instance is at most 4.5 MB and as little as 5 zones will be used
|
||||
internally for storing metadata and performaing reclaim operations.
|
||||
internally for storing metadata and performing reclaim operations.
|
||||
|
||||
dm-zoned target devices are formatted and checked using the dmzadm
|
||||
utility available at:
|
||||
@ -102,7 +102,7 @@ the buffer zone assigned. If the accessed chunk has no mapping, or the
|
||||
accessed blocks are invalid, the read buffer is zeroed and the read
|
||||
operation terminated.
|
||||
|
||||
After some time, the limited number of convnetional zones available may
|
||||
After some time, the limited number of conventional zones available may
|
||||
be exhausted (all used to map chunks or buffer sequential zones) and
|
||||
unaligned writes to unbuffered chunks become impossible. To avoid this
|
||||
situation, a reclaim process regularly scans used conventional zones and
|
||||
@ -158,7 +158,7 @@ Ex::
|
||||
dmzadm --format /dev/sdxx /dev/sdyy
|
||||
|
||||
|
||||
Fomatted device(s) can be started with the dmzadm utility, too.:
|
||||
Formatted device(s) can be started with the dmzadm utility, too.:
|
||||
|
||||
Ex::
|
||||
|
||||
|
@ -69,7 +69,7 @@ Construction Parameters
|
||||
|
||||
<#opt_params>
|
||||
Number of optional parameters. If there are no optional parameters,
|
||||
the optional paramaters section can be skipped or #opt_params can be zero.
|
||||
the optional parameters section can be skipped or #opt_params can be zero.
|
||||
Otherwise #opt_params is the number of following arguments.
|
||||
|
||||
Example of optional parameters section:
|
||||
@ -134,7 +134,12 @@ root_hash_sig_key_desc <key_description>
|
||||
the pkcs7 signature of the roothash. The pkcs7 signature is used to validate
|
||||
the root hash during the creation of the device mapper block device.
|
||||
Verification of roothash depends on the config DM_VERITY_VERIFY_ROOTHASH_SIG
|
||||
being set in the kernel.
|
||||
being set in the kernel. The signatures are checked against the builtin
|
||||
trusted keyring by default, or the secondary trusted keyring if
|
||||
DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is set. The secondary
|
||||
trusted keyring includes by default the builtin trusted keyring, and it can
|
||||
also gain new certificates at run time if they are signed by a certificate
|
||||
already in the secondary trusted keyring.
|
||||
|
||||
Theory of operation
|
||||
===================
|
||||
|
@ -37,10 +37,10 @@ Constructor parameters:
|
||||
autocommit_blocks n (default: 64 for pmem, 65536 for ssd)
|
||||
when the application writes this amount of blocks without
|
||||
issuing the FLUSH request, the blocks are automatically
|
||||
commited
|
||||
committed
|
||||
autocommit_time ms (default: 1000)
|
||||
autocommit time in milliseconds. The data is automatically
|
||||
commited if this time passes and no FLUSH request is
|
||||
committed if this time passes and no FLUSH request is
|
||||
received
|
||||
fua (by default on)
|
||||
applicable only to persistent memory - use the FUA flag
|
||||
|
3
Documentation/admin-guide/features.rst
Normal file
3
Documentation/admin-guide/features.rst
Normal file
@ -0,0 +1,3 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. kernel-feat:: $srctree/Documentation/features
|
@ -60,7 +60,7 @@ Hyper-Thread attacks are possible.
|
||||
|
||||
The victim of a malicious actor does not need to make use of TSX. Only the
|
||||
attacker needs to begin a TSX transaction and raise an asynchronous abort
|
||||
which in turn potenitally leaks data stored in the buffers.
|
||||
which in turn potentially leaks data stored in the buffers.
|
||||
|
||||
More detailed technical information is available in the TAA specific x86
|
||||
architecture section: :ref:`Documentation/x86/tsx_async_abort.rst <tsx_async_abort>`.
|
||||
|
@ -19,6 +19,7 @@ etc.
|
||||
sysctl/index
|
||||
|
||||
abi
|
||||
features
|
||||
|
||||
This section describes CPU vulnerabilities and their mitigations.
|
||||
|
||||
@ -33,7 +34,8 @@ problems and bugs in particular.
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
reporting-bugs
|
||||
reporting-issues
|
||||
Reporting bugs (obsolete) <reporting-bugs>
|
||||
security-bugs
|
||||
bug-hunting
|
||||
bug-bisect
|
||||
@ -111,13 +113,13 @@ configure specific aspects of kernel behavior to your liking.
|
||||
rtc
|
||||
serial-console
|
||||
svga
|
||||
syscall-user-dispatch
|
||||
sysrq
|
||||
thunderbolt
|
||||
ufs
|
||||
unicode
|
||||
vga-softcursor
|
||||
video-output
|
||||
wimax/index
|
||||
xfs
|
||||
|
||||
.. only:: subproject and html
|
||||
|
@ -39,6 +39,12 @@ call.
|
||||
User-space tools can get the kernel name, host name, kernel release
|
||||
number, kernel version, architecture name and OS type from it.
|
||||
|
||||
(uts_namespace, name)
|
||||
---------------------
|
||||
|
||||
Offset of the name's member. Crash Utility and Makedumpfile get
|
||||
the start address of the init_uts_ns.name from this.
|
||||
|
||||
node_online_map
|
||||
---------------
|
||||
|
||||
|
@ -172,6 +172,7 @@ parameter is applicable::
|
||||
X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
|
||||
X86_UV SGI UV support is enabled.
|
||||
XEN Xen support is enabled
|
||||
XTENSA xtensa architecture is enabled.
|
||||
|
||||
In addition, the following text indicates that the option::
|
||||
|
||||
|
@ -1883,11 +1883,6 @@
|
||||
Note that using this option lowers the security
|
||||
provided by tboot because it makes the system
|
||||
vulnerable to DMA attacks.
|
||||
nobounce [Default off]
|
||||
Disable bounce buffer for untrusted devices such as
|
||||
the Thunderbolt devices. This will treat the untrusted
|
||||
devices as the trusted ones, hence might expose security
|
||||
risks of DMA attacks.
|
||||
|
||||
intel_idle.max_cstate= [KNL,HW,ACPI,X86]
|
||||
0 disables intel_idle and fall back on acpi_idle.
|
||||
@ -2259,6 +2254,16 @@
|
||||
for all guests.
|
||||
Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
|
||||
|
||||
kvm-arm.mode=
|
||||
[KVM,ARM] Select one of KVM/arm64's modes of operation.
|
||||
|
||||
protected: nVHE-based mode with support for guests whose
|
||||
state is kept private from the host.
|
||||
Not valid if the kernel is running in EL2.
|
||||
|
||||
Defaults to VHE/nVHE based on hardware support and
|
||||
the value of CONFIG_ARM64_VHE.
|
||||
|
||||
kvm-arm.vgic_v3_group0_trap=
|
||||
[KVM,ARM] Trap guest accesses to GICv3 group-0
|
||||
system registers
|
||||
@ -2709,7 +2714,7 @@
|
||||
option description.
|
||||
|
||||
memmap=nn[KMG]@ss[KMG]
|
||||
[KNL] Force usage of a specific region of memory.
|
||||
[KNL, X86, MIPS, XTENSA] Force usage of a specific region of memory.
|
||||
Region of memory to be used is from ss to ss+nn.
|
||||
If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG],
|
||||
which limits max address to nn[KMG].
|
||||
@ -2858,6 +2863,8 @@
|
||||
mds=off [X86]
|
||||
tsx_async_abort=off [X86]
|
||||
kvm.nx_huge_pages=off [X86]
|
||||
no_entry_flush [PPC]
|
||||
no_uaccess_flush [PPC]
|
||||
|
||||
Exceptions:
|
||||
This does not have any effect on
|
||||
@ -2951,7 +2958,7 @@
|
||||
mtdset= [ARM]
|
||||
ARM/S3C2412 JIVE boot control
|
||||
|
||||
See arch/arm/mach-s3c2412/mach-jive.c
|
||||
See arch/arm/mach-s3c/mach-jive.c
|
||||
|
||||
mtouchusb.raw_coordinates=
|
||||
[HW] Make the MicroTouch USB driver use raw coordinates
|
||||
@ -3186,6 +3193,8 @@
|
||||
|
||||
noefi Disable EFI runtime services support.
|
||||
|
||||
no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel.
|
||||
|
||||
noexec [IA-64]
|
||||
|
||||
noexec [X86]
|
||||
@ -3235,6 +3244,9 @@
|
||||
nospec_store_bypass_disable
|
||||
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability
|
||||
|
||||
no_uaccess_flush
|
||||
[PPC] Don't flush the L1-D cache after accessing user data.
|
||||
|
||||
noxsave [BUGS=X86] Disables x86 extended register state save
|
||||
and restore using xsave. The kernel will fallback to
|
||||
enabling legacy floating-point and sse state.
|
||||
@ -3368,6 +3380,8 @@
|
||||
|
||||
nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support.
|
||||
|
||||
nosgx [X86-64,SGX] Disables Intel SGX kernel support.
|
||||
|
||||
nosmp [SMP] Tells an SMP kernel to act as a UP kernel,
|
||||
and disable the IO APIC. legacy for "maxcpus=0".
|
||||
|
||||
@ -5656,6 +5670,7 @@
|
||||
device);
|
||||
j = NO_REPORT_LUNS (don't use report luns
|
||||
command, uas only);
|
||||
k = NO_SAME (do not use WRITE_SAME, uas only)
|
||||
l = NOT_LOCKABLE (don't try to lock and
|
||||
unlock ejectable media, not on uas);
|
||||
m = MAX_SECTORS_64 (don't transfer more
|
||||
|
@ -221,7 +221,7 @@ All md devices contain:
|
||||
|
||||
layout
|
||||
The ``layout`` for the array for the particular level. This is
|
||||
simply a number that is interpretted differently by different
|
||||
simply a number that is interpreted differently by different
|
||||
levels. It can be written while assembling an array.
|
||||
|
||||
array_size
|
||||
|
@ -77,7 +77,7 @@ the Subsystem ID in the second line, looks like this:
|
||||
only bt878-based cards can have a subsystem ID (which does not mean
|
||||
that every card really has one). bt848 cards can't have a Subsystem
|
||||
ID and therefore can't be autodetected. There is a list with the ID's
|
||||
at :doc:`bttv-cardlist` (in case you are intrested or want to mail
|
||||
at :doc:`bttv-cardlist` (in case you are interested or want to mail
|
||||
patches with updates).
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@ The DVB mailing list linux-dvb is hosted at vger. Please see
|
||||
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
||||
|
||||
There are also some other old lists hosted at:
|
||||
https://linuxtv.org/lists.php. If you're insterested on that for historic
|
||||
https://linuxtv.org/lists.php. If you're interested on that for historic
|
||||
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
||||
|
||||
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
||||
|
@ -68,7 +68,7 @@ cx24116 Conexant CX24116 based
|
||||
cx24117 Conexant CX24117 based
|
||||
cx24120 Conexant CX24120 based
|
||||
cx24123 Conexant CX24123 based
|
||||
ds3000 Montage Tehnology DS3000 based
|
||||
ds3000 Montage Technology DS3000 based
|
||||
mb86a16 Fujitsu MB86A16 based
|
||||
mt312 Zarlink VP310/MT312/ZL10313 based
|
||||
s5h1420 Samsung S5H1420 based
|
||||
@ -83,7 +83,7 @@ tda10086 Philips TDA10086 based
|
||||
tda8083 Philips TDA8083 based
|
||||
tda8261 Philips TDA8261 based
|
||||
tda826x Philips TDA826X silicon tuner
|
||||
ts2020 Montage Tehnology TS2020 based tuners
|
||||
ts2020 Montage Technology TS2020 based tuners
|
||||
tua6100 Infineon TUA6100 PLL
|
||||
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
||||
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
||||
|
@ -305,7 +305,7 @@ pac7302 093a:2625 Genius iSlim 310
|
||||
pac7302 093a:2626 Labtec 2200
|
||||
pac7302 093a:2627 Genius FaceCam 300
|
||||
pac7302 093a:2628 Genius iLook 300
|
||||
pac7302 093a:2629 Genious iSlim 300
|
||||
pac7302 093a:2629 Genius iSlim 300
|
||||
pac7302 093a:262a Webcam 300k
|
||||
pac7302 093a:262c Philips SPC 230 NC
|
||||
jl2005bcd 0979:0227 Various brands, 19 known cameras supported
|
||||
|
@ -86,7 +86,7 @@ raw Bayer format that is specific to IPU3.
|
||||
Let us take the example of ov5670 sensor connected to CSI2 port 0, for a
|
||||
2592x1944 image capture.
|
||||
|
||||
Using the media contorller APIs, the ov5670 sensor is configured to send
|
||||
Using the media controller APIs, the ov5670 sensor is configured to send
|
||||
frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
||||
|
||||
.. code-block:: none
|
||||
@ -313,8 +313,8 @@ configuration steps of 0.03125 (1/32).
|
||||
|
||||
**Geometric Distortion Correction**
|
||||
|
||||
Geometric Distortion Correction is used to performe correction of distortions
|
||||
and image filtering. It needs some extra filter and envelop padding pixels to
|
||||
Geometric Distortion Correction is used to perform correction of distortions
|
||||
and image filtering. It needs some extra filter and envelope padding pixels to
|
||||
work, so the input resolution of GDC should be larger than the output
|
||||
resolution.
|
||||
|
||||
|
@ -68,7 +68,7 @@ Using without lircd
|
||||
|
||||
Xorg recognizes several IR keycodes that have its numerical value lower
|
||||
than 247. With the advent of Wayland, the input driver got updated too,
|
||||
and should now accept all keycodes. Yet, you may want to just reasign
|
||||
and should now accept all keycodes. Yet, you may want to just reassign
|
||||
the keycodes to something that your favorite media application likes.
|
||||
|
||||
This can be done by setting
|
||||
|
@ -86,7 +86,7 @@ the driver through the rkisp_params node to improve image quality during a
|
||||
video stream.
|
||||
The buffer format is defined by struct :c:type:`rkisp1_stat_buffer`, and
|
||||
userspace should set
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-stat-rkisp1>` as the
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_STAT_3A <v4l2-meta-fmt-rk-isp1-stat-3a>` as the
|
||||
dataformat.
|
||||
|
||||
.. _rkisp1_params:
|
||||
@ -100,7 +100,7 @@ and others.
|
||||
|
||||
The buffer format is defined by struct :c:type:`rkisp1_params_cfg`, and
|
||||
userspace should set
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-params-rkisp1>` as the
|
||||
:ref:`V4L2_META_FMT_RK_ISP1_PARAMS <v4l2-meta-fmt-rk-isp1-params>` as the
|
||||
dataformat.
|
||||
|
||||
|
||||
|
@ -3,9 +3,9 @@ Memory Management
|
||||
=================
|
||||
|
||||
Linux memory management subsystem is responsible, as the name implies,
|
||||
for managing the memory in the system. This includes implemnetation of
|
||||
for managing the memory in the system. This includes implementation of
|
||||
virtual memory and demand paging, memory allocation both for kernel
|
||||
internal structures and user space programms, mapping of files into
|
||||
internal structures and user space programs, mapping of files into
|
||||
processes address space and many other cool things.
|
||||
|
||||
Linux memory management is a complex system with many configurable
|
||||
|
@ -74,7 +74,7 @@ memory node's access class 0 initiators as follows::
|
||||
/sys/devices/system/node/nodeY/access0/initiators/
|
||||
|
||||
These attributes apply only when accessed from nodes that have the
|
||||
are linked under the this access's inititiators.
|
||||
are linked under the this access's initiators.
|
||||
|
||||
The performance characteristics the kernel provides for the local initiators
|
||||
are exported are as follows::
|
||||
|
@ -401,21 +401,6 @@ compact_fail
|
||||
is incremented if the system tries to compact memory
|
||||
but failed.
|
||||
|
||||
compact_pages_moved
|
||||
is incremented each time a page is moved. If
|
||||
this value is increasing rapidly, it implies that the system
|
||||
is copying a lot of data to satisfy the huge page allocation.
|
||||
It is possible that the cost of copying exceeds any savings
|
||||
from reduced TLB misses.
|
||||
|
||||
compact_pagemigrate_failed
|
||||
is incremented when the underlying mechanism
|
||||
for moving a page failed.
|
||||
|
||||
compact_blocks_moved
|
||||
is incremented each time memory compaction examines
|
||||
a huge page aligned range of pages.
|
||||
|
||||
It is possible to establish how long the stalls were using the function
|
||||
tracer to record how long was spent in __alloc_pages_nodemask and
|
||||
using the mm_page_alloc tracepoint to identify which allocations were
|
||||
|
@ -114,7 +114,7 @@ Notes:
|
||||
you must provide some kind of page in your thread after reading from
|
||||
the uffd. You must provide either ``UFFDIO_COPY`` or ``UFFDIO_ZEROPAGE``.
|
||||
The normal behavior of the OS automatically providing a zero page on
|
||||
an annonymous mmaping is not in place.
|
||||
an anonymous mmaping is not in place.
|
||||
|
||||
- None of the page-delivering ioctls default to the range that you
|
||||
registered with. You must fill in all fields for the appropriate
|
||||
|
@ -106,7 +106,7 @@ This has a number of options available:
|
||||
certificate and a private key.
|
||||
|
||||
If the PEM file containing the private key is encrypted, or if the
|
||||
PKCS#11 token requries a PIN, this can be provided at build time by
|
||||
PKCS#11 token requires a PIN, this can be provided at build time by
|
||||
means of the ``KBUILD_SIGN_PIN`` variable.
|
||||
|
||||
|
||||
|
@ -84,11 +84,14 @@ capabilities then providing the process with CAP_PERFMON capability singly
|
||||
is recommended as the preferred secure approach to resolve double access
|
||||
denial logging related to usage of performance monitoring and observability.
|
||||
|
||||
Unprivileged processes using perf_events system call are also subject
|
||||
for PTRACE_MODE_READ_REALCREDS ptrace access mode check [7]_ , whose
|
||||
outcome determines whether monitoring is permitted. So unprivileged
|
||||
processes provided with CAP_SYS_PTRACE capability are effectively
|
||||
permitted to pass the check.
|
||||
Prior Linux v5.9 unprivileged processes using perf_events system call
|
||||
are also subject for PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
||||
[7]_ , whose outcome determines whether monitoring is permitted.
|
||||
So unprivileged processes provided with CAP_SYS_PTRACE capability are
|
||||
effectively permitted to pass the check. Starting from Linux v5.9
|
||||
CAP_SYS_PTRACE capability is not required and CAP_PERFMON is enough to
|
||||
be provided for processes to make performance monitoring and observability
|
||||
operations.
|
||||
|
||||
Other capabilities being granted to unprivileged processes can
|
||||
effectively enable capturing of additional data required for later
|
||||
@ -99,11 +102,11 @@ CAP_SYSLOG capability permits reading kernel space memory addresses from
|
||||
Privileged Perf users groups
|
||||
---------------------------------
|
||||
|
||||
Mechanisms of capabilities, privileged capability-dumb files [6]_ and
|
||||
file system ACLs [10]_ can be used to create dedicated groups of
|
||||
privileged Perf users who are permitted to execute performance monitoring
|
||||
and observability without scope limits. The following steps can be
|
||||
taken to create such groups of privileged Perf users.
|
||||
Mechanisms of capabilities, privileged capability-dumb files [6]_,
|
||||
file system ACLs [10]_ and sudo [15]_ utility can be used to create
|
||||
dedicated groups of privileged Perf users who are permitted to execute
|
||||
performance monitoring and observability without limits. The following
|
||||
steps can be taken to create such groups of privileged Perf users.
|
||||
|
||||
1. Create perf_users group of privileged Perf users, assign perf_users
|
||||
group to Perf tool executable and limit access to the executable for
|
||||
@ -133,7 +136,7 @@ taken to create such groups of privileged Perf users.
|
||||
# getcap perf
|
||||
perf = cap_sys_ptrace,cap_syslog,cap_perfmon+ep
|
||||
|
||||
If the libcap installed doesn't yet support "cap_perfmon", use "38" instead,
|
||||
If the libcap [16]_ installed doesn't yet support "cap_perfmon", use "38" instead,
|
||||
i.e.:
|
||||
|
||||
::
|
||||
@ -159,6 +162,60 @@ performance monitoring and observability by using functionality of the
|
||||
configured Perf tool executable that, when executes, passes perf_events
|
||||
subsystem scope checks.
|
||||
|
||||
In case Perf tool executable can't be assigned required capabilities (e.g.
|
||||
file system is mounted with nosuid option or extended attributes are
|
||||
not supported by the file system) then creation of the capabilities
|
||||
privileged environment, naturally shell, is possible. The shell provides
|
||||
inherent processes with CAP_PERFMON and other required capabilities so that
|
||||
performance monitoring and observability operations are available in the
|
||||
environment without limits. Access to the environment can be open via sudo
|
||||
utility for members of perf_users group only. In order to create such
|
||||
environment:
|
||||
|
||||
1. Create shell script that uses capsh utility [16]_ to assign CAP_PERFMON
|
||||
and other required capabilities into ambient capability set of the shell
|
||||
process, lock the process security bits after enabling SECBIT_NO_SETUID_FIXUP,
|
||||
SECBIT_NOROOT and SECBIT_NO_CAP_AMBIENT_RAISE bits and then change
|
||||
the process identity to sudo caller of the script who should essentially
|
||||
be a member of perf_users group:
|
||||
|
||||
::
|
||||
|
||||
# ls -alh /usr/local/bin/perf.shell
|
||||
-rwxr-xr-x. 1 root root 83 Oct 13 23:57 /usr/local/bin/perf.shell
|
||||
# cat /usr/local/bin/perf.shell
|
||||
exec /usr/sbin/capsh --iab=^cap_perfmon --secbits=239 --user=$SUDO_USER -- -l
|
||||
|
||||
2. Extend sudo policy at /etc/sudoers file with a rule for perf_users group:
|
||||
|
||||
::
|
||||
|
||||
# grep perf_users /etc/sudoers
|
||||
%perf_users ALL=/usr/local/bin/perf.shell
|
||||
|
||||
3. Check that members of perf_users group have access to the privileged
|
||||
shell and have CAP_PERFMON and other required capabilities enabled
|
||||
in permitted, effective and ambient capability sets of an inherent process:
|
||||
|
||||
::
|
||||
|
||||
$ id
|
||||
uid=1003(capsh_test) gid=1004(capsh_test) groups=1004(capsh_test),1000(perf_users) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
|
||||
$ sudo perf.shell
|
||||
[sudo] password for capsh_test:
|
||||
$ grep Cap /proc/self/status
|
||||
CapInh: 0000004000000000
|
||||
CapPrm: 0000004000000000
|
||||
CapEff: 0000004000000000
|
||||
CapBnd: 000000ffffffffff
|
||||
CapAmb: 0000004000000000
|
||||
$ capsh --decode=0000004000000000
|
||||
0x0000004000000000=cap_perfmon
|
||||
|
||||
As a result, members of perf_users group have access to the privileged
|
||||
environment where they can use tools employing performance monitoring APIs
|
||||
governed by CAP_PERFMON Linux capability.
|
||||
|
||||
This specific access control management is only available to superuser
|
||||
or root running processes with CAP_SETPCAP, CAP_SETFCAP [6]_
|
||||
capabilities.
|
||||
@ -264,3 +321,5 @@ Bibliography
|
||||
.. [12] `<http://man7.org/linux/man-pages/man5/limits.conf.5.html>`_
|
||||
.. [13] `<https://sites.google.com/site/fullycapable>`_
|
||||
.. [14] `<http://man7.org/linux/man-pages/man8/auditd.8.html>`_
|
||||
.. [15] `<https://man7.org/linux/man-pages/man8/sudo.8.html>`_
|
||||
.. [16] `<https://git.kernel.org/pub/scm/libs/libcap/libcap.git/>`_
|
||||
|
@ -4,7 +4,7 @@ Freescale i.MX8 DDR Performance Monitoring Unit (PMU)
|
||||
|
||||
There are no performance counters inside the DRAM controller, so performance
|
||||
signals are brought out to the edge of the controller where a set of 4 x 32 bit
|
||||
counters is implemented. This is controlled by the CSV modes programed in counter
|
||||
counters is implemented. This is controlled by the CSV modes programmed in counter
|
||||
control register which causes a large number of PERF signals to be generated.
|
||||
|
||||
Selection of the value for each counter is done via the config registers. There
|
||||
|
@ -478,7 +478,7 @@ order to ask the hardware to enter that state. Also, for each
|
||||
statistics of the given idle state. That information is exposed by the kernel
|
||||
via ``sysfs``.
|
||||
|
||||
For each CPU in the system, there is a :file:`/sys/devices/system/cpu<N>/cpuidle/`
|
||||
For each CPU in the system, there is a :file:`/sys/devices/system/cpu/cpu<N>/cpuidle/`
|
||||
directory in ``sysfs``, where the number ``<N>`` is assigned to the given
|
||||
CPU at the initialization time. That directory contains a set of subdirectories
|
||||
called :file:`state0`, :file:`state1` and so on, up to the number of idle state
|
||||
@ -494,7 +494,7 @@ object corresponding to it, as follows:
|
||||
residency.
|
||||
|
||||
``below``
|
||||
Total number of times this idle state had been asked for, but cerainly
|
||||
Total number of times this idle state had been asked for, but certainly
|
||||
a deeper idle state would have been a better match for the observed idle
|
||||
duration.
|
||||
|
||||
|
@ -57,7 +57,7 @@ To get help on a command, another level of help is provided. For example for the
|
||||
|
||||
Summary of platform capability
|
||||
------------------------------
|
||||
To check the current platform and driver capaibilities, execute::
|
||||
To check the current platform and driver capabilities, execute::
|
||||
|
||||
#intel-speed-select --info
|
||||
|
||||
@ -658,7 +658,7 @@ If -a option is not used, then the following steps are required before enabling
|
||||
Intel(R) SST-BF:
|
||||
|
||||
- Discover Intel(R) SST-BF and note low and high priority base frequency
|
||||
- Note the high prioity CPU list
|
||||
- Note the high priority CPU list
|
||||
- Enable CLOS using core-power feature set
|
||||
- Configure CLOS parameters. Use CLOS.min to set to minimum performance
|
||||
- Subscribe desired CPUs to CLOS groups
|
||||
|
@ -56,7 +56,7 @@ Operation Modes
|
||||
|
||||
``intel_pstate`` can operate in two different modes, active or passive. In the
|
||||
active mode, it uses its own internal performance scaling governor algorithm or
|
||||
allows the hardware to do preformance scaling by itself, while in the passive
|
||||
allows the hardware to do performance scaling by itself, while in the passive
|
||||
mode it responds to requests made by a generic ``CPUFreq`` governor implementing
|
||||
a certain performance scaling algorithm. Which of them will be in effect
|
||||
depends on what kernel command line options are used and on the capabilities of
|
||||
@ -380,13 +380,13 @@ argument is passed to the kernel in the command line.
|
||||
|
||||
``no_turbo``
|
||||
If set (equal to 1), the driver is not allowed to set any turbo P-states
|
||||
(see `Turbo P-states Support`_). If unset (equalt to 0, which is the
|
||||
(see `Turbo P-states Support`_). If unset (equal to 0, which is the
|
||||
default), turbo P-states can be set by the driver.
|
||||
[Note that ``intel_pstate`` does not support the general ``boost``
|
||||
attribute (supported by some other scaling drivers) which is replaced
|
||||
by this one.]
|
||||
|
||||
This attrubute does not affect the maximum supported frequency value
|
||||
This attribute does not affect the maximum supported frequency value
|
||||
supplied to the ``CPUFreq`` core and exposed via the policy interface,
|
||||
but it affects the maximum possible value of per-policy P-state limits
|
||||
(see `Interpretation of Policy Attributes`_ below for details).
|
||||
|
@ -35,7 +35,7 @@ module parameters have priority over Kconfig.
|
||||
|
||||
Here is an example for module parameters::
|
||||
|
||||
pstore_blk.blkdev=179:7 pstore_blk.kmsg_size=64
|
||||
pstore_blk.blkdev=/dev/mmcblk0p7 pstore_blk.kmsg_size=64 best_effort=y
|
||||
|
||||
The detail of each configurations may be of interest to you.
|
||||
|
||||
@ -151,10 +151,7 @@ otherwise KMSG_DUMP_MAX.
|
||||
Configurations for driver
|
||||
-------------------------
|
||||
|
||||
Only a block device driver cares about these configurations. A block device
|
||||
driver uses ``register_pstore_blk`` to register to pstore/blk.
|
||||
|
||||
A non-block device driver uses ``register_pstore_device`` with
|
||||
A device driver uses ``register_pstore_device`` with
|
||||
``struct pstore_device_info`` to register to pstore/blk.
|
||||
|
||||
.. kernel-doc:: fs/pstore/blk.c
|
||||
|
@ -22,7 +22,7 @@ and type of the memory area are set using three variables:
|
||||
* ``mem_address`` for the start
|
||||
* ``mem_size`` for the size. The memory size will be rounded down to a
|
||||
power of two.
|
||||
* ``mem_type`` to specifiy if the memory type (default is pgprot_writecombine).
|
||||
* ``mem_type`` to specify if the memory type (default is pgprot_writecombine).
|
||||
|
||||
Typically the default value of ``mem_type=0`` should be used as that sets the pstore
|
||||
mapping to pgprot_writecombine. Setting ``mem_type=1`` attempts to use
|
||||
|
@ -1,5 +1,10 @@
|
||||
.. _reportingbugs:
|
||||
|
||||
.. note::
|
||||
|
||||
This document is obsolete, and will be replaced by
|
||||
'Documentation/admin-guide/reporting-issues.rst' in the near future.
|
||||
|
||||
Reporting bugs
|
||||
++++++++++++++
|
||||
|
||||
|
1631
Documentation/admin-guide/reporting-issues.rst
Normal file
1631
Documentation/admin-guide/reporting-issues.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -21,7 +21,7 @@ understand and fix the security vulnerability.
|
||||
|
||||
As it is with any bug, the more information provided the easier it
|
||||
will be to diagnose and fix. Please review the procedure outlined in
|
||||
:doc:`reporting-bugs` if you are unclear about what
|
||||
'Documentation/admin-guide/reporting-issues.rst' if you are unclear about what
|
||||
information is helpful. Any exploit code is very helpful and will not
|
||||
be released without consent from the reporter unless it has already been
|
||||
made public.
|
||||
|
@ -344,6 +344,7 @@ spk key_slash = say_attributes
|
||||
spk key_8 = speakup_paste
|
||||
shift spk key_m = say_first_char
|
||||
ctrl spk key_semicolon = say_last_char
|
||||
spk key_r = read_all_doc
|
||||
|
||||
5. The Speakup Sys System
|
||||
|
||||
|
90
Documentation/admin-guide/syscall-user-dispatch.rst
Normal file
90
Documentation/admin-guide/syscall-user-dispatch.rst
Normal file
@ -0,0 +1,90 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=====================
|
||||
Syscall User Dispatch
|
||||
=====================
|
||||
|
||||
Background
|
||||
----------
|
||||
|
||||
Compatibility layers like Wine need a way to efficiently emulate system
|
||||
calls of only a part of their process - the part that has the
|
||||
incompatible code - while being able to execute native syscalls without
|
||||
a high performance penalty on the native part of the process. Seccomp
|
||||
falls short on this task, since it has limited support to efficiently
|
||||
filter syscalls based on memory regions, and it doesn't support removing
|
||||
filters. Therefore a new mechanism is necessary.
|
||||
|
||||
Syscall User Dispatch brings the filtering of the syscall dispatcher
|
||||
address back to userspace. The application is in control of a flip
|
||||
switch, indicating the current personality of the process. A
|
||||
multiple-personality application can then flip the switch without
|
||||
invoking the kernel, when crossing the compatibility layer API
|
||||
boundaries, to enable/disable the syscall redirection and execute
|
||||
syscalls directly (disabled) or send them to be emulated in userspace
|
||||
through a SIGSYS.
|
||||
|
||||
The goal of this design is to provide very quick compatibility layer
|
||||
boundary crosses, which is achieved by not executing a syscall to change
|
||||
personality every time the compatibility layer executes. Instead, a
|
||||
userspace memory region exposed to the kernel indicates the current
|
||||
personality, and the application simply modifies that variable to
|
||||
configure the mechanism.
|
||||
|
||||
There is a relatively high cost associated with handling signals on most
|
||||
architectures, like x86, but at least for Wine, syscalls issued by
|
||||
native Windows code are currently not known to be a performance problem,
|
||||
since they are quite rare, at least for modern gaming applications.
|
||||
|
||||
Since this mechanism is designed to capture syscalls issued by
|
||||
non-native applications, it must function on syscalls whose invocation
|
||||
ABI is completely unexpected to Linux. Syscall User Dispatch, therefore
|
||||
doesn't rely on any of the syscall ABI to make the filtering. It uses
|
||||
only the syscall dispatcher address and the userspace key.
|
||||
|
||||
As the ABI of these intercepted syscalls is unknown to Linux, these
|
||||
syscalls are not instrumentable via ptrace or the syscall tracepoints.
|
||||
|
||||
Interface
|
||||
---------
|
||||
|
||||
A thread can setup this mechanism on supported kernels by executing the
|
||||
following prctl:
|
||||
|
||||
prctl(PR_SET_SYSCALL_USER_DISPATCH, <op>, <offset>, <length>, [selector])
|
||||
|
||||
<op> is either PR_SYS_DISPATCH_ON or PR_SYS_DISPATCH_OFF, to enable and
|
||||
disable the mechanism globally for that thread. When
|
||||
PR_SYS_DISPATCH_OFF is used, the other fields must be zero.
|
||||
|
||||
[<offset>, <offset>+<length>) delimit a memory region interval
|
||||
from which syscalls are always executed directly, regardless of the
|
||||
userspace selector. This provides a fast path for the C library, which
|
||||
includes the most common syscall dispatchers in the native code
|
||||
applications, and also provides a way for the signal handler to return
|
||||
without triggering a nested SIGSYS on (rt\_)sigreturn. Users of this
|
||||
interface should make sure that at least the signal trampoline code is
|
||||
included in this region. In addition, for syscalls that implement the
|
||||
trampoline code on the vDSO, that trampoline is never intercepted.
|
||||
|
||||
[selector] is a pointer to a char-sized region in the process memory
|
||||
region, that provides a quick way to enable disable syscall redirection
|
||||
thread-wide, without the need to invoke the kernel directly. selector
|
||||
can be set to PR_SYS_DISPATCH_ON or PR_SYS_DISPATCH_OFF. Any other
|
||||
value should terminate the program with a SIGSYS.
|
||||
|
||||
Security Notes
|
||||
--------------
|
||||
|
||||
Syscall User Dispatch provides functionality for compatibility layers to
|
||||
quickly capture system calls issued by a non-native part of the
|
||||
application, while not impacting the Linux native regions of the
|
||||
process. It is not a mechanism for sandboxing system calls, and it
|
||||
should not be seen as a security mechanism, since it is trivial for a
|
||||
malicious application to subvert the mechanism by jumping to an allowed
|
||||
dispatcher region prior to executing the syscall, or to discover the
|
||||
address and modify the selector value. If the use case requires any
|
||||
kind of security sandboxing, Seccomp should be used instead.
|
||||
|
||||
Any fork or exec of the existing process resets the mechanism to
|
||||
PR_SYS_DISPATCH_OFF.
|
@ -28,7 +28,7 @@ vsyscall32 (x86)
|
||||
|
||||
Determines whether the kernels maps a vDSO page into 32-bit processes;
|
||||
can be set to 1 to enable, or 0 to disable. Defaults to enabled if
|
||||
``CONFIG_COMPAT_VDSO`` is set, disabled otherwide.
|
||||
``CONFIG_COMPAT_VDSO`` is set, disabled otherwise.
|
||||
|
||||
This controls the same setting as the ``vdso32`` kernel boot
|
||||
parameter.
|
||||
|
@ -14,7 +14,7 @@ For general info and legal blurb, please look in :doc:`index`.
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
This file contains documentation for the sysctl files in
|
||||
``/proc/sys/kernel/`` and is valid for Linux kernel version 2.2.
|
||||
``/proc/sys/kernel/``.
|
||||
|
||||
The files in this directory can be used to tune and monitor
|
||||
miscellaneous and general things in the operation of the Linux
|
||||
@ -879,7 +879,7 @@ The default value is 127.
|
||||
perf_event_mlock_kb
|
||||
===================
|
||||
|
||||
Control size of per-cpu ring buffer not counted agains mlock limit.
|
||||
Control size of per-cpu ring buffer not counted against mlock limit.
|
||||
|
||||
The default value is 512 + 1 page
|
||||
|
||||
@ -1095,8 +1095,8 @@ Enables/disables scheduler statistics. Enabling this feature
|
||||
incurs a small amount of overhead in the scheduler but is
|
||||
useful for debugging and performance tuning.
|
||||
|
||||
sched_util_clamp_min:
|
||||
=====================
|
||||
sched_util_clamp_min
|
||||
====================
|
||||
|
||||
Max allowed *minimum* utilization.
|
||||
|
||||
@ -1106,8 +1106,8 @@ It means that any requested uclamp.min value cannot be greater than
|
||||
sched_util_clamp_min, i.e., it is restricted to the range
|
||||
[0:sched_util_clamp_min].
|
||||
|
||||
sched_util_clamp_max:
|
||||
=====================
|
||||
sched_util_clamp_max
|
||||
====================
|
||||
|
||||
Max allowed *maximum* utilization.
|
||||
|
||||
@ -1117,8 +1117,8 @@ It means that any requested uclamp.max value cannot be greater than
|
||||
sched_util_clamp_max, i.e., it is restricted to the range
|
||||
[0:sched_util_clamp_max].
|
||||
|
||||
sched_util_clamp_min_rt_default:
|
||||
================================
|
||||
sched_util_clamp_min_rt_default
|
||||
===============================
|
||||
|
||||
By default Linux is tuned for performance. Which means that RT tasks always run
|
||||
at the highest frequency and most capable (highest capacity) CPU (in
|
||||
@ -1336,7 +1336,7 @@ ORed together. The letters are seen in "Tainted" line of Oops reports.
|
||||
====== ===== ==============================================================
|
||||
1 `(P)` proprietary module was loaded
|
||||
2 `(F)` module was force loaded
|
||||
4 `(S)` SMP kernel oops on an officially SMP incapable processor
|
||||
4 `(S)` kernel running on an out of specification system
|
||||
8 `(R)` module was force unloaded
|
||||
16 `(M)` processor reported a Machine Check Exception (MCE)
|
||||
32 `(B)` bad page referenced or some unexpected page flags
|
||||
|
@ -300,6 +300,7 @@ Note:
|
||||
0: 0 1 2 3 4 5 6 7
|
||||
RSS hash key:
|
||||
84:50:f4:00:a8:15:d1:a7:e9:7f:1d:60:35:c7:47:25:42:97:74:ca:56:bb:b6:a1:d8:43:e3:c9:0c:fd:17:55:c2:3a:4d:69:ed:f1:42:89
|
||||
|
||||
netdev_tstamp_prequeue
|
||||
----------------------
|
||||
|
||||
|
@ -146,7 +146,7 @@ This should be used on systems where stalls for minor page faults are an
|
||||
acceptable trade for large contiguous free memory. Set to 0 to prevent
|
||||
compaction from moving pages that are unevictable. Default value is 1.
|
||||
On CONFIG_PREEMPT_RT the default value is 0 in order to avoid a page fault, due
|
||||
to compaction, which would block the task from becomming active until the fault
|
||||
to compaction, which would block the task from becoming active until the fault
|
||||
is resolved.
|
||||
|
||||
|
||||
@ -428,7 +428,7 @@ While most applications need less than a thousand maps, certain
|
||||
programs, particularly malloc debuggers, may consume lots of them,
|
||||
e.g., up to one or two maps per allocation.
|
||||
|
||||
The default value is 65536.
|
||||
The default value is 65530.
|
||||
|
||||
|
||||
memory_failure_early_kill:
|
||||
@ -873,12 +873,17 @@ file-backed pages is less than the high watermark in a zone.
|
||||
unprivileged_userfaultfd
|
||||
========================
|
||||
|
||||
This flag controls whether unprivileged users can use the userfaultfd
|
||||
system calls. Set this to 1 to allow unprivileged users to use the
|
||||
userfaultfd system calls, or set this to 0 to restrict userfaultfd to only
|
||||
privileged users (with SYS_CAP_PTRACE capability).
|
||||
This flag controls the mode in which unprivileged users can use the
|
||||
userfaultfd system calls. Set this to 0 to restrict unprivileged users
|
||||
to handle page faults in user mode only. In this case, users without
|
||||
SYS_CAP_PTRACE must pass UFFD_USER_MODE_ONLY in order for userfaultfd to
|
||||
succeed. Prohibiting use of userfaultfd for handling faults from kernel
|
||||
mode may make certain vulnerabilities more difficult to exploit.
|
||||
|
||||
The default value is 1.
|
||||
Set this to 1 to allow unprivileged users to use the userfaultfd system
|
||||
calls without any restrictions.
|
||||
|
||||
The default value is 0.
|
||||
|
||||
|
||||
user_reserve_kbytes
|
||||
|
@ -84,7 +84,7 @@ Bit Log Number Reason that got the kernel tainted
|
||||
=== === ====== ========================================================
|
||||
0 G/P 1 proprietary module was loaded
|
||||
1 _/F 2 module was force loaded
|
||||
2 _/S 4 SMP kernel oops on an officially SMP incapable processor
|
||||
2 _/S 4 kernel running on an out of specification system
|
||||
3 _/R 8 module was force unloaded
|
||||
4 _/M 16 processor reported a Machine Check Exception (MCE)
|
||||
5 _/B 32 bad page referenced or some unexpected page flags
|
||||
@ -116,10 +116,23 @@ More detailed explanation for tainting
|
||||
1) ``F`` if any module was force loaded by ``insmod -f``, ``' '`` if all
|
||||
modules were loaded normally.
|
||||
|
||||
2) ``S`` if the oops occurred on an SMP kernel running on hardware that
|
||||
hasn't been certified as safe to run multiprocessor.
|
||||
Currently this occurs only on various Athlons that are not
|
||||
SMP capable.
|
||||
2) ``S`` if the kernel is running on a processor or system that is out of
|
||||
specification: hardware has been put into an unsupported configuration,
|
||||
therefore proper execution cannot be guaranteed.
|
||||
Kernel will be tainted if, for example:
|
||||
|
||||
- on x86: PAE is forced through forcepae on intel CPUs (such as Pentium M)
|
||||
which do not report PAE but may have a functional implementation, an SMP
|
||||
kernel is running on non officially capable SMP Athlon CPUs, MSRs are
|
||||
being poked at from userspace.
|
||||
- on arm: kernel running on certain CPUs (such as Keystone 2) without
|
||||
having certain kernel features enabled.
|
||||
- on arm64: there are mismatched hardware features between CPUs, the
|
||||
bootloader has booted CPUs in different modes.
|
||||
- certain drivers are being used on non supported architectures (such as
|
||||
scsi/snic on something else than x86_64, scsi/ips on non
|
||||
x86/x86_64/itanium, have broken firmware settings for the
|
||||
irqchip/irq-gic on arm64 ...).
|
||||
|
||||
3) ``R`` if a module was force unloaded by ``rmmod -f``, ``' '`` if all
|
||||
modules were unloaded normally.
|
||||
|
3
Documentation/arm/features.rst
Normal file
3
Documentation/arm/features.rst
Normal file
@ -0,0 +1,3 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. kernel-feat:: $srctree/Documentation/features arm
|
@ -23,6 +23,8 @@ ARM Architecture
|
||||
vlocks
|
||||
porting
|
||||
|
||||
features
|
||||
|
||||
SoC-specific documents
|
||||
======================
|
||||
|
||||
|
@ -45,9 +45,14 @@ fffe8000 fffeffff DTCM mapping area for platforms with
|
||||
fffe0000 fffe7fff ITCM mapping area for platforms with
|
||||
ITCM mounted inside the CPU.
|
||||
|
||||
ffc00000 ffefffff Fixmap mapping region. Addresses provided
|
||||
ffc80000 ffefffff Fixmap mapping region. Addresses provided
|
||||
by fix_to_virt() will be located here.
|
||||
|
||||
ffc00000 ffc7ffff Guard region
|
||||
|
||||
ff800000 ffbfffff Permanent, fixed read-only mapping of the
|
||||
firmware provided DT blob
|
||||
|
||||
fee00000 feffffff Mapping of PCI I/O space. This is a static
|
||||
mapping within the vmalloc space.
|
||||
|
||||
@ -72,6 +77,11 @@ MODULES_VADDR MODULES_END-1 Kernel module space
|
||||
Kernel modules inserted via insmod are
|
||||
placed here using dynamic mappings.
|
||||
|
||||
TASK_SIZE MODULES_VADDR-1 KASAn shadow memory when KASan is in use.
|
||||
The range from MODULES_VADDR to the top
|
||||
of the memory is shadowed here with 1 bit
|
||||
per byte of memory.
|
||||
|
||||
00001000 TASK_SIZE-1 User space mappings
|
||||
Per-thread mappings are placed here via
|
||||
the mmap() system call.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user