Skip to content

Commit

Permalink
Changes representative of linux-5.14.0-70.13.1.el9_0.tar.xz
Browse files Browse the repository at this point in the history
  • Loading branch information
da-x committed Apr 14, 2022
1 parent 7d2a07b commit b50ca1a
Show file tree
Hide file tree
Showing 13,000 changed files with 391,988 additions and 97,717 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .get_maintainer.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--mpath redhat/rhdocs/info/RHMAINTAINERS --no-git --no-git-fallback
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,15 @@ x509.genkey
# Kdevelop4
*.kdev4

#
# Red Hat
#
configs/*.config
localversion

# GitLab CI configuration
!.gitlab-ci.yml

# Clang's compilation database file
/compile_commands.json

Expand Down
96 changes: 96 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# This CI will only work for project members. CI for public contributors
# runs via a webhook on the merge requests. There's nothing you have to do if
# you want your changes tested -- created pipeline will be automatically
# linked in the merge request and appropriate labels will be added to it.
# Changes to this file will NOT be reflected in the webhook testing.

include:
- project: cki-project/pipeline-definition
ref: main
file: kernel_templates.yml

workflow: !reference [.workflow]

.9-common:
variables:
srpm_make_target: dist-srpm
native_tools: 'true'
architectures: 'x86_64 ppc64le aarch64 s390x'
POWER_BUILDER_SUFFIX: '-p9'
disttag_override: '.el9_0'

.trigger_rhel9_pipeline:
trigger:
branch: rhel9
variables:
name: rhel9
builder_image: quay.io/cki/builder-rhel9
kpet_tree_family: rhel9

.realtime_check_rhel9:
trigger:
branch: rhel9-rt
variables:
name: kernel-rt-rhel9
kpet_tree_family: rhel9-rt

.realtime_full_rhel9:
variables:
name: kernel-rt-rhel9
kpet_tree_family: rhel9-rt
RUN_ONLY_FOR_RT: 'true'

# RHEL9 CI
rhel9_merge_request:
extends: [.internal, .merge_request, .rhel_common, .with_notifications,
.9-common, .trigger_rhel9_pipeline]

rhel9_realtime_check_merge_request:
extends: [.internal, .merge_request,
.9-common,
.realtime_check_common,
.trigger_rhel9_pipeline, .realtime_check_rhel9]

rhel9_baseline:
extends: [.internal, .baseline, .rhel_common, .with_notifications,
.9-common, .trigger_rhel9_pipeline]

rhel9_realtime_check_baseline:
extends: [.internal, .baseline,
.9-common,
.realtime_check_baseline,
.trigger_rhel9_pipeline, .realtime_check_rhel9]

rhel9_baseline_coverage_build:
extends: [.internal, .baseline, .rhel_common, .only_build_and_publish, .coverage,
.9-common, .trigger_rhel9_pipeline]

# RHEL9 realtime branch CI
rhel9_realtime_merge_request:
extends: [.internal, .merge_request,
.9-common,
.realtime_pipeline_common,
.trigger_rhel9_pipeline, .realtime_full_rhel9]

rhel9_realtime_baseline:
extends: [.internal, .baseline,
.9-common,
.realtime_pipeline_common,
.trigger_rhel9_pipeline, .realtime_full_rhel9]

# RHEL9 private CI (including RT branches)
rhel9_merge_request_private:
extends: [.scratch, .merge_request, .rhel_common,
.9-common, .trigger_rhel9_pipeline]

rhel9_realtime_check_merge_request_private:
extends: [.scratch, .merge_request,
.9-common,
.realtime_check_common,
.trigger_rhel9_pipeline, .realtime_check_rhel9]

rhel9_realtime_merge_request_private:
extends: [.scratch, .merge_request,
.9-common,
.realtime_pipeline_common,
.trigger_rhel9_pipeline, .realtime_full_rhel9]
15 changes: 15 additions & 0 deletions Documentation/ABI/stable/sysfs-devices-system-cpu
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ Description: the CPU core ID of cpuX. Typically it is the hardware platform's
architecture and platform dependent.
Values: integer

What: /sys/devices/system/cpu/cpuX/topology/cluster_id
Description: the cluster ID of cpuX. Typically it is the hardware platform's
identifier (rather than the kernel's). The actual value is
architecture and platform dependent.
Values: integer

What: /sys/devices/system/cpu/cpuX/topology/book_id
Description: the book ID of cpuX. Typically it is the hardware platform's
identifier (rather than the kernel's). The actual value is
Expand Down Expand Up @@ -85,6 +91,15 @@ Description: human-readable list of CPUs within the same die.
The format is like 0-3, 8-11, 14,17.
Values: decimal list.

What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus
Description: internal kernel map of CPUs within the same cluster.
Values: hexadecimal bitmask.

What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus_list
Description: human-readable list of CPUs within the same cluster.
The format is like 0-3, 8-11, 14,17.
Values: decimal list.

What: /sys/devices/system/cpu/cpuX/topology/book_siblings
Description: internal kernel map of cpuX's hardware threads within the same
book_id. it's only used on s390.
Expand Down
7 changes: 7 additions & 0 deletions Documentation/ABI/stable/sysfs-driver-dma-idxd
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,13 @@ 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/wq<m>.<n>/occupancy
Date May 25, 2021
KernelVersion: 5.14.0
Contact: dmaengine@vger.kernel.org
Description: Show the current number of entries in this WQ if WQ Occupancy
Support bit WQ capabilities is 1.

What: /sys/bus/dsa/devices/engine<m>.<n>/group_id
Date: Oct 25, 2019
KernelVersion: 5.6.0
Expand Down
12 changes: 12 additions & 0 deletions Documentation/ABI/testing/sysfs-block
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,18 @@ Description:
For more details refer Documentation/admin-guide/iostats.rst


What: /sys/block/<disk>/diskseq
Date: February 2021
Contact: Matteo Croce <mcroce@microsoft.com>
Description:
The /sys/block/<disk>/diskseq files reports the disk
sequence number, which is a monotonically increasing
number assigned to every drive.
Some devices, like the loop device, refresh such number
every time the backing file is changed.
The value type is 64 bit unsigned.


What: /sys/block/<disk>/<part>/stat
Date: February 2008
Contact: Jerome Marchand <jmarchan@redhat.com>
Expand Down
13 changes: 13 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-event_source-devices-uncore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
What: /sys/bus/event_source/devices/uncore_*/alias
Date: June 2021
KernelVersion: 5.15
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Read-only. An attribute to describe the alias name of
the uncore PMU if an alias exists on some platforms.
The 'perf(1)' tool should treat both names the same.
They both can be used to access the uncore PMU.

