From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Brian Chen <brianchen118@gmail.com>,
Peter Zijlstra <peterz@infradead.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Sasha Levin <sashal@kernel.org>,
mingo@redhat.com, juri.lelli@redhat.com,
vincent.guittot@linaro.org
Subject: [PATCH AUTOSEL 5.16 032/217] psi: Fix PSI_MEM_FULL state when tasks are in memstall and doing reclaim
Date: Mon, 17 Jan 2022 21:16:35 -0500 [thread overview]
Message-ID: <20220118021940.1942199-32-sashal@kernel.org> (raw)
In-Reply-To: <20220118021940.1942199-1-sashal@kernel.org>
From: Brian Chen <brianchen118@gmail.com>
[ Upstream commit cb0e52b7748737b2cf6481fdd9b920ce7e1ebbdf ]
We've noticed cases where tasks in a cgroup are stalled on memory but
there is little memory FULL pressure since tasks stay on the runqueue
in reclaim.
A simple example involves a single threaded program that keeps leaking
and touching large amounts of memory. It runs in a cgroup with swap
enabled, memory.high set at 10M and cpu.max ratio set at 5%. Though
there is significant CPU pressure and memory SOME, there is barely any
memory FULL since the task enters reclaim and stays on the runqueue.
However, this memory-bound task is effectively stalled on memory and
we expect memory FULL to match memory SOME in this scenario.
The code is confused about memstall && running, thinking there is a
stalled task and a productive task when there's only one task: a
reclaimer that's counted as both. To fix this, we redefine the
condition for PSI_MEM_FULL to check that all running tasks are in an
active memstall instead of checking that there are no running tasks.
case PSI_MEM_FULL:
- return unlikely(tasks[NR_MEMSTALL] && !tasks[NR_RUNNING]);
+ return unlikely(tasks[NR_MEMSTALL] &&
+ tasks[NR_RUNNING] == tasks[NR_MEMSTALL_RUNNING]);
This will capture reclaimers. It will also capture tasks that called
psi_memstall_enter() and are about to sleep, but this should be
negligible noise.
Signed-off-by: Brian Chen <brianchen118@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lore.kernel.org/r/20211110213312.310243-1-brianchen118@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
include/linux/psi_types.h | 13 ++++++++++-
kernel/sched/psi.c | 45 ++++++++++++++++++++++++---------------
kernel/sched/stats.h | 5 ++++-
3 files changed, 44 insertions(+), 19 deletions(-)
diff --git a/include/linux/psi_types.h b/include/linux/psi_types.h
index 0a23300d49af7..0819c82dba920 100644
--- a/include/linux/psi_types.h
+++ b/include/linux/psi_types.h
@@ -21,7 +21,17 @@ enum psi_task_count {
* don't have to special case any state tracking for it.
*/
NR_ONCPU,
- NR_PSI_TASK_COUNTS = 4,
+ /*
+ * For IO and CPU stalls the presence of running/oncpu tasks
+ * in the domain means a partial rather than a full stall.
+ * For memory it's not so simple because of page reclaimers:
+ * they are running/oncpu while representing a stall. To tell
+ * whether a domain has productivity left or not, we need to
+ * distinguish between regular running (i.e. productive)
+ * threads and memstall ones.
+ */
+ NR_MEMSTALL_RUNNING,
+ NR_PSI_TASK_COUNTS = 5,
};
/* Task state bitmasks */
@@ -29,6 +39,7 @@ enum psi_task_count {
#define TSK_MEMSTALL (1 << NR_MEMSTALL)
#define TSK_RUNNING (1 << NR_RUNNING)
#define TSK_ONCPU (1 << NR_ONCPU)
+#define TSK_MEMSTALL_RUNNING (1 << NR_MEMSTALL_RUNNING)
/* Resources that workloads could be stalled on */
enum psi_res {
diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c
index 1652f2bb54b79..69b19d3af690f 100644
--- a/kernel/sched/psi.c
+++ b/kernel/sched/psi.c
@@ -34,13 +34,19 @@
* delayed on that resource such that nobody is advancing and the CPU
* goes idle. This leaves both workload and CPU unproductive.
*
- * Naturally, the FULL state doesn't exist for the CPU resource at the
- * system level, but exist at the cgroup level, means all non-idle tasks
- * in a cgroup are delayed on the CPU resource which used by others outside
- * of the cgroup or throttled by the cgroup cpu.max configuration.
- *
* SOME = nr_delayed_tasks != 0
- * FULL = nr_delayed_tasks != 0 && nr_running_tasks == 0
+ * FULL = nr_delayed_tasks != 0 && nr_productive_tasks == 0
+ *
+ * What it means for a task to be productive is defined differently
+ * for each resource. For IO, productive means a running task. For
+ * memory, productive means a running task that isn't a reclaimer. For
+ * CPU, productive means an oncpu task.
+ *
+ * Naturally, the FULL state doesn't exist for the CPU resource at the
+ * system level, but exist at the cgroup level. At the cgroup level,
+ * FULL means all non-idle tasks in the cgroup are delayed on the CPU
+ * resource which is being used by others outside of the cgroup or
+ * throttled by the cgroup cpu.max configuration.
*
* The percentage of wallclock time spent in those compound stall
* states gives pressure numbers between 0 and 100 for each resource,
@@ -81,13 +87,13 @@
*
* threads = min(nr_nonidle_tasks, nr_cpus)
* SOME = min(nr_delayed_tasks / threads, 1)
- * FULL = (threads - min(nr_running_tasks, threads)) / threads
+ * FULL = (threads - min(nr_productive_tasks, threads)) / threads
*
* For the 257 number crunchers on 256 CPUs, this yields:
*
* threads = min(257, 256)
* SOME = min(1 / 256, 1) = 0.4%
- * FULL = (256 - min(257, 256)) / 256 = 0%
+ * FULL = (256 - min(256, 256)) / 256 = 0%
*
* For the 1 out of 4 memory-delayed tasks, this yields:
*
@@ -112,7 +118,7 @@
* For each runqueue, we track:
*
* tSOME[cpu] = time(nr_delayed_tasks[cpu] != 0)
- * tFULL[cpu] = time(nr_delayed_tasks[cpu] && !nr_running_tasks[cpu])
+ * tFULL[cpu] = time(nr_delayed_tasks[cpu] && !nr_productive_tasks[cpu])
* tNONIDLE[cpu] = time(nr_nonidle_tasks[cpu] != 0)
*
* and then periodically aggregate:
@@ -233,7 +239,8 @@ static bool test_state(unsigned int *tasks, enum psi_states state)
case PSI_MEM_SOME:
return unlikely(tasks[NR_MEMSTALL]);
case PSI_MEM_FULL:
- return unlikely(tasks[NR_MEMSTALL] && !tasks[NR_RUNNING]);
+ return unlikely(tasks[NR_MEMSTALL] &&
+ tasks[NR_RUNNING] == tasks[NR_MEMSTALL_RUNNING]);
case PSI_CPU_SOME:
return unlikely(tasks[NR_RUNNING] > tasks[NR_ONCPU]);
case PSI_CPU_FULL:
@@ -710,10 +717,11 @@ static void psi_group_change(struct psi_group *group, int cpu,
if (groupc->tasks[t]) {
groupc->tasks[t]--;
} else if (!psi_bug) {
- printk_deferred(KERN_ERR "psi: task underflow! cpu=%d t=%d tasks=[%u %u %u %u] clear=%x set=%x\n",
+ printk_deferred(KERN_ERR "psi: task underflow! cpu=%d t=%d tasks=[%u %u %u %u %u] clear=%x set=%x\n",
cpu, t, groupc->tasks[0],
groupc->tasks[1], groupc->tasks[2],
- groupc->tasks[3], clear, set);
+ groupc->tasks[3], groupc->tasks[4],
+ clear, set);
psi_bug = 1;
}
}
@@ -854,12 +862,15 @@ void psi_task_switch(struct task_struct *prev, struct task_struct *next,
int clear = TSK_ONCPU, set = 0;
/*
- * When we're going to sleep, psi_dequeue() lets us handle
- * TSK_RUNNING and TSK_IOWAIT here, where we can combine it
- * with TSK_ONCPU and save walking common ancestors twice.
+ * When we're going to sleep, psi_dequeue() lets us
+ * handle TSK_RUNNING, TSK_MEMSTALL_RUNNING and
+ * TSK_IOWAIT here, where we can combine it with
+ * TSK_ONCPU and save walking common ancestors twice.
*/
if (sleep) {
clear |= TSK_RUNNING;
+ if (prev->in_memstall)
+ clear |= TSK_MEMSTALL_RUNNING;
if (prev->in_iowait)
set |= TSK_IOWAIT;
}
@@ -908,7 +919,7 @@ void psi_memstall_enter(unsigned long *flags)
rq = this_rq_lock_irq(&rf);
current->in_memstall = 1;
- psi_task_change(current, 0, TSK_MEMSTALL);
+ psi_task_change(current, 0, TSK_MEMSTALL | TSK_MEMSTALL_RUNNING);
rq_unlock_irq(rq, &rf);
}
@@ -937,7 +948,7 @@ void psi_memstall_leave(unsigned long *flags)
rq = this_rq_lock_irq(&rf);
current->in_memstall = 0;
- psi_task_change(current, TSK_MEMSTALL, 0);
+ psi_task_change(current, TSK_MEMSTALL | TSK_MEMSTALL_RUNNING, 0);
rq_unlock_irq(rq, &rf);
}
diff --git a/kernel/sched/stats.h b/kernel/sched/stats.h
index cfb0893a83d45..3a3c826dd83a7 100644
--- a/kernel/sched/stats.h
+++ b/kernel/sched/stats.h
@@ -118,6 +118,9 @@ static inline void psi_enqueue(struct task_struct *p, bool wakeup)
if (static_branch_likely(&psi_disabled))
return;
+ if (p->in_memstall)
+ set |= TSK_MEMSTALL_RUNNING;
+
if (!wakeup || p->sched_psi_wake_requeue) {
if (p->in_memstall)
set |= TSK_MEMSTALL;
@@ -148,7 +151,7 @@ static inline void psi_dequeue(struct task_struct *p, bool sleep)
return;
if (p->in_memstall)
- clear |= TSK_MEMSTALL;
+ clear |= (TSK_MEMSTALL | TSK_MEMSTALL_RUNNING);
psi_task_change(p, clear, 0);
}
--
2.34.1
next prev parent reply other threads:[~2022-01-18 2:23 UTC|newest]
Thread overview: 226+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-18 2:16 [PATCH AUTOSEL 5.16 001/217] Bluetooth: hci_sock: purge socket queues in the destruct() callback Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 002/217] Bluetooth: Fix debugfs entry leak in hci_register_dev() Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 003/217] Bluetooth: Fix memory leak of hci device Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 004/217] drm/panel: Delete panel on mipi_dsi_attach() failure Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 005/217] Bluetooth: Fix removing adv when processing cmd complete Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 006/217] drm/sched: Avoid lockdep spalt on killing a processes Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 007/217] fs: dlm: filter user dlm messages for kernel locks Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 008/217] libbpf: Detect corrupted ELF symbols section Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 009/217] libbpf: Improve sanity checking during BTF fix up Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 010/217] libbpf: Validate that .BTF and .BTF.ext sections contain data Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 011/217] drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 012/217] selftests/bpf: Fix memory leaks in btf_type_c_dump() helper Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 013/217] selftests/bpf: Destroy XDP link correctly Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 014/217] selftests/bpf: Fix bpf_object leak in skb_ctx selftest Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 015/217] ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 016/217] drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 017/217] drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 018/217] media: atomisp: add NULL check for asd obtained from atomisp_video_pipe Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 019/217] media: atomisp: fix try_fmt logic Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 020/217] media: atomisp: set per-device's default mode Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 021/217] media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 022/217] media: atomisp: check before deference asd variable Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 023/217] ARM: shmobile: rcar-gen2: Add missing of_node_put() Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 024/217] ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 025/217] batman-adv: allow netlink usage in unprivileged containers Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 026/217] bpf: Change value of MAX_TAIL_CALL_CNT from 32 to 33 Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 027/217] media: atomisp: handle errors at sh_css_create_isp_params() Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 028/217] ath11k: Fix crash caused by uninitialized TX ring Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 029/217] usb: dwc3: meson-g12a: fix shared reset control use Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 030/217] USB: ehci_brcm_hub_control: Improve port index sanitizing Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 031/217] usb: gadget: f_fs: Use stream_open() for endpoint files Sasha Levin
2022-01-18 2:16 ` Sasha Levin [this message]
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 033/217] drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 034/217] amd: lance: use eth_hw_addr_set() Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 035/217] amd: ni65: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 036/217] amd: a2065/ariadne: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 037/217] amd: hplance: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 038/217] amd: atarilance: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 039/217] amd: mvme147: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 040/217] 8390: smc-ultra: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 041/217] 8390: hydra: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 042/217] 8390: mac8390: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 043/217] 8390: wd: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 044/217] smc9194: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 045/217] lasi_82594: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 046/217] apple: macmace: " Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 047/217] cirrus: mac89x0: " Sasha Levin
2022-01-18 16:56 ` Jakub Kicinski
2022-01-22 18:51 ` Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 048/217] HID: magicmouse: Report battery level over USB Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 049/217] HID: apple: Do not reset quirks when the Fn key is not found Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 050/217] media: b2c2: Add missing check in flexcop_pci_isr: Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 051/217] libbpf: Accommodate DWARF/compiler bug with duplicated structs Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 052/217] ethernet: renesas: Use div64_ul instead of do_div Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 053/217] 82596: use eth_hw_addr_set() Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 054/217] EDAC/synopsys: Use the quirk for version instead of ddr version Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 055/217] arm64: dts: qcom: sm[68]350: Use interrupts-extended with pdc interrupts Sasha Levin
2022-01-18 2:16 ` [PATCH AUTOSEL 5.16 056/217] arm64: dts: qcom: sm8350: Shorten camera-thermal-bottom name Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 057/217] soc: imx: gpcv2: Synchronously suspend MIX domains Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 058/217] ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 059/217] ath11k: Fix mon status ring rx tlv processing Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 060/217] drm/amd/display: check top_pipe_to_program pointer Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 061/217] drm/amdgpu/display: set vblank_disable_immediate for DC Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 062/217] soc: ti: pruss: fix referenced node in error message Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 063/217] mlxsw: pci: Add shutdown method in PCI driver Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 064/217] drm/amd/display: add else to avoid double destroy clk_mgr Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 065/217] drm/bridge: megachips: Ensure both bridges are probed before registration Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 066/217] mxser: keep only !tty test in ISR Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 067/217] mxser: don't throttle manually Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 068/217] mxser: increase buf_overrun if tty_insert_flip_char() fails Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 069/217] serial: 8250_dw: Add StarFive JH7100 quirk Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 070/217] tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 071/217] gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 072/217] HSI: core: Fix return freed object in hsi_new_client Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 073/217] crypto: jitter - consider 32 LSB for APT Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 074/217] rtw89: fix potentially access out of range of RF register array Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 075/217] rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 076/217] mwifiex: Fix skb_over_panic in mwifiex_usb_recv() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 077/217] rsi: Fix use-after-free in rsi_rx_done_handler() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 078/217] rsi: Fix out-of-bounds read in rsi_read_pkt() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 079/217] ath11k: Avoid NULL ptr access during mgmt tx cleanup Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 080/217] media: venus: avoid calling core_clk_setrate() concurrently during concurrent video sessions Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 081/217] regulator: da9121: Prevent current limit change when enabled Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 082/217] drm/vmwgfx: Release ttm memory if probe fails Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 083/217] drm/vmwgfx: Introduce a new placement for MOB page tables Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 084/217] ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 085/217] ACPI: Change acpi_device_always_present() into acpi_device_override_status() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 086/217] ACPI / x86: Allow specifying acpi_device_override_status() quirks by path Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 087/217] ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 088/217] drm: Return error codes from struct drm_driver.gem_create_object Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 089/217] drm/amd/display: Use oriented source size when checking cursor scaling Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 090/217] arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 091/217] arm64: dts: ti: j721e-main: Fix 'dtbs_check' in " Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 092/217] usb: uhci: add aspeed ast2600 uhci support Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 093/217] floppy: Add max size check for user space request Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 094/217] x86/mm: Flush global TLB when switching to trampoline page-table Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 095/217] s390/nmi: add missing __pa/__va address conversion of extended save area Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 096/217] drm: rcar-du: Fix CRTC timings when CMM is used Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 097/217] media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 098/217] media: rcar-vin: Update format alignment constraints Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 099/217] media: saa7146: hexium_orion: Fix a NULL pointer dereference in hexium_attach() Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 100/217] media: atomisp: fix "variable dereferenced before check 'asd'" Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 101/217] media: m920x: don't use stack on USB reads Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 102/217] thunderbolt: Runtime PM activate both ends of the device link Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 103/217] arm64: dts: renesas: Fix thermal bindings Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 104/217] iwlwifi: mvm: synchronize with FW after multicast commands Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 105/217] iwlwifi: mvm: avoid clearing a just saved session protection id Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 106/217] iwlwifi: acpi: fix wgds rev 3 size Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 107/217] rcutorture: Avoid soft lockup during cpu stall Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 108/217] net: dsa: ocelot: felix: Remove requirement for PCS in felix devices Sasha Levin
2022-01-18 12:23 ` Vladimir Oltean
2022-01-22 19:02 ` Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 109/217] ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 110/217] ath10k: Fix tx hanging Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 111/217] rtw89: don't kick off TX DMA if failed to write skb Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 112/217] net-sysfs: update the queue counts in the unregistration path Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 113/217] ath10k: drop beacon and probe response which leak from other channel Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 114/217] net: phy: prefer 1000baseT over 1000baseKX Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 115/217] gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock Sasha Levin
2022-01-18 2:17 ` [PATCH AUTOSEL 5.16 116/217] gpio: aspeed-sgpio: Convert aspeed_sgpio.lock " Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 117/217] selftests/ftrace: make kprobe profile testcase description unique Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 118/217] net: Enable neighbor sysctls that is save for userns root Sasha Levin
2022-01-18 16:59 ` Jakub Kicinski
2022-01-19 3:46 ` David Ahern
2022-01-22 19:13 ` Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 119/217] arm64: dts: rockchip: Fix Bluetooth on ROCK Pi 4 boards Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 120/217] ath11k: Avoid false DEADLOCK warning reported by lockdep Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 121/217] ARM: dts: qcom: sdx55: fix IPA interconnect definitions Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 122/217] x86/mce: Allow instrumentation during task work queueing Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 123/217] x86/mce: Prevent severity computation from being instrumented Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 124/217] x86/mce: Mark mce_panic() noinstr Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 125/217] x86/mce: Mark mce_end() noinstr Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 126/217] x86/mce: Mark mce_read_aux() noinstr Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 127/217] net: bonding: debug: avoid printing debug logs when bond is not notifying peers Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 128/217] kunit: Don't crash if no parameters are generated Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 129/217] bpf: Do not WARN in bpf_warn_invalid_xdp_action() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 130/217] drm/amdkfd: Fix error handling in svm_range_add Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 131/217] drm/amdgpu: fix amdgpu_ras_mca_query_error_status scope Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 132/217] HID: quirks: Allow inverting the absolute X/Y values Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 133/217] HID: i2c-hid-of: Expose the touchscreen-inverted properties Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 134/217] media: igorplugusb: receiver overflow should be reported Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 135/217] media: rockchip: rkisp1: use device name for debugfs subdir name Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 136/217] media: saa7146: hexium_gemini: Fix a NULL pointer dereference in hexium_attach() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 137/217] mmc: tmio: reinit card irqs in reset routine Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 138/217] mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 139/217] mmc: omap_hsmmc: Revert special init for wl1251 Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 140/217] drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 141/217] drm/amd/amdgpu: fix gmc " Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 142/217] audit: ensure userspace is penalized the same as the kernel when under pressure Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 143/217] arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 144/217] drm/tegra: dc: rgb: Allow changing PLLD rate on Tegra30+ Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 145/217] arm64: tegra: Adjust length of CCPLEX cluster MMIO region Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 146/217] crypto: ccp - Move SEV_INIT retry for corrupted data Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 147/217] crypto: hisilicon/hpre - fix memory leak in hpre_curve25519_src_init() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 148/217] crypto: hisilicon/qm - fix deadlock for remove driver Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 149/217] PM: runtime: Add safety net to supplier device release Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 150/217] cpufreq: Fix initialization of min and max frequency QoS requests Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 151/217] usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 152/217] mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 153/217] mt76: mt7915: fix SMPS operation fail Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 154/217] mt76: connac: fix a theoretical NULL pointer dereference in mt76_connac_get_phy_mode Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 155/217] mt76: do not pass the received frame with decryption error Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 156/217] mt76: mt7615: improve wmm index allocation Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 157/217] mt76: mt7921: fix network buffer leak by txs missing Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 158/217] ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 159/217] ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 160/217] ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 161/217] rtw88: 8822c: update rx settings to prevent potential hw deadlock Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 162/217] PM: AVS: qcom-cpr: Use div64_ul instead of do_div Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 163/217] iwlwifi: recognize missing PNVM data and then log filename Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 164/217] iwlwifi: fix leaks/bad data after failed firmware load Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 165/217] iwlwifi: remove module loading failure message Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 166/217] iwlwifi: mvm: Fix calculation of frame length Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 167/217] iwlwifi: mvm: fix AUX ROC removal Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 168/217] iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 169/217] mmc: sdhci-pci-gli: GL9755: Support for CD/WP inversion on OF platforms Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 170/217] block: check minor range in device_add_disk() Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 171/217] um: registers: Rename function names to avoid conflicts and build problems Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 172/217] ath11k: Fix napi related hang Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 173/217] Bluetooth: btintel: Add missing quirks and msft ext for legacy bootloader Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 174/217] cpufreq: intel_pstate: Update cpuinfo.max_freq on HWP_CAP changes Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 175/217] Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES Sasha Levin
2022-01-18 2:18 ` [PATCH AUTOSEL 5.16 176/217] xfrm: rate limit SA mapping change message to user space Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 177/217] drm/etnaviv: consider completed fence seqno in hang check Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 178/217] jffs2: GC deadlock reading a page that is used in jffs2_write_begin() Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 179/217] ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 180/217] ACPICA: Utilities: Avoid deleting the same object twice in a row Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 181/217] ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 182/217] ACPICA: Fix wrong interpretation of PCC address Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 183/217] ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 184/217] mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 185/217] drm/amdgpu: Don't inherit GEM object VMAs in child process Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 186/217] drm/amdgpu: fixup bad vram size on gmc v8 Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 187/217] mfd: intel_soc_pmic: Use CPU-id check instead of _HRV check to differentiate variants Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 188/217] amdgpu/pm: Make sysfs pm attributes as read-only for VFs Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 189/217] ACPI: battery: Add the ThinkPad "Not Charging" quirk Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 190/217] ACPI: CPPC: Check present CPUs for determining _CPC is valid Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 191/217] net/mlx5: DR, Fix error flow in creating matcher Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 192/217] btrfs: remove BUG_ON() in find_parent_nodes() Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 193/217] btrfs: remove BUG_ON(!eie) in find_parent_nodes Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 194/217] net: mdio: Demote probed message to debug print Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 195/217] mac80211: allow non-standard VHT MCS-10/11 Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 196/217] dm btree: add a defensive bounds check to insert_at() Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 197/217] dm space map common: add bounds check to sm_ll_lookup_bitmap() Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 198/217] can: do not increase rx statistics when generating a CAN rx error message frame Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 199/217] bpf/selftests: Fix namespace mount setup in tc_redirect Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 200/217] mlxsw: pci: Avoid flow control for EMAD packets Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 201/217] net: phy: marvell: configure RGMII delays for 88E1118 Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 202/217] net: gemini: allow any RGMII interface mode Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 203/217] net: dsa: hold rtnl_mutex when calling dsa_master_{setup,teardown} Sasha Levin
2022-01-18 12:13 ` Vladimir Oltean
2022-01-22 19:17 ` Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 204/217] regulator: qcom_smd: Align probe function with rpmh-regulator Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 205/217] serial: pl010: Drop CR register reset on set_termios Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 206/217] serial: pl011: " Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 207/217] serial: core: Keep mctrl register state and cached copy in sync Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 208/217] random: do not throw away excess input to crng_fast_load Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 209/217] net/mlx5: Update log_max_qp value to FW max capability Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 210/217] net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 211/217] parisc: Avoid calling faulthandler_disabled() twice Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 212/217] scripts: sphinx-pre-install: Fix ctex support on Debian Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 213/217] can: flexcan: allow to change quirks at runtime Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 214/217] can: flexcan: rename RX modes Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 215/217] can: flexcan: add more quirks to describe RX path capabilities Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 216/217] x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs Sasha Levin
2022-01-18 2:19 ` [PATCH AUTOSEL 5.16 217/217] ext4: allow to change s_last_trim_minblks via sysfs Sasha Levin
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=20220118021940.1942199-32-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=brianchen118@gmail.com \
--cc=hannes@cmpxchg.org \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=stable@vger.kernel.org \
--cc=vincent.guittot@linaro.org \
/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;
as well as URLs for NNTP newsgroup(s).