Skip to content

Commit 2842a5e

Browse files
committed
Automatic merge of 'master' into merge-test (2024-09-18 21:08)
2 parents 93a0594 + 39b3f4e commit 2842a5e

File tree

1,211 files changed

+40295
-39334
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,211 files changed

+40295
-39334
lines changed

Documentation/ABI/testing/sysfs-class-power

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -377,17 +377,33 @@ What: /sys/class/power_supply/<supply_name>/charge_type
377377
Date: July 2009
378378
379379
Description:
380-
Represents the type of charging currently being applied to the
381-
battery. "Trickle", "Fast", and "Standard" all mean different
382-
charging speeds. "Adaptive" means that the charger uses some
383-
algorithm to adjust the charge rate dynamically, without
384-
any user configuration required. "Custom" means that the charger
385-
uses the charge_control_* properties as configuration for some
386-
different algorithm. "Long Life" means the charger reduces its
387-
charging rate in order to prolong the battery health. "Bypass"
388-
means the charger bypasses the charging path around the
389-
integrated converter allowing for a "smart" wall adaptor to
390-
perform the power conversion externally.
380+
Select the charging algorithm to use for a battery.
381+
382+
Standard:
383+
Fully charge the battery at a moderate rate.
384+
Fast:
385+
Quickly charge the battery using fast-charge
386+
technology. This is typically harder on the battery
387+
than standard charging and may lower its lifespan.
388+
Trickle:
389+
Users who primarily operate the system while
390+
plugged into an external power source can extend
391+
battery life with this mode. Vendor tooling may
392+
call this "Primarily AC Use".
393+
Adaptive:
394+
Automatically optimize battery charge rate based
395+
on typical usage pattern.
396+
Custom:
397+
Use the charge_control_* properties to determine
398+
when to start and stop charging. Advanced users
399+
can use this to drastically extend battery life.
400+
Long Life:
401+
The charger reduces its charging rate in order to
402+
prolong the battery health.
403+
Bypass:
404+
The charger bypasses the charging path around the
405+
integrated converter allowing for a "smart" wall
406+
adaptor to perform the power conversion externally.
391407

392408
Access: Read, Write
393409

@@ -592,7 +608,12 @@ Description:
592608
the supply, for example it can show if USB-PD capable source
593609
is attached.
594610

595-
Access: Read-Only
611+
Access: For power-supplies which consume USB power such
612+
as battery charger chips, this indicates the type of
613+
the connected USB power source and is Read-Only.
614+
615+
For power-supplies which act as a USB power-source such as
616+
e.g. the UCS1002 USB Port Power Controller this is writable.
596617

597618
Valid values:
598619
"Unknown", "SDP", "DCP", "CDP", "ACA", "C", "PD",
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
What: /sys/class/tee/tee{,priv}X/rpmb_routing_model
2+
Date: May 2024
3+
KernelVersion: 6.10
4+
5+
Description:
6+
RPMB frames can be routed to the RPMB device via the
7+
user-space daemon tee-supplicant or the RPMB subsystem
8+
in the kernel. The value "user" means that the driver
9+
will route the RPMB frames via user space. Conversely,
10+
"kernel" means that the frames are routed via the RPMB
11+
subsystem without assistance from tee-supplicant. It
12+
should be assumed that RPMB frames are routed via user
13+
space if the variable is absent. The primary purpose
14+
of this variable is to let systemd know whether
15+
tee-supplicant is needed in the early boot with initramfs.

Documentation/PCI/pci.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ driver generally needs to perform the following initialization:
5252
- Enable DMA/processing engines
5353

5454
When done using the device, and perhaps the module needs to be unloaded,
55-
the driver needs to take the follow steps:
55+
the driver needs to take the following steps:
5656

5757
- Disable the device from generating IRQs
5858
- Release the IRQ (free_irq())

Documentation/RCU/Design/Data-Structures/Data-Structures.rst

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -921,10 +921,10 @@ This portion of the ``rcu_data`` structure is declared as follows:
921921

922922
::
923923

924-
1 int dynticks_snap;
924+
1 int watching_snap;
925925
2 unsigned long dynticks_fqs;
926926

927-
The ``->dynticks_snap`` field is used to take a snapshot of the
927+
The ``->watching_snap`` field is used to take a snapshot of the
928928
corresponding CPU's dyntick-idle state when forcing quiescent states,
929929
and is therefore accessed from other CPUs. Finally, the
930930
``->dynticks_fqs`` field is used to count the number of times this CPU
@@ -935,8 +935,8 @@ This portion of the rcu_data structure is declared as follows:
935935

936936
::
937937

