public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Mel Gorman <mgorman@suse.de>,
	Qais Yousef <qais.yousef@arm.com>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Lukasz Luba <lukasz.luba@arm.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 068/214] sched/uclamp: Protect uclamp fast path code with static key
Date: Tue,  1 Sep 2020 17:09:08 +0200	[thread overview]
Message-ID: <20200901150956.233627275@linuxfoundation.org> (raw)
In-Reply-To: <20200901150952.963606936@linuxfoundation.org>

From: Qais Yousef <qais.yousef@arm.com>

[ Upstream commit 46609ce227039fd192e0ecc7d940bed587fd2c78 ]

There is a report that when uclamp is enabled, a netperf UDP test
regresses compared to a kernel compiled without uclamp.

https://lore.kernel.org/lkml/20200529100806.GA3070@suse.de/

While investigating the root cause, there were no sign that the uclamp
code is doing anything particularly expensive but could suffer from bad
cache behavior under certain circumstances that are yet to be
understood.

https://lore.kernel.org/lkml/20200616110824.dgkkbyapn3io6wik@e107158-lin/

To reduce the pressure on the fast path anyway, add a static key that is
by default will skip executing uclamp logic in the
enqueue/dequeue_task() fast path until it's needed.

As soon as the user start using util clamp by:

	1. Changing uclamp value of a task with sched_setattr()
	2. Modifying the default sysctl_sched_util_clamp_{min, max}
	3. Modifying the default cpu.uclamp.{min, max} value in cgroup

We flip the static key now that the user has opted to use util clamp.
Effectively re-introducing uclamp logic in the enqueue/dequeue_task()
fast path. It stays on from that point forward until the next reboot.

This should help minimize the effect of util clamp on workloads that
don't need it but still allow distros to ship their kernels with uclamp
compiled in by default.

SCHED_WARN_ON() in uclamp_rq_dec_id() was removed since now we can end
up with unbalanced call to uclamp_rq_dec_id() if we flip the key while
a task is running in the rq. Since we know it is harmless we just
quietly return if we attempt a uclamp_rq_dec_id() when
rq->uclamp[].bucket[].tasks is 0.

In schedutil, we introduce a new uclamp_is_enabled() helper which takes
the static key into account to ensure RT boosting behavior is retained.

The following results demonstrates how this helps on 2 Sockets Xeon E5
2x10-Cores system.

                                   nouclamp                 uclamp      uclamp-static-key
Hmean     send-64         162.43 (   0.00%)      157.84 *  -2.82%*      163.39 *   0.59%*
Hmean     send-128        324.71 (   0.00%)      314.78 *  -3.06%*      326.18 *   0.45%*
Hmean     send-256        641.55 (   0.00%)      628.67 *  -2.01%*      648.12 *   1.02%*
Hmean     send-1024      2525.28 (   0.00%)     2448.26 *  -3.05%*     2543.73 *   0.73%*
Hmean     send-2048      4836.14 (   0.00%)     4712.08 *  -2.57%*     4867.69 *   0.65%*
Hmean     send-3312      7540.83 (   0.00%)     7425.45 *  -1.53%*     7621.06 *   1.06%*
Hmean     send-4096      9124.53 (   0.00%)     8948.82 *  -1.93%*     9276.25 *   1.66%*
Hmean     send-8192     15589.67 (   0.00%)    15486.35 *  -0.66%*    15819.98 *   1.48%*
Hmean     send-16384    26386.47 (   0.00%)    25752.25 *  -2.40%*    26773.74 *   1.47%*

The perf diff between nouclamp and uclamp-static-key when uclamp is
disabled in the fast path:

     8.73%     -1.55%  [kernel.kallsyms]        [k] try_to_wake_up
     0.07%     +0.04%  [kernel.kallsyms]        [k] deactivate_task
     0.13%     -0.02%  [kernel.kallsyms]        [k] activate_task

The diff between nouclamp and uclamp-static-key when uclamp is enabled
in the fast path:

     8.73%     -0.72%  [kernel.kallsyms]        [k] try_to_wake_up
     0.13%     +0.39%  [kernel.kallsyms]        [k] activate_task
     0.07%     +0.38%  [kernel.kallsyms]        [k] deactivate_task