Example:

$ cat /sys/devices/uncore_cha_2/alias
uncore_type_0_2
17 changes: 17 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-pci
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,23 @@ Description:
child buses, and re-discover devices removed earlier
from this part of the device tree.

What: /sys/bus/pci/devices/.../reset_method
Date: August 2021
Contact: Amey Narkhede <ameynarkhede03@gmail.com>
Description:
Some devices allow an individual function to be reset
without affecting other functions in the same slot.

For devices that have this support, a file named
reset_method is present in sysfs. Reading this file
gives names of the supported and enabled reset methods and
their ordering. Writing a space-separated list of names of
reset methods sets the reset methods and ordering to be
used when resetting the device. Writing an empty string
disables the ability to reset the device. Writing
"default" enables all supported reset methods in the
default ordering.

What: /sys/bus/pci/devices/.../reset
Date: July 2009
Contact: Michael S. Tsirkin <mst@redhat.com>
Expand Down
57 changes: 57 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-vdpa
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
What: /sys/bus/vdpa/driver_autoprobe
Date: March 2020
Contact: virtualization@lists.linux-foundation.org
Description:
This file determines whether new devices are immediately bound
to a driver after the creation. It initially contains 1, which
means the kernel automatically binds devices to a compatible
driver immediately after they are created.

Writing "0" to this file disable this feature, any other string
enable it.

What: /sys/bus/vdpa/driver_probe
Date: March 2020
Contact: virtualization@lists.linux-foundation.org
Description:
Writing a device name to this file will cause the kernel binds
devices to a compatible driver.

This can be useful when /sys/bus/vdpa/driver_autoprobe is
disabled.

What: /sys/bus/vdpa/drivers/.../bind
Date: March 2020
Contact: virtualization@lists.linux-foundation.org
Description:
Writing a device name to this file will cause the driver to
attempt to bind to the device. This is useful for overriding
default bindings.

What: /sys/bus/vdpa/drivers/.../unbind
Date: March 2020
Contact: virtualization@lists.linux-foundation.org
Description:
Writing a device name to this file will cause the driver to
attempt to unbind from the device. This may be useful when
overriding default bindings.

What: /sys/bus/vdpa/devices/.../driver_override
Date: November 2021
Contact: virtualization@lists.linux-foundation.org
Description:
This file allows the driver for a device to be specified.
When specified, only a driver with a name matching the value
written to driver_override will have an opportunity to bind to
the device. The override is specified by writing a string to the
driver_override file (echo vhost-vdpa > driver_override) and may
be cleared with an empty string (echo > driver_override).
This returns the device to standard matching rules binding.
Writing to driver_override does not automatically unbind the
device from its current driver or make any attempt to
automatically load the specified driver. If no driver with a
matching name is currently loaded in the kernel, the device will
not bind to any driver. This also allows devices to opt-out of
driver binding using a driver_override name such as "none".
Only a single driver may be specified in the override, there is
no support for parsing delimiters.
11 changes: 11 additions & 0 deletions Documentation/ABI/testing/sysfs-class-firmware-attributes
Original file line number Diff line number Diff line change
Expand Up @@ -272,3 +272,14 @@ Description:

Note that any changes to this attribute requires a reboot
for changes to take effect.