938-
1 long dynticks_nesting;
939-
2 long dynticks_nmi_nesting;
938+
1 long nesting;
939+
2 long nmi_nesting;
940940
3 atomic_t dynticks;
941941
4 bool rcu_need_heavy_qs;
942942
5 bool rcu_urgent_qs;
@@ -945,27 +945,27 @@ These fields in the rcu_data structure maintain the per-CPU dyntick-idle
945945
state for the corresponding CPU. The fields may be accessed only from
946946
the corresponding CPU (and from tracing) unless otherwise stated.
947947

948-
The ``->dynticks_nesting`` field counts the nesting depth of process
948+
The ``->nesting`` field counts the nesting depth of process
949949
execution, so that in normal circumstances this counter has value zero
950950
or one. NMIs, irqs, and tracers are counted by the
951-
``->dynticks_nmi_nesting`` field. Because NMIs cannot be masked, changes
951+
``->nmi_nesting`` field. Because NMIs cannot be masked, changes
952952
to this variable have to be undertaken carefully using an algorithm
953953
provided by Andy Lutomirski. The initial transition from idle adds one,
954954
and nested transitions add two, so that a nesting level of five is
955-
represented by a ``->dynticks_nmi_nesting`` value of nine. This counter
955+
represented by a ``->nmi_nesting`` value of nine. This counter
956956
can therefore be thought of as counting the number of reasons why this
957957
CPU cannot be permitted to enter dyntick-idle mode, aside from
958958
process-level transitions.
959959

960960
However, it turns out that when running in non-idle kernel context, the
961961
Linux kernel is fully capable of entering interrupt handlers that never
962962
exit and perhaps also vice versa. Therefore, whenever the
963-
``->dynticks_nesting`` field is incremented up from zero, the
964-
``->dynticks_nmi_nesting`` field is set to a large positive number, and
965-
whenever the ``->dynticks_nesting`` field is decremented down to zero,
966-
the ``->dynticks_nmi_nesting`` field is set to zero. Assuming that
963+
``->nesting`` field is incremented up from zero, the
964+
``->nmi_nesting`` field is set to a large positive number, and
965+
whenever the ``->nesting`` field is decremented down to zero,
966+
the ``->nmi_nesting`` field is set to zero. Assuming that
967967
the number of misnested interrupts is not sufficient to overflow the
968-
counter, this approach corrects the ``->dynticks_nmi_nesting`` field
968+
counter, this approach corrects the ``->nmi_nesting`` field
969969
every time the corresponding CPU enters the idle loop from process
970970
context.
971971

@@ -992,8 +992,8 @@ code.
992992
+-----------------------------------------------------------------------+
993993
| **Quick Quiz**: |
994994
+-----------------------------------------------------------------------+
995-
| Why not simply combine the ``->dynticks_nesting`` and |
996-
| ``->dynticks_nmi_nesting`` counters into a single counter that just |
995+
| Why not simply combine the ``->nesting`` and |
996+
| ``->nmi_nesting`` counters into a single counter that just |
997997
| counts the number of reasons that the corresponding CPU is non-idle? |
998998
+-----------------------------------------------------------------------+
999999
| **Answer**: |

Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,10 @@ RCU read-side critical sections preceding and following the current
147147
idle sojourn.
148148
This case is handled by calls to the strongly ordered
149149
``atomic_add_return()`` read-modify-write atomic operation that
150-
is invoked within ``rcu_dynticks_eqs_enter()`` at idle-entry
151-
time and within ``rcu_dynticks_eqs_exit()`` at idle-exit time.
152-
The grace-period kthread invokes first ``ct_dynticks_cpu_acquire()``
153-
(preceded by a full memory barrier) and ``rcu_dynticks_in_eqs_since()``
150+
is invoked within ``ct_kernel_exit_state()`` at idle-entry
151+
time and within ``ct_kernel_enter_state()`` at idle-exit time.
152+
The grace-period kthread invokes first ``ct_rcu_watching_cpu_acquire()``
153+
(preceded by a full memory barrier) and ``rcu_watching_snap_stopped_since()``
154154
(both of which rely on acquire semantics) to detect idle CPUs.
155155

156156
+-----------------------------------------------------------------------+

Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg

Lines changed: 4 additions & 4 deletions
Loading

Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-fqs.svg

Lines changed: 4 additions & 4 deletions
Loading

Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg

Lines changed: 4 additions & 4 deletions
Loading

Documentation/RCU/Design/Memory-Ordering/TreeRCU-hotplug.svg

Lines changed: 2 additions & 2 deletions
Loading

Documentation/RCU/Design/Requirements/Requirements.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2649,8 +2649,7 @@ those that are idle from RCU's perspective) and then Tasks Rude RCU can
26492649
be removed from the kernel.
26502650

26512651
The tasks-rude-RCU API is also reader-marking-free and thus quite compact,
2652-
consisting of call_rcu_tasks_rude(), synchronize_rcu_tasks_rude(),
2653-
and rcu_barrier_tasks_rude().
2652+
consisting solely of synchronize_rcu_tasks_rude().
26542653

26552654
Tasks Trace RCU
26562655
~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)