Fixes: 69842cba9ace ("sched/uclamp: Add CPU's clamp buckets refcounting")
Reported-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lkml.kernel.org/r/20200630112123.12076-3-qais.yousef@arm.com
[ Fix minor conflict with kernel/sched.h because of function renamed
later ]
Signed-off-by: Qais Yousef <qais.yousef@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/sched/core.c              | 74 +++++++++++++++++++++++++++++++-
 kernel/sched/cpufreq_schedutil.c |  2 +-
 kernel/sched/sched.h             | 47 +++++++++++++++++++-
 3 files changed, 119 insertions(+), 4 deletions(-)

diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index b34b5c6e25248..a8ab68aa189a9 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -794,6 +794,26 @@ unsigned int sysctl_sched_uclamp_util_max = SCHED_CAPACITY_SCALE;
 /* All clamps are required to be less or equal than these values */
 static struct uclamp_se uclamp_default[UCLAMP_CNT];
 
+/*
+ * This static key is used to reduce the uclamp overhead in the fast path. It
+ * primarily disables the call to uclamp_rq_{inc, dec}() in
+ * enqueue/dequeue_task().
+ *
+ * This allows users to continue to enable uclamp in their kernel config with
+ * minimum uclamp overhead in the fast path.
+ *
+ * As soon as userspace modifies any of the uclamp knobs, the static key is
+ * enabled, since we have an actual users that make use of uclamp
+ * functionality.
+ *
+ * The knobs that would enable this static key are:
+ *
+ *   * A task modifying its uclamp value with sched_setattr().
+ *   * An admin modifying the sysctl_sched_uclamp_{min, max} via procfs.
+ *   * An admin modifying the cgroup cpu.uclamp.{min, max}
+ */
+DEFINE_STATIC_KEY_FALSE(sched_uclamp_used);
+
 /* Integer rounded range for each bucket */
 #define UCLAMP_BUCKET_DELTA DIV_ROUND_CLOSEST(SCHED_CAPACITY_SCALE, UCLAMP_BUCKETS)
 
