public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Joshua Hahn <joshua.hahnjy@gmail.com>,
	Vlastimil Babka <vbabka@suse.cz>, SeongJae Park <sj@kernel.org>,
	Brendan Jackman <jackmanb@google.com>, Chris Mason <clm@fb.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Michal Hocko <mhocko@suse.com>,
	Suren Baghdasaryan <surenb@google.com>, Zi Yan <ziy@nvidia.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 136/139] mm/page_alloc/vmstat: simplify refresh_cpu_vm_stats change detection
Date: Wed, 21 Jan 2026 19:16:24 +0100	[thread overview]
Message-ID: <20260121181416.351374018@linuxfoundation.org> (raw)
In-Reply-To: <20260121181411.452263583@linuxfoundation.org>

6.12-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Joshua Hahn <joshua.hahnjy@gmail.com>

[ Upstream commit 0acc67c4030c39f39ac90413cc5d0abddd3a9527 ]

Patch series "mm/page_alloc: Batch callers of free_pcppages_bulk", v5.

Motivation & Approach
=====================

While testing workloads with high sustained memory pressure on large
machines in the Meta fleet (1Tb memory, 316 CPUs), we saw an unexpectedly
high number of softlockups.  Further investigation showed that the zone
lock in free_pcppages_bulk was being held for a long time, and was called
to free 2k+ pages over 100 times just during boot.

This causes starvation in other processes for the zone lock, which can
lead to the system stalling as multiple threads cannot make progress
without the locks.  We can see these issues manifesting as warnings:

[ 4512.591979] rcu: INFO: rcu_sched self-detected stall on CPU
[ 4512.604370] rcu:     20-....: (9312 ticks this GP) idle=a654/1/0x4000000000000000 softirq=309340/309344 fqs=5426
[ 4512.626401] rcu:              hardirqs   softirqs   csw/system
[ 4512.638793] rcu:      number:        0        145            0
[ 4512.651177] rcu:     cputime:       30      10410          174   ==> 10558(ms)
[ 4512.666657] rcu:     (t=21077 jiffies g=783665 q=1242213 ncpus=316)

While these warnings don't indicate a crash or a kernel panic, they do
point to the underlying issue of lock contention.  To prevent starvation
in both locks, batch the freeing of pages using pcp->batch.

Because free_pcppages_bulk is called with the pcp lock and acquires the
zone lock, relinquishing and reacquiring the locks are only effective when
both of them are broken together (unless the system was built with queued
spinlocks).  Thus, instead of modifying free_pcppages_bulk to break both
locks, batch the freeing from its callers instead.

A similar fix has been implemented in the Meta fleet, and we have seen
significantly less softlockups.

Testing
=======
The following are a few synthetic benchmarks, made on three machines. The
first is a large machine with 754GiB memory and 316 processors.
The second is a relatively smaller machine with 251GiB memory and 176
processors. The third and final is the smallest of the three, which has 62GiB
memory and 36 processors.

On all machines, I kick off a kernel build with -j$(nproc).
Negative delta is better (faster compilation).

Large machine (754GiB memory, 316 processors)
make -j$(nproc)
+------------+---------------+-----------+
| Metric (s) | Variation (%) | Delta(%)  |
+------------+---------------+-----------+
| real       |        0.8070 |  - 1.4865 |
| user       |        0.2823 |  + 0.4081 |
| sys        |        5.0267 |  -11.8737 |
+------------+---------------+-----------+

Medium machine (251GiB memory, 176 processors)
make -j$(nproc)
+------------+---------------+----------+
| Metric (s) | Variation (%) | Delta(%) |
+------------+---------------+----------+
| real       |        0.2806 |  +0.0351 |
| user       |        0.0994 |  +0.3170 |
| sys        |        0.6229 |  -0.6277 |
+------------+---------------+----------+