What: /sys/class/firmware-attributes/*/attributes/debug_cmd
Date: July 2021
KernelVersion: 5.14
Contact: Mark Pearson <markpearson@lenovo.com>
Description:
This write only attribute can be used to send debug commands to the BIOS.
This should only be used when recommended by the BIOS vendor. Vendors may
use it to enable extra debug attributes or BIOS features for testing purposes.

Note that any changes to this attribute requires a reboot for changes to take effect.
6 changes: 5 additions & 1 deletion Documentation/ABI/testing/sysfs-kernel-iommu_groups
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,12 @@ Description: /sys/kernel/iommu_groups/<grp_id>/type shows the type of default
======== ======================================================
DMA All the DMA transactions from the device in this group
are translated by the iommu.
DMA-FQ As above, but using batched invalidation to lazily
remove translations after use. This may offer reduced
overhead at the cost of reduced memory protection.
identity All the DMA transactions from the device in this group
are not translated by the iommu.
are not translated by the iommu. Maximum performance
but zero protection.
auto Change to the type the device was booted with.
======== ======================================================

Expand Down
24 changes: 24 additions & 0 deletions Documentation/ABI/testing/sysfs-kernel-mm-numa
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
What: /sys/kernel/mm/numa/
Date: June 2021
Contact: Linux memory management mailing list <linux-mm@kvack.org>
Description: Interface for NUMA

What: /sys/kernel/mm/numa/demotion_enabled
Date: June 2021
Contact: Linux memory management mailing list <linux-mm@kvack.org>
Description: Enable/disable demoting pages during reclaim

Page migration during reclaim is intended for systems
with tiered memory configurations. These systems have
multiple types of memory with varied performance
characteristics instead of plain NUMA systems where
the same kind of memory is found at varied distances.
Allowing page migration during reclaim enables these
systems to migrate pages from fast tiers to slow tiers
when the fast tier is under pressure. This migration
is performed before swap. It may move data to a NUMA
node that does not fall into the cpuset of the
allocating process which might be construed to violate
the guarantees of cpusets. This should not be enabled
on systems which need strict cpuset location
guarantees.
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,35 @@ on PowerPC.
The ``smp_mb__after_unlock_lock()`` invocations prevent this
``WARN_ON()`` from triggering.

+-----------------------------------------------------------------------+
| **Quick Quiz**: |
+-----------------------------------------------------------------------+
| But the chain of rcu_node-structure lock acquisitions guarantees |
| that new readers will see all of the updater's pre-grace-period |
| accesses and also guarantees that the updater's post-grace-period |
| accesses will see all of the old reader's accesses. So why do we |
| need all of those calls to smp_mb__after_unlock_lock()? |
+-----------------------------------------------------------------------+
| **Answer**: |
+-----------------------------------------------------------------------+
| Because we must provide ordering for RCU's polling grace-period |
| primitives, for example, get_state_synchronize_rcu() and |
| poll_state_synchronize_rcu(). Consider this code:: |
| |
| CPU 0 CPU 1 |
| ---- ---- |
| WRITE_ONCE(X, 1) WRITE_ONCE(Y, 1) |
| g = get_state_synchronize_rcu() smp_mb() |
| while (!poll_state_synchronize_rcu(g)) r1 = READ_ONCE(X) |
| continue; |
| r0 = READ_ONCE(Y) |
| |
| RCU guarantees that the outcome r0 == 0 && r1 == 0 will not |
| happen, even if CPU 1 is in an RCU extended quiescent state |
| (idle or offline) and thus won't interact directly with the RCU |
| core processing at all. |
+-----------------------------------------------------------------------+

This approach must be extended to include idle CPUs, which need
RCU's grace-period memory ordering guarantee to extend to any
RCU read-side critical sections preceding and following the current
Expand Down
8 changes: 5 additions & 3 deletions Documentation/RCU/Design/Requirements/Requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -362,9 +362,8 @@ do_something_gp() uses rcu_dereference() to fetch from ``gp``:
12 }

The rcu_dereference() uses volatile casts and (for DEC Alpha) memory
barriers in the Linux kernel. Should a `high-quality implementation of
C11 ``memory_order_consume``
[PDF] <http://www.rdrop.com/users/paulmck/RCU/consume.2015.07.13a.pdf>`__
barriers in the Linux kernel. Should a |high-quality implementation of
C11 memory_order_consume [PDF]|_
ever appear, then rcu_dereference() could be implemented as a
``memory_order_consume`` load. Regardless of the exact implementation, a
pointer fetched by rcu_dereference() may not be used outside of the
Expand All @@ -374,6 +373,9 @@ element has been passed from RCU to some other synchronization
mechanism, most commonly locking or `reference
counting <https://www.kernel.org/doc/Documentation/RCU/rcuref.txt>`__.

.. |high-quality implementation of C11 memory_order_consume [PDF]| replace:: high-quality implementation of C11 ``memory_order_consume`` [PDF]
.. _high-quality implementation of C11 memory_order_consume [PDF]: http://www.rdrop.com/users/paulmck/RCU/consume.2015.07.13a.pdf

In short, updaters use rcu_assign_pointer() and readers use
rcu_dereference(), and these two RCU API elements work together to
ensure that readers have a consistent view of newly added data elements.
Expand Down
Loading

0 comments on commit b50ca1a

Please sign in to comment.