@@ -990,10 +1010,38 @@ static inline void uclamp_rq_dec_id(struct rq *rq, struct task_struct *p,
 
 	lockdep_assert_held(&rq->lock);
 
+	/*
+	 * If sched_uclamp_used was enabled after task @p was enqueued,
+	 * we could end up with unbalanced call to uclamp_rq_dec_id().
+	 *
+	 * In this case the uc_se->active flag should be false since no uclamp
+	 * accounting was performed at enqueue time and we can just return
+	 * here.
+	 *
+	 * Need to be careful of the following enqeueue/dequeue ordering
+	 * problem too
+	 *
+	 *	enqueue(taskA)
+	 *	// sched_uclamp_used gets enabled
+	 *	enqueue(taskB)
+	 *	dequeue(taskA)
+	 *	// Must not decrement bukcet->tasks here
+	 *	dequeue(taskB)
+	 *
+	 * where we could end up with stale data in uc_se and
+	 * bucket[uc_se->bucket_id].
+	 *
+	 * The following check here eliminates the possibility of such race.
+	 */
+	if (unlikely(!uc_se->active))
+		return;
+
 	bucket = &uc_rq->bucket[uc_se->bucket_id];
+
 	SCHED_WARN_ON(!bucket->tasks);
 	if (likely(bucket->tasks))
 		bucket->tasks--;
+
 	uc_se->active = false;
 
 	/*
@@ -1021,6 +1069,15 @@ static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p)
 {
 	enum uclamp_id clamp_id;
 
+	/*
+	 * Avoid any overhead until uclamp is actually used by the userspace.
+	 *
+	 * The condition is constructed such that a NOP is generated when
+	 * sched_uclamp_used is disabled.
+	 */
+	if (!static_branch_unlikely(&sched_uclamp_used))
+		return;
+
 	if (unlikely(!p->sched_class->uclamp_enabled))
 		return;
 
@@ -1036,6 +1093,15 @@ static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p)
 {
 	enum uclamp_id clamp_id;
 
+	/*
+	 * Avoid any overhead until uclamp is actually used by the userspace.
+	 *
+	 * The condition is constructed such that a NOP is generated when
+	 * sched_uclamp_used is disabled.
+	 */
+	if (!static_branch_unlikely(&sched_uclamp_used))
+		return;
+
 	if (unlikely(!p->sched_class->uclamp_enabled))
 		return;
 
@@ -1145,8 +1211,10 @@ int sysctl_sched_uclamp_handler(struct ctl_table *table, int write,
 		update_root_tg = true;
 	}
 
-	if (update_root_tg)
+	if (update_root_tg) {
+		static_branch_enable(&sched_uclamp_used);
 		uclamp_update_root_tg();
+	}
 
 	/*
 	 * We update all RUNNABLE tasks only when task groups are in use.
@@ -1211,6 +1279,8 @@ static void __setscheduler_uclamp(struct task_struct *p,
 	if (likely(!(attr->sched_flags & SCHED_FLAG_UTIL_CLAMP)))
 		return;
 
+	static_branch_enable(&sched_uclamp_used);
+
 	if (attr->sched_flags & SCHED_FLAG_UTIL_CLAMP_MIN) {
 		uclamp_se_set(&p->uclamp_req[UCLAMP_MIN],
 			      attr->sched_util_min, true);
@@ -7294,6 +7364,8 @@ static ssize_t cpu_uclamp_write(struct kernfs_open_file *of, char *buf,
 	if (req.ret)
 		return req.ret;
 
+	static_branch_enable(&sched_uclamp_used);
+
 	mutex_lock(&uclamp_mutex);
 	rcu_read_lock();
 
diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c
index b6f56e7c8dd16..4cb80e6042c4f 100644
--- a/kernel/sched/cpufreq_schedutil.c
+++ b/kernel/sched/cpufreq_schedutil.c
@@ -210,7 +210,7 @@ unsigned long schedutil_cpu_util(int cpu, unsigned long util_cfs,
 	unsigned long dl_util, util, irq;
 	struct rq *rq = cpu_rq(cpu);
 
-	if (!IS_BUILTIN(CONFIG_UCLAMP_TASK) &&
+	if (!uclamp_is_used() &&
 	    type == FREQUENCY_UTIL && rt_rq_is_runnable(&rq->rt)) {
 		return max;
 	}
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 570659f1c6e22..9f2a9e34a78d5 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -841,6 +841,8 @@ struct uclamp_rq {
 	unsigned int value;
 	struct uclamp_bucket bucket[UCLAMP_BUCKETS];
 };
+
+DECLARE_STATIC_KEY_FALSE(sched_uclamp_used);
 #endif /* CONFIG_UCLAMP_TASK */
 
 /*
@@ -2319,12 +2321,35 @@ static inline void cpufreq_update_util(struct rq *rq, unsigned int flags) {}
 #ifdef CONFIG_UCLAMP_TASK
 unsigned int uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id);
 
+/**
+ * uclamp_util_with - clamp @util with @rq and @p effective uclamp values.
+ * @rq:		The rq to clamp against. Must not be NULL.
+ * @util:	The util value to clamp.
+ * @p:		The task to clamp against. Can be NULL if you want to clamp
+ *		against @rq only.
+ *
+ * Clamps the passed @util to the max(@rq, @p) effective uclamp values.
+ *
+ * If sched_uclamp_used static key is disabled, then just return the util
+ * without any clamping since uclamp aggregation at the rq level in the fast
+ * path is disabled, rendering this operation a NOP.
+ *
+ * Use uclamp_eff_value() if you don't care about uclamp values at rq level. It
+ * will return the correct effective uclamp value of the task even if the
+ * static key is disabled.
+ */
 static __always_inline
 unsigned int uclamp_util_with(struct rq *rq, unsigned int util,
 			      struct task_struct *p)
 {
-	unsigned int min_util = READ_ONCE(rq->uclamp[UCLAMP_MIN].value);
-	unsigned int max_util = READ_ONCE(rq->uclamp[UCLAMP_MAX].value);
+	unsigned int min_util;
+	unsigned int max_util;
+
+	if (!static_branch_likely(&sched_uclamp_used))
+		return util;
+
+	min_util = READ_ONCE(rq->uclamp[UCLAMP_MIN].value);
+	max_util = READ_ONCE(rq->uclamp[UCLAMP_MAX].value);
 
 	if (p) {
 		min_util = max(min_util, uclamp_eff_value(p, UCLAMP_MIN));
@@ -2346,6 +2371,19 @@ static inline unsigned int uclamp_util(struct rq *rq, unsigned int util)
 {
 	return uclamp_util_with(rq, util, NULL);
 }
+
+/*
+ * When uclamp is compiled in, the aggregation at rq level is 'turned off'
+ * by default in the fast path and only gets turned on once userspace performs
+ * an operation that requires it.
+ *
+ * Returns true if userspace opted-in to use uclamp and aggregation at rq level
+ * hence is active.
+ */
+static inline bool uclamp_is_used(void)
+{
+	return static_branch_likely(&sched_uclamp_used);
+}
 #else /* CONFIG_UCLAMP_TASK */
 static inline unsigned int uclamp_util_with(struct rq *rq, unsigned int util,
 					    struct task_struct *p)
@@ -2356,6 +2394,11 @@ static inline unsigned int uclamp_util(struct rq *rq, unsigned int util)
 {
 	return util;
 }
+
+static inline bool uclamp_is_used(void)
+{
+	return false;
+}
 #endif /* CONFIG_UCLAMP_TASK */
 
 #ifdef arch_scale_freq_capacity
-- 
2.25.1




  parent reply	other threads:[~2020-09-01 16:23 UTC|newest]

Thread overview: 219+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-01 15:08 [PATCH 5.4 000/214] 5.4.62-rc1 review Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 001/214] powerpc/64s: Dont init FSCR_DSCR in __init_FSCR() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 002/214] binfmt_flat: revert "binfmt_flat: dont offset the data start" Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 003/214] gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 004/214] net: Fix potential wrong skb->protocol in skb_vlan_untag() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 005/214] net: nexthop: dont allow empty NHA_GROUP Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 006/214] net: qrtr: fix usage of idr in port assignment to socket Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 007/214] net: sctp: Fix negotiation of the number of data streams Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 008/214] net/smc: Prevent kernel-infoleak in __smc_diag_dump() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 009/214] tipc: fix uninit skb->data in tipc_nl_compat_dumpit() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 010/214] net: ena: Make missed_tx stat incremental Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 011/214] net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 012/214] ipvlan: fix device features Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 013/214] ALSA: hda/hdmi: Add quirk to force connectivity Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 014/214] ALSA: pci: delete repeated words in comments Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 015/214] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 016/214] ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 017/214] ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 018/214] ASoC: img-parallel-out: Fix a reference count leak Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 019/214] ASoC: tegra: Fix reference count leaks Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 020/214] mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 021/214] arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 022/214] powerpc/xive: Ignore kmemleak false positives Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 023/214] media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 024/214] blktrace: ensure our debugfs dir exists Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 025/214] scsi: target: tcmu: Fix crash on ARM during cmd completion Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 026/214] mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 027/214] iommu/iova: Dont BUG on invalid PFNs Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 028/214] drm/amdkfd: Fix reference count leaks Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 029/214] drm/radeon: fix multiple reference count leak Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 030/214] drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 031/214] drm/amd/display: fix ref count leak in amdgpu_drm_ioctl Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 032/214] drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 033/214] drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 034/214] scsi: lpfc: Fix shost refcount mismatch when deleting vport Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 035/214] xfs: Dont allow logging of XFS_ISTALE inodes Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 036/214] scsi: target: Fix xcopy sess release leak Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 037/214] selftests/powerpc: Purge extra count_pmc() calls of ebb selftests Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 038/214] f2fs: fix error path in do_recover_data() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 039/214] omapfb: fix multiple reference count leaks due to pm_runtime_get_sync Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 040/214] PCI: Fix pci_create_slot() reference count leak Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 041/214] ARM: dts: ls1021a: output PPS signal on FIPER2 Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 042/214] rtlwifi: rtl8192cu: Prevent leaking urb Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 043/214] mips/vdso: Fix resource leaks in genvdso.c Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 044/214] ALSA: hda: Add support for Loongson 7A1000 controller Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 045/214] cec-api: prevent leaking memory through hole in structure Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 046/214] HID: quirks: add NOGET quirk for Logitech GROUP Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 047/214] f2fs: fix use-after-free issue Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 048/214] drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 049/214] drm/nouveau: fix reference count leak in nv50_disp_atomic_commit Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 050/214] drm/nouveau: Fix reference count leak in nouveau_connector_detect Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 051/214] locking/lockdep: Fix overflow in presentation of average lock-time Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 052/214] btrfs: file: reserve qgroup space after the hole punch range is locked Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 053/214] btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 054/214] scsi: iscsi: Do not put host in iscsi_set_flashnode_param() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 055/214] ceph: fix potential mdsc use-after-free crash Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 056/214] ceph: do not access the kiocb after aio requests Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 057/214] scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del() Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 058/214] EDAC/ie31200: Fallback if host bridge device is already initialized Greg Kroah-Hartman
2020-09-01 15:08 ` [PATCH 5.4 059/214] hugetlbfs: prevent filesystem stacking of hugetlbfs Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 060/214] media: davinci: vpif_capture: fix potential double free Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 061/214] KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 062/214] powerpc/spufs: add CONFIG_COREDUMP dependency Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 063/214] USB: sisusbvga: Fix a potential UB casued by left shifting a negative value Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 064/214] brcmfmac: Set timeout value when configuring power save Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 065/214] efi: provide empty efi_enter_virtual_mode implementation Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 066/214] arm64: Fix __cpu_logical_map undefined issue Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 067/214] Revert "ath10k: fix DMA related firmware crashes on multiple devices" Greg Kroah-Hartman
2020-09-01 15:09 ` Greg Kroah-Hartman [this message]
2020-09-01 15:09 ` [PATCH 5.4 069/214] sched/uclamp: Fix a deadlock when enabling uclamp static key Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 070/214] usb: cdns3: gadget: always zeroed TRB buffer when enable endpoint Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 071/214] PM / devfreq: rk3399_dmc: Add missing of_node_put() Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 072/214] PM / devfreq: rk3399_dmc: Disable devfreq-event device when fails Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 073/214] PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 074/214] drm/xen: fix passing zero to PTR_ERR warning Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 075/214] drm/xen-front: Fix misused IS_ERR_OR_NULL checks Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 076/214] s390/numa: set node distance to LOCAL_DISTANCE Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 077/214] btrfs: factor out inode items copy loop from btrfs_log_inode() Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 078/214] btrfs: only commit the delayed inode when doing a full fsync Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 079/214] btrfs: only commit delayed items at fsync if we are logging a directory Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 080/214] mm/shuffle: dont move pages between zones and dont read garbage memmaps Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 081/214] mm: fix kthread_use_mm() vs TLB invalidate Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 082/214] mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 083/214] cma: dont quit at first error when activating reserved areas Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 084/214] gpu/drm: ingenic: Use the planes src_[x,y] to configure DMA length Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 085/214] drm/ingenic: Fix incorrect assumption about plane->index Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 086/214] drm/amd/display: Trigger modesets on MST DSC connectors Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 087/214] drm/amd/display: Add additional config guards for DCN Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 088/214] drm/amd/display: Fix dmesg warning from setting abm level Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 089/214] mm/vunmap: add cond_resched() in vunmap_pmd_range Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 090/214] EDAC: sb_edac: get rid of unused vars Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 091/214] EDAC: skx_common: get rid of unused type var Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 092/214] EDAC/{i7core,sb,pnd2,skx}: Fix error event severity Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 093/214] PCI: qcom: Add missing ipq806x clocks in PCIe driver Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 094/214] PCI: qcom: Change duplicate PCI reset to phy reset Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 095/214] PCI: qcom: Add missing reset for ipq806x Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 096/214] cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 097/214] ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1) Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 098/214] media: gpio-ir-tx: improve precision of transmitted signal due to scheduling Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 099/214] block: respect queue limit of max discard segment Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 100/214] block: virtio_blk: fix handling single range discard request Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 101/214] drm/msm/adreno: fix updating ring fence Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 102/214] block: Fix page_is_mergeable() for compound pages Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 103/214] bfq: fix blkio cgroup leakage v4 Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 104/214] hwmon: (nct7904) Correct divide by 0 Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 105/214] blk-mq: insert request not through ->queue_rq into sw/scheduler queue Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 106/214] blkcg: fix memleak for iolatency Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 107/214] nvme-fc: Fix wrong return value in __nvme_fc_init_request() Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 108/214] nvme: multipath: round-robin: fix single non-optimized path case Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 109/214] null_blk: fix passing of REQ_FUA flag in null_handle_rq Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 110/214] i2c: core: Dont fail PRP0001 enumeration when no ID table exist Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 111/214] i2c: rcar: in slave mode, clear NACK earlier Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 112/214] usb: gadget: f_tcm: Fix some resource leaks in some error paths Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 113/214] spi: stm32: clear only asserted irq flags on interrupt Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 114/214] jbd2: make sure jh have b_transaction set in refile/unfile_buffer Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 115/214] ext4: dont BUG on inconsistent journal feature Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 116/214] ext4: handle read only external journal device Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 117/214] jbd2: abort journal if free a async write error metadata buffer Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 118/214] ext4: handle option set by mount flags correctly Greg Kroah-Hartman
2020-09-01 15:09 ` [PATCH 5.4 119/214] ext4: handle error of ext4_setup_system_zone() on remount Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 120/214] ext4: correctly restore system zone info when remount fails Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 121/214] fs: prevent BUG_ON in submit_bh_wbc() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 122/214] spi: stm32h7: fix race condition at end of transfer Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 123/214] spi: stm32: fix fifo threshold level in case of short transfer Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 124/214] spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 125/214] spi: stm32: always perform registers configuration prior to transfer Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 126/214] drm/amd/powerplay: correct Vega20 cached smu feature state Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 127/214] drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 128/214] drm/amd/display: Switch to immediate mode for updating infopackets Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 129/214] libbpf: Handle GCC built-in types for Arm NEON Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 130/214] netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 131/214] can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 132/214] ALSA: hda/realtek: Add model alc298-samsung-headphone Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 133/214] s390/cio: add cond_resched() in the slow_eval_known_fn() loop Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 134/214] ASoC: wm8994: Avoid attempts to read unreadable registers Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 135/214] selftests: disable rp_filter for icmp_redirect.sh Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 136/214] scsi: fcoe: Fix I/O path allocation Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 137/214] scsi: ufs: Fix possible infinite loop in ufshcd_hold Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 138/214] scsi: ufs: Improve interrupt handling for shared interrupts Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 139/214] scsi: ufs: Clean up completed request without interrupt notification Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 140/214] scsi: qla2xxx: Fix login timeout Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 141/214] scsi: qla2xxx: Check if FW supports MQ before enabling Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 142/214] scsi: qla2xxx: Fix null pointer access during disconnect from subsystem Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 143/214] Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 144/214] macvlan: validate setting of multiple remote source MAC addresses Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 145/214] net: gianfar: Add of_node_put() before goto statement Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 146/214] powerpc/perf: Fix soft lockups due to missed interrupt accounting Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 147/214] arm64: Move handling of erratum 1418040 into C code Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 148/214] arm64: Allow booting of late CPUs affected by erratum 1418040 Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 149/214] block: fix get_max_io_size() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 150/214] block: loop: set discard granularity and alignment for block device backed loop Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 151/214] HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 152/214] blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 153/214] btrfs: reset compression level for lzo on remount Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 154/214] btrfs: check the right error variable in btrfs_del_dir_entries_in_log Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 155/214] btrfs: fix space cache memory leak after transaction abort Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 156/214] btrfs: detect nocow for swap after snapshot delete Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 157/214] fbcon: prevent user font height or width change from causing potential out-of-bounds access Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 158/214] USB: lvtest: return proper error code in probe Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 159/214] vt: defer kfree() of vc_screenbuf in vc_do_resize() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 160/214] vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 161/214] serial: samsung: Removes the IRQ not found warning Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 162/214] serial: pl011: Fix oops on -EPROBE_DEFER Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 163/214] serial: pl011: Dont leak amba_ports entry on driver register error Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 164/214] serial: stm32: avoid kernel warning on absence of optional IRQ Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 165/214] serial: 8250_exar: Fix number of ports for Commtech PCIe cards Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 166/214] serial: 8250: change lock order in serial8250_do_startup() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 167/214] writeback: Protect inode->i_io_list with inode->i_lock Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 168/214] writeback: Avoid skipping inode writeback Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 169/214] writeback: Fix sync livelock due to b_dirty_time processing Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 170/214] XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 171/214] usb: host: xhci: fix ep context print mismatch in debugfs Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 172/214] xhci: Do warm-reset when both CAS and XDEV_RESUME are set Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 173/214] xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 174/214] arm64: vdso32: make vdso32 install conditional Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 175/214] PM: sleep: core: Fix the handling of pending runtime resume requests Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 176/214] powerpc/perf: Fix crashes with generic_compat_pmu & BHRB Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 177/214] device property: Fix the secondary firmware node handling in set_primary_fwnode() Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 178/214] crypto: af_alg - Work around empty control messages without MSG_MORE Greg Kroah-Hartman
2020-09-01 15:10 ` [PATCH 5.4 179/214] genirq/matrix: Deal with the sillyness of for_each_cpu() on UP Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 180/214] irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 181/214] x86/hotplug: Silence APIC only after all interrupts are migrated Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 182/214] drm/amdgpu: Fix buffer overflow in INFO ioctl Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 183/214] drm/amdgpu/gfx10: refine mgcg setting Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 184/214] drm/amd/powerplay: Fix hardmins not being sent to SMU for RV Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 185/214] drm/amd/pm: correct Vega10 swctf limit setting Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 186/214] drm/amd/pm: correct Vega12 " Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 187/214] drm/amd/pm: correct Vega20 " Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 188/214] drm/amd/pm: correct the thermal alert temperature limit settings Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 189/214] USB: yurex: Fix bad gfp argument Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 190/214] usb: uas: Add quirk for PNY Pro Elite Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 191/214] USB: quirks: Add no-lpm quirk for another Raydium touchscreen Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 192/214] USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 193/214] USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 194/214] usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe() Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 195/214] USB: gadget: u_f: add overflow checks to VLA macros Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 196/214] USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb() Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 197/214] USB: gadget: u_f: Unbreak offset calculation in VLAs Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 198/214] USB: cdc-acm: rework notification_buffer resizing Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 199/214] usb: storage: Add unusual_uas entry for Sony PSZ drives Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 200/214] drm/i915: Fix cmd parser desc matching with masks Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 201/214] usb: dwc3: gadget: Dont setup more than requested Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 202/214] usb: dwc3: gadget: Fix handling ZLP Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 203/214] usb: dwc3: gadget: Handle ZLP for sg requests Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 204/214] fbmem: pull fbcon_update_vcs() out of fb_set_var() Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 205/214] kheaders: remove unneeded cat command piped to head / tail Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 206/214] kheaders: optimize md5sum calculation for in-tree builds Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 207/214] kheaders: optimize header copy " Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 208/214] kheaders: remove the last bashism to allow sh to run it Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 209/214] kheaders: explain why include/config/autoconf.h is excluded from md5sum Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 210/214] kbuild: add variables for compression tools Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 211/214] kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 212/214] HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage() Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 213/214] libbpf: Fix build on ppc64le architecture Greg Kroah-Hartman
2020-09-01 15:11 ` [PATCH 5.4 214/214] ALSA: usb-audio: Update documentation comment for MS2109 quirk Greg Kroah-Hartman
2020-09-01 19:09 ` [PATCH 5.4 000/214] 5.4.62-rc1 review Guenter Roeck
2020-09-02  5:17   ` Naresh Kamboju
2020-09-02  7:24     ` Greg Kroah-Hartman
2020-09-01 22:21 ` Shuah Khan

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=20200901150956.233627275@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukasz.luba@arm.com \
    --cc=mgorman@suse.de \
    --cc=peterz@infradead.org \
    --cc=qais.yousef@arm.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.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