Small machine (62GiB memory, 36 processors)
make -j$(nproc)
+------------+---------------+----------+
| Metric (s) | Variation (%) | Delta(%) |
+------------+---------------+----------+
| real       |        0.1503 |  -2.6585 |
| user       |        0.0431 |  -2.2984 |
| sys        |        0.1870 |  -3.2013 |
+------------+---------------+----------+

Here, variation is the coefficient of variation, i.e.  standard deviation
/ mean.

Based on these results, it seems like there are varying degrees to how
much lock contention this reduces.  For the largest and smallest machines
that I ran the tests on, it seems like there is quite some significant
reduction.  There is also some performance increases visible from
userspace.

Interestingly, the performance gains don't scale with the size of the
machine, but rather there seems to be a dip in the gain there is for the
medium-sized machine.  One possible theory is that because the high
watermark depends on both memory and the number of local CPUs, what
impacts zone contention the most is not these individual values, but
rather the ratio of mem:processors.

This patch (of 5):

Currently, refresh_cpu_vm_stats returns an int, indicating how many
changes were made during its updates.  Using this information, callers
like vmstat_update can heuristically determine if more work will be done
in the future.

However, all of refresh_cpu_vm_stats's callers either (a) ignore the
result, only caring about performing the updates, or (b) only care about
whether changes were made, but not *how many* changes were made.

Simplify the code by returning a bool instead to indicate if updates
were made.

In addition, simplify fold_diff and decay_pcp_high to return a bool
for the same reason.

Link: https://lkml.kernel.org/r/20251014145011.3427205-1-joshua.hahnjy@gmail.com
Link: https://lkml.kernel.org/r/20251014145011.3427205-2-joshua.hahnjy@gmail.com
Signed-off-by: Joshua Hahn <joshua.hahnjy@gmail.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Jackman <jackmanb@google.com>
Cc: Chris Mason <clm@fb.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: 038a102535eb ("mm/page_alloc: prevent pcp corruption with SMP=n")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/gfp.h |    2 +-
 mm/page_alloc.c     |    8 ++++----
 mm/vmstat.c         |   28 +++++++++++++++-------------
 3 files changed, 20 insertions(+), 18 deletions(-)

--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -397,7 +397,7 @@ extern void page_frag_free(void *addr);
 #define free_page(addr) free_pages((addr), 0)
 
 void page_alloc_init_cpuhp(void);
-int decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp);
+bool decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp);
 void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp);
 void drain_all_pages(struct zone *zone);
 void drain_local_pages(struct zone *zone);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -2363,10 +2363,10 @@ static int rmqueue_bulk(struct zone *zon
  * Called from the vmstat counter updater to decay the PCP high.
  * Return whether there are addition works to do.
  */
-int decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
+bool decay_pcp_high(struct zone *zone, struct per_cpu_pages *pcp)
 {
 	int high_min, to_drain, batch;
-	int todo = 0;
+	bool todo = false;
 
 	high_min = READ_ONCE(pcp->high_min);
 	batch = READ_ONCE(pcp->batch);
@@ -2379,7 +2379,7 @@ int decay_pcp_high(struct zone *zone, st
 		pcp->high = max3(pcp->count - (batch << CONFIG_PCP_BATCH_SCALE_MAX),
 				 pcp->high - (pcp->high >> 3), high_min);
 		if (pcp->high > high_min)
-			todo++;
+			todo = true;
 	}
 
 	to_drain = pcp->count - pcp->high;
@@ -2387,7 +2387,7 @@ int decay_pcp_high(struct zone *zone, st
 		spin_lock(&pcp->lock);
 		free_pcppages_bulk(zone, to_drain, pcp, 0);
 		spin_unlock(&pcp->lock);
-		todo++;
+		todo = true;
 	}
 
 	return todo;
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -768,25 +768,25 @@ EXPORT_SYMBOL(dec_node_page_state);
 
 /*
  * Fold a differential into the global counters.
- * Returns the number of counters updated.
+ * Returns whether counters were updated.
  */
 static int fold_diff(int *zone_diff, int *node_diff)
 {
 	int i;
-	int changes = 0;
+	bool changed = false;
 
 	for (i = 0; i < NR_VM_ZONE_STAT_ITEMS; i++)
 		if (zone_diff[i]) {
 			atomic_long_add(zone_diff[i], &vm_zone_stat[i]);
-			changes++;
+			changed = true;
 	}
 
 	for (i = 0; i < NR_VM_NODE_STAT_ITEMS; i++)
 		if (node_diff[i]) {
 			atomic_long_add(node_diff[i], &vm_node_stat[i]);
-			changes++;
+			changed = true;
 	}
-	return changes;
+	return changed;
 }
 
 /*
@@ -803,16 +803,16 @@ static int fold_diff(int *zone_diff, int
  * with the global counters. These could cause remote node cache line
  * bouncing and will have to be only done when necessary.
  *
- * The function returns the number of global counters updated.
+ * The function returns whether global counters were updated.
  */
-static int refresh_cpu_vm_stats(bool do_pagesets)
+static bool refresh_cpu_vm_stats(bool do_pagesets)
 {
 	struct pglist_data *pgdat;
 	struct zone *zone;
 	int i;
 	int global_zone_diff[NR_VM_ZONE_STAT_ITEMS] = { 0, };
 	int global_node_diff[NR_VM_NODE_STAT_ITEMS] = { 0, };
-	int changes = 0;
+	bool changed = false;
 
 	for_each_populated_zone(zone) {
 		struct per_cpu_zonestat __percpu *pzstats = zone->per_cpu_zonestats;
@@ -836,7 +836,8 @@ static int refresh_cpu_vm_stats(bool do_
 		if (do_pagesets) {
 			cond_resched();
 
-			changes += decay_pcp_high(zone, this_cpu_ptr(pcp));
+			if (decay_pcp_high(zone, this_cpu_ptr(pcp)))
+				changed = true;
 #ifdef CONFIG_NUMA
 			/*
 			 * Deal with draining the remote pageset of this
@@ -858,13 +859,13 @@ static int refresh_cpu_vm_stats(bool do_
 			}
 
 			if (__this_cpu_dec_return(pcp->expire)) {
-				changes++;
+				changed = true;
 				continue;
 			}
 
 			if (__this_cpu_read(pcp->count)) {
 				drain_zone_pages(zone, this_cpu_ptr(pcp));
-				changes++;
+				changed = true;
 			}
 #endif
 		}
@@ -884,8 +885,9 @@ static int refresh_cpu_vm_stats(bool do_
 		}
 	}
 
-	changes += fold_diff(global_zone_diff, global_node_diff);
-	return changes;
+	if (fold_diff(global_zone_diff, global_node_diff))
+		changed = true;
+	return changed;
 }
 
 /*



  parent reply	other threads:[~2026-01-21 18:25 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-21 18:14 [PATCH 6.12 000/139] 6.12.67-rc1 review Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 001/139] firmware: imx: scu-irq: Set mu_resource_id before get handle Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 002/139] efi/cper: Fix cper_bits_to_str buffer handling and return value Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 003/139] Revert "gfs2: Fix use of bio_chain" Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 004/139] x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1 Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 005/139] ASoC: codecs: wsa884x: fix codec initialisation Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 006/139] xfrm: Fix inner mode lookup in tunnel mode GSO segmentation Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 007/139] xfrm: set ipv4 no_pmtu_disc flag only on output sa when direction is set Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 008/139] pNFS: Fix a deadlock when returning a delegation during open() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 009/139] NFS: Fix a deadlock involving nfs_release_folio() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 010/139] pnfs/flexfiles: Fix memory leak in nfs4_ff_alloc_deviceid_node() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 011/139] pnfs/blocklayout: Fix memory leak in bl_parse_scsi() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 012/139] drm/vmwgfx: Merge vmw_bo_release and vmw_bo_free functions Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 013/139] PM: EM: Fix incorrect description of the cost field in struct em_perf_state Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 014/139] can: etas_es58x: allow partial RX URB allocation to succeed Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 015/139] nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 016/139] btrfs: send: check for inline extents in range_is_hole_in_parent() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 017/139] net: bridge: annotate data-races around fdb->{updated,used} Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 018/139] ip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 019/139] net: update netdev_lock_{type,name} Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 020/139] macvlan: fix possible UAF in macvlan_forward_source() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 021/139] ipv4: ip_gre: make ipgre_header() robust Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 022/139] vsock/test: add a final full barrier after run all tests Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 023/139] net/mlx5e: Fix crash on profile change rollback failure Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 024/139] net/mlx5e: Dont store mlx5e_priv in mlx5e_dev devlink priv Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 025/139] net/mlx5e: Pass netdev to mlx5e_destroy_netdev instead of priv Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 026/139] net/mlx5e: Restore destroying state bit after profile cleanup Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 027/139] btrfs: factor out init_space_info() from create_space_info() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 028/139] btrfs: factor out check_removing_space_info() from btrfs_free_block_groups() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 029/139] btrfs: introduce btrfs_space_info sub-group Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 030/139] btrfs: fix memory leaks in create_space_info() error paths Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 031/139] net: octeon_ep_vf: fix free_irq dev_id mismatch in IRQ rollback Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 032/139] ALSA: hda/cirrus_scodec_test: Fix incorrect setup of gpiochip Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 033/139] net: hv_netvsc: reject RSS hash key programming without RX indirection table Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 034/139] ipv6: Fix use-after-free in inet6_addr_del() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 035/139] selftests: drv-net: fix RPS mask handling for high CPU numbers Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 036/139] net/sched: sch_qfq: do not free existing class in qfq_change_class() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 037/139] ASoC: sdw_utils: cs42l43: Enable Headphone pin for LINEOUT jack type Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 038/139] ASoC: tlv320adcx140: fix null pointer Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 039/139] ASoC: tlv320adcx140: fix word length Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 040/139] drm/amd/pm: fix smu overdrive data type wrong issue on smu 14.0.2 Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 041/139] mm: describe @flags parameter in memalloc_flags_save() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 042/139] textsearch: describe @list member in ts_ops search Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 043/139] mm, kfence: describe @slab parameter in __kfence_obj_info() Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 044/139] dmaengine: xilinx: xdma: Fix regmap max_register Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 045/139] dmaengine: tegra-adma: Fix use-after-free Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 046/139] dmaengine: xilinx_dma: Fix uninitialized addr_width when "xlnx,addrwidth" property is missing Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 047/139] phy: fsl-imx8mq-usb: Clear the PCS_TX_SWING_FULL field before using it Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 048/139] phy: phy-snps-eusb2: refactor constructs names Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 049/139] phy: drop probe registration printks Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 050/139] phy: qcom-qusb2: Fix NULL pointer dereference on early suspend Greg Kroah-Hartman
2026-01-21 18:14 ` [PATCH 6.12 051/139] phy: stm32-usphyc: Fix off by one in probe() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 052/139] phy: ti: da8xx-usb: Handle devm_pm_runtime_enable() errors Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 053/139] selftests/landlock: Fix TCP bind(AF_UNSPEC) test case Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 054/139] selftests/landlock: Remove invalid unix socket bind() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 055/139] phy: broadcom: ns-usb3: Fix Wvoid-pointer-to-enum-cast warning (again) Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 056/139] selftests/landlock: Properly close a file descriptor Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 057/139] dmaengine: omap-dma: fix dma_pool resource leak in error paths Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 058/139] i2c: qcom-geni: make sure I2C hub controllers cant use SE DMA Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 059/139] HID: usbhid: paper over wrong bNumDescriptor field Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 060/139] bridge: mcast: Fix use-after-free during router port configuration Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 061/139] ASoC: codecs: wsa883x: fix unnecessary initialisation Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 062/139] drm/amd/display: mark static functions noinline_for_stack Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 063/139] io_uring: move local task_work in exit cancel loop Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 064/139] scsi: core: Fix error handler encryption support Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 065/139] ALSA: pcm: Improve the fix for race of buffer access at PCM OSS layer Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 066/139] null_blk: fix kmemleak by releasing references to fault configfs items Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 067/139] can: gs_usb: gs_usb_receive_bulk_callback(): fix URB memory leak Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 068/139] can: ctucanfd: fix SSP_SRC in cases when bit-rate is higher than 1 MBit Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 069/139] net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 070/139] xfs: Fix the return value of xfs_rtcopy_summary() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 071/139] lib/buildid: use __kernel_read() for sleepable context Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 072/139] x86/kaslr: Recognize all ZONE_DEVICE users as physaddr consumers Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 073/139] phy: rockchip: inno-usb2: fix communication disruption in gadget mode Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 074/139] phy: ti: gmii-sel: fix regmap leak on probe failure Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 075/139] phy: freescale: imx8m-pcie: assert phy reset during power on Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 076/139] phy: rockchip: inno-usb2: fix disconnection in gadget mode Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 077/139] phy: tegra: xusb: Explicitly configure HS_DISCON_LEVEL to 0x7 Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 078/139] usb: dwc3: Check for USB4 IP_NAME Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 079/139] usb: core: add USB_QUIRK_NO_BOS for devices that hang on BOS descriptor Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 080/139] USB: OHCI/UHCI: Add soft dependencies on ehci_platform Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 081/139] USB: serial: option: add Telit LE910 MBIM composition Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 082/139] USB: serial: ftdi_sio: add support for PICAXE AXE027 cable Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 083/139] nvme-pci: disable secondary temp for Wodposit WPBSNM8 Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 084/139] ASoC: codecs: wsa881x: fix unnecessary initialisation Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 085/139] ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 086/139] hrtimer: Fix softirq base check in update_needs_ipi() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 087/139] EDAC/x38: Fix a resource leak in x38_probe1() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 088/139] EDAC/i3200: Fix a resource leak in i3200_probe1() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 089/139] tcpm: allow looking for role_sw device in the main node Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 090/139] i2c: riic: Move suspend handling to NOIRQ phase Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 091/139] x86/resctrl: Add missing resctrl initialization for Hygon Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 092/139] x86/resctrl: Fix memory bandwidth counter width " Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 093/139] nvme: fix PCIe subsystem reset controller state transition Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 094/139] mm/zswap: fix error pointer free in zswap_cpu_comp_prepare() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 095/139] mm/page_alloc: make percpu_pagelist_high_fraction reads lock-free Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 096/139] mm/damon/sysfs: cleanup attrs subdirs on context dir setup failure Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 097/139] LoongArch: Fix PMU counter allocation for mixed-type event groups Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 098/139] drm/amd/display: Bump the HDMI clock to 340MHz Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 099/139] drm/amd: Clean up kfd node on surprise disconnect Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 100/139] drm/amdkfd: fix a memory leak in device_queue_manager_init() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 101/139] drm/nouveau/disp/nv50-: Set lock_core in curs507a_prepare Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 102/139] drm/panel-simple: fix connector type for DataImage SCF0700C48GGU18 panel Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 103/139] drm/vmwgfx: Fix an error return check in vmw_compat_shader_add() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 104/139] LoongArch: dts: loongson-2k0500: Add default interrupt controller address cells Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 105/139] LoongArch: dts: loongson-2k1000: " Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 106/139] LoongArch: dts: loongson-2k1000: Fix i2c-gpio node names Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 107/139] LoongArch: dts: loongson-2k2000: Add default interrupt controller address cells Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 108/139] dmaengine: apple-admac: Add "apple,t8103-admac" compatible Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 109/139] dmaengine: at_hdmac: fix device leak on of_dma_xlate() Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 110/139] dmaengine: bcm-sba-raid: fix device leak on probe Greg Kroah-Hartman
2026-01-21 18:15 ` [PATCH 6.12 111/139] dmaengine: dw: dmamux: fix OF node leak on route allocation failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 112/139] dmaengine: idxd: fix device leaks on compat bind and unbind Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 113/139] dmaengine: lpc18xx-dmamux: fix device leak on route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 114/139] dmaengine: lpc32xx-dmamux: " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 115/139] dmaengine: qcom: gpi: Fix memory leak in gpi_peripheral_config() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 116/139] dmaengine: sh: rz-dmac: Fix rz_dmac_terminate_all() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 117/139] dmaengine: stm32: dmamux: fix device leak on route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 118/139] dmaengine: stm32: dmamux: fix OF node leak on route allocation failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 119/139] dmaengine: ti: dma-crossbar: fix device leak on dra7x route allocation Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 120/139] dmaengine: ti: dma-crossbar: fix device leak on am335x " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 121/139] dmaengine: ti: k3-udma: fix device leak on udma lookup Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 122/139] HID: intel-ish-hid: Use dedicated unbound workqueues to prevent resume blocking Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 123/139] HID: intel-ish-hid: Fix -Wcast-function-type-strict in devm_ishtp_alloc_workqueue() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 124/139] btrfs: fix deadlock in wait_current_trans() due to ignored transaction type Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 125/139] xfs: set max_agbno to allow sparse alloc of last full inode chunk Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 126/139] mm/damon/sysfs-scheme: cleanup quotas subdirs on scheme dir setup failure Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 127/139] mm/damon/sysfs-scheme: cleanup access_pattern " Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 128/139] bpf: Reject narrower access to pointer ctx fields Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 129/139] selftests/bpf: Test invalid narrower ctx load Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 130/139] mm: kmsan: fix poisoning of high-order non-compound pages Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 131/139] mm/fake-numa: allow later numa node hotplug Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 132/139] mm: numa,memblock: include <asm/numa.h> for numa_nodes_parsed Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 133/139] phy: phy-rockchip-inno-usb2: Use dev_err_probe() in the probe path Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 134/139] phy: rockchip: inno-usb2: Fix a double free bug in rockchip_usb2phy_probe() Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 135/139] dmaengine: fsl-edma: Fix clk leak on alloc_chan_resources failure Greg Kroah-Hartman
2026-01-21 18:16 ` Greg Kroah-Hartman [this message]
2026-01-21 18:16 ` [PATCH 6.12 137/139] mm/page_alloc: batch page freeing in decay_pcp_high Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 138/139] mm/page_alloc: prevent pcp corruption with SMP=n Greg Kroah-Hartman
2026-01-21 18:16 ` [PATCH 6.12 139/139] mm/fake-numa: handle cases with no SRAT info Greg Kroah-Hartman
2026-01-21 23:37 ` [PATCH 6.12 000/139] 6.12.67-rc1 review Shuah Khan
2026-01-21 23:43 ` Florian Fainelli
2026-01-22  5:40 ` Brett A C Sheffield
2026-01-22  7:35 ` Shung-Hsi Yu
2026-01-22  8:42 ` Jon Hunter
2026-01-22 12:23 ` Ron Economos
2026-01-22 12:58 ` Francesco Dolcini
2026-01-22 13:29 ` Mark Brown
2026-01-22 15:06 ` Brett Mastbergen
2026-01-22 15:09 ` Peter Schneider
2026-01-23 21:41 ` Miguel Ojeda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260121181416.351374018@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=clm@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=jackmanb@google.com \
    --cc=joshua.hahnjy@gmail.com \
    --cc=kirill@shutemov.name \
    --cc=mhocko@suse.com \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=sj@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@suse.cz \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox