All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eliav Farber <farbere@amazon.com>
To: <linux@armlinux.org.uk>, <richard@nod.at>,
	<anton.ivanov@cambridgegreys.com>, <johannes@sipsolutions.net>,
	<dave.hansen@linux.intel.com>, <luto@kernel.org>,
	<peterz@infradead.org>, <tglx@linutronix.de>, <mingo@redhat.com>,
	<bp@alien8.de>, <x86@kernel.org>, <hpa@zytor.com>,
	<tony.luck@intel.com>, <qiuxu.zhuo@intel.com>,
	<mchehab@kernel.org>, <james.morse@arm.com>, <rric@kernel.org>,
	<harry.wentland@amd.com>, <sunpeng.li@amd.com>,
	<Rodrigo.Siqueira@amd.com>, <alexander.deucher@amd.com>,
	<christian.koenig@amd.com>, <Xinhui.Pan@amd.com>,
	<airlied@gmail.com>, <daniel@ffwll.ch>, <evan.quan@amd.com>,
	<james.qian.wang@arm.com>, <liviu.dudau@arm.com>,
	<mihail.atanassov@arm.com>, <brian.starkey@arm.com>,
	<maarten.lankhorst@linux.intel.com>, <mripard@kernel.org>,
	<tzimmermann@suse.de>, <robdclark@gmail.com>,
	<quic_abhinavk@quicinc.com>, <dmitry.baryshkov@linaro.org>,
	<sean@poorly.run>, <jdelvare@suse.com>, <linux@roeck-us.net>,
	<linus.walleij@linaro.org>, <dmitry.torokhov@gmail.com>,
	<maz@kernel.org>, <wens@csie.org>, <jernej.skrabec@gmail.com>,
	<samuel@sholland.org>, <agk@redhat.com>, <snitzer@kernel.org>,
	<dm-devel@redhat.com>, <rajur@chelsio.com>, <davem@davemloft.net>,
	<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
	<peppe.cavallaro@st.com>, <alexandre.torgue@foss.st.com>,
	<joabreu@synopsys.com>, <mcoquelin.stm32@gmail.com>,
	<krzysztof.kozlowski@linaro.org>, <malattia@linux.it>,
	<hdegoede@redhat.com>, <markgross@kernel.org>,
	<artur.paszkiewicz@intel.com>, <jejb@linux.ibm.com>,
	<martin.petersen@oracle.com>, <sakari.ailus@linux.intel.com>,
	<gregkh@linuxfoundation.org>, <fei1.li@intel.com>, <clm@fb.com>,
	<josef@toxicpanda.com>, <dsterba@suse.com>, <jack@suse.com>,
	<tytso@mit.edu>, <adilger.kernel@dilger.ca>, <dushistov@mail.ru>,
	<luc.vanoostenryck@gmail.com>, <rostedt@goodmis.org>,
	<mhiramat@kernel.org>, <pmladek@suse.com>,
	<senozhatsky@chromium.org>, <andriy.shevchenko@linux.intel.com>,
	<linux@rasmusvillemoes.dk>, <minchan@kernel.org>,
	<ngupta@vflare.org>, <akpm@linux-foundation.org>,
	<yoshfuji@linux-ipv6.org>, <dsahern@kernel.org>,
	<pablo@netfilter.org>, <kadlec@netfilter.org>, <fw@strlen.de>,
	<jmaloy@redhat.com>, <ying.xue@windriver.com>,
	<andrii@kernel.org>, <mykolal@fb.com>, <ast@kernel.org>,
	<daniel@iogearbox.net>, <martin.lau@linux.dev>, <song@kernel.org>,
	<yhs@fb.com>, <john.fastabend@gmail.com>, <kpsingh@kernel.org>,
	<sdf@google.com>, <haoluo@google.com>, <jolsa@kernel.org>,
	<shuah@kernel.org>, <keescook@chromium.org>, <wad@chromium.org>,
	<willy@infradead.org>, <farbere@amazon.com>, <sashal@kernel.org>,
	<ruanjinjie@huawei.com>, <quic_akhilpo@quicinc.com>,
	<David.Laight@ACULAB.COM>, <herve.codina@bootlin.com>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, <linux-um@lists.infradead.org>,
	<linux-edac@vger.kernel.org>, <amd-gfx@lists.freedesktop.org>,
	<dri-devel@lists.freedesktop.org>,
	<linux-arm-msm@vger.kernel.org>,
	<freedreno@lists.freedesktop.org>, <linux-hwmon@vger.kernel.org>,
	<linux-input@vger.kernel.org>, <linux-sunxi@lists.linux.dev>,
	<linux-media@vger.kernel.org>, <netdev@vger.kernel.org>,
	<linux-stm32@st-md-mailman.stormreply.com>,
	<platform-driver-x86@vger.kernel.org>,
	<linux-scsi@vger.kernel.org>, <linux-staging@lists.linux.dev>,
	<linux-btrfs@vger.kernel.org>, <linux-ext4@vger.kernel.org>,
	<linux-sparse@vger.kernel.org>, <linux-mm@kvack.org>,
	<netfilter-devel@vger.kernel.org>, <coreteam@netfilter.org>,
	<tipc-discussion@lists.sourceforge.net>, <bpf@vger.kernel.org>,
	<linux-kselftest@vger.kernel.org>, <stable@vger.kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	David Laight <David.Laight@aculab.com>,
	Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Subject: [PATCH 08/19 v6.1.y] minmax: add a few more MIN_T/MAX_T users
Date: Wed, 24 Sep 2025 20:23:09 +0000	[thread overview]
Message-ID: <20250924202320.32333-9-farbere@amazon.com> (raw)
In-Reply-To: <20250924202320.32333-1-farbere@amazon.com>

From: Linus Torvalds <torvalds@linux-foundation.org>

[ Upstream commit 4477b39c32fdc03363affef4b11d48391e6dc9ff ]

Commit 3a7e02c040b1 ("minmax: avoid overly complicated constant
expressions in VM code") added the simpler MIN_T/MAX_T macros in order
to avoid some excessive expansion from the rather complicated regular
min/max macros.

The complexity of those macros stems from two issues:

 (a) trying to use them in situations that require a C constant
     expression (in static initializers and for array sizes)

 (b) the type sanity checking

and MIN_T/MAX_T avoids both of these issues.

Now, in the whole (long) discussion about all this, it was pointed out
that the whole type sanity checking is entirely unnecessary for
min_t/max_t which get a fixed type that the comparison is done in.

But that still leaves min_t/max_t unnecessarily complicated due to
worries about the C constant expression case.

However, it turns out that there really aren't very many cases that use
min_t/max_t for this, and we can just force-convert those.

This does exactly that.

Which in turn will then allow for much simpler implementations of
min_t()/max_t().  All the usual "macros in all upper case will evaluate
the arguments multiple times" rules apply.

We should do all the same things for the regular min/max() vs MIN/MAX()
cases, but that has the added complexity of various drivers defining
their own local versions of MIN/MAX, so that needs another level of
fixes first.

Link: https://lore.kernel.org/all/b47fad1d0cf8449886ad148f8c013dae@AcuMS.aculab.com/
Cc: David Laight <David.Laight@aculab.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Eliav Farber <farbere@amazon.com>
---
 arch/x86/mm/pgtable.c                             | 2 +-
 drivers/edac/sb_edac.c                            | 4 ++--
 drivers/gpu/drm/drm_color_mgmt.c                  | 2 +-
 drivers/md/dm-integrity.c                         | 2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
 net/ipv4/proc.c                                   | 2 +-
 net/ipv6/proc.c                                   | 2 +-
 7 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index 77ee0012f849..a84d3d82824a 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -107,7 +107,7 @@ static inline void pgd_list_del(pgd_t *pgd)
 #define UNSHARED_PTRS_PER_PGD				\
 	(SHARED_KERNEL_PMD ? KERNEL_PGD_BOUNDARY : PTRS_PER_PGD)
 #define MAX_UNSHARED_PTRS_PER_PGD			\
-	max_t(size_t, KERNEL_PGD_BOUNDARY, PTRS_PER_PGD)
+	MAX_T(size_t, KERNEL_PGD_BOUNDARY, PTRS_PER_PGD)
 
 
 static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm)
diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c
index 8e39370fdb5c..f0de7b18a53f 100644
--- a/drivers/edac/sb_edac.c
+++ b/drivers/edac/sb_edac.c
@@ -109,8 +109,8 @@ static const u32 knl_interleave_list[] = {
 	0x104, 0x10c, 0x114, 0x11c,   /* 20-23 */
 };
 #define MAX_INTERLEAVE							\
-	(max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list),	\
-	       max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list),	\
+	(MAX_T(unsigned int, ARRAY_SIZE(sbridge_interleave_list),	\
+	       MAX_T(unsigned int, ARRAY_SIZE(ibridge_interleave_list),	\
 		     ARRAY_SIZE(knl_interleave_list))))
 
 struct interleave_pkg {
diff --git a/drivers/gpu/drm/drm_color_mgmt.c b/drivers/gpu/drm/drm_color_mgmt.c
index d021497841b8..3969dc548cff 100644
--- a/drivers/gpu/drm/drm_color_mgmt.c
+++ b/drivers/gpu/drm/drm_color_mgmt.c
@@ -532,7 +532,7 @@ int drm_plane_create_color_properties(struct drm_plane *plane,
 {
 	struct drm_device *dev = plane->dev;
 	struct drm_property *prop;
-	struct drm_prop_enum_list enum_list[max_t(int, DRM_COLOR_ENCODING_MAX,
+	struct drm_prop_enum_list enum_list[MAX_T(int, DRM_COLOR_ENCODING_MAX,
 						       DRM_COLOR_RANGE_MAX)];
 	int i, len;
 
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c
index efd0732a8c10..a201019babe4 100644
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -2618,7 +2618,7 @@ static void do_journal_write(struct dm_integrity_c *ic, unsigned int write_start
 				    unlikely(from_replay) &&
 #endif
 				    ic->internal_hash) {
-					char test_tag[max_t(size_t, HASH_MAX_DIGESTSIZE, MAX_TAG_SIZE)];
+					char test_tag[MAX_T(size_t, HASH_MAX_DIGESTSIZE, MAX_TAG_SIZE)];
 
 					integrity_sector_checksum(ic, sec + ((l - j) << ic->sb->log2_sectors_per_block),
 								  (char *)access_journal_data(ic, i, l), test_tag);
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 948e35c405a8..be84aed47160 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2827,7 +2827,7 @@ static void stmmac_dma_interrupt(struct stmmac_priv *priv)
 	u32 channels_to_check = tx_channel_count > rx_channel_count ?
 				tx_channel_count : rx_channel_count;
 	u32 chan;
-	int status[max_t(u32, MTL_MAX_TX_QUEUES, MTL_MAX_RX_QUEUES)];
+	int status[MAX_T(u32, MTL_MAX_TX_QUEUES, MTL_MAX_RX_QUEUES)];
 
 	/* Make sure we never check beyond our status buffer. */
 	if (WARN_ON_ONCE(channels_to_check > ARRAY_SIZE(status)))
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c
index 1f52c5f2d347..234b2e56be4f 100644
--- a/net/ipv4/proc.c
+++ b/net/ipv4/proc.c
@@ -43,7 +43,7 @@
 #include <net/sock.h>
 #include <net/raw.h>
 
-#define TCPUDP_MIB_MAX max_t(u32, UDP_MIB_MAX, TCP_MIB_MAX)
+#define TCPUDP_MIB_MAX MAX_T(u32, UDP_MIB_MAX, TCP_MIB_MAX)
 
 /*
  *	Report socket allocation statistics [mea@utu.fi]
diff --git a/net/ipv6/proc.c b/net/ipv6/proc.c
index e20b3705c2d2..5e01863be039 100644
--- a/net/ipv6/proc.c
+++ b/net/ipv6/proc.c
@@ -27,7 +27,7 @@
 #include <net/ipv6.h>
 
 #define MAX4(a, b, c, d) \
-	max_t(u32, max_t(u32, a, b), max_t(u32, c, d))
+	MAX_T(u32, MAX_T(u32, a, b), MAX_T(u32, c, d))
 #define SNMP_MIB_MAX MAX4(UDP_MIB_MAX, TCP_MIB_MAX, \
 			IPSTATS_MIB_MAX, ICMP_MIB_MAX)
 
-- 
2.47.3


  parent reply	other threads:[~2025-09-24 20:29 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-24 20:23 [PATCH 00/19 v6.1.y] Backport minmax.h updates from v6.17-rc7 Eliav Farber
2025-09-24 20:23 ` [PATCH 01/19 v6.1.y] minmax: add in_range() macro Eliav Farber
2025-09-29 13:47   ` Patch "minmax: add in_range() macro" has been added to the 6.1-stable tree gregkh
2025-09-29 13:47     ` gregkh
2025-09-29 13:47     ` gregkh
2025-09-24 20:23 ` [PATCH 02/19 v6.1.y] minmax: Introduce {min,max}_array() Eliav Farber
2025-09-29 13:47   ` Patch "minmax: Introduce {min, max}_array()" has been added to the 6.1-stable tree gregkh
2025-09-29 13:47     ` Patch "minmax: Introduce {min,max}_array()" " gregkh
2025-09-29 13:47     ` gregkh
2025-09-29 13:47     ` gregkh
2025-09-24 20:23 ` [PATCH 03/19 v6.1.y] minmax: deduplicate __unconst_integer_typeof() Eliav Farber
2025-09-29 13:47   ` Patch "minmax: deduplicate __unconst_integer_typeof()" has been added to the 6.1-stable tree gregkh
2025-09-29 13:47     ` gregkh
2025-09-29 13:47     ` gregkh
2025-09-24 20:23 ` [PATCH 04/19 v6.1.y] minmax: fix indentation of __cmp_once() and __clamp_once() Eliav Farber
2025-09-29 13:47   ` Patch "minmax: fix indentation of __cmp_once() and __clamp_once()" has been added to the 6.1-stable tree gregkh
2025-09-29 13:47     ` gregkh
2025-09-29 13:47     ` gregkh
2025-09-29 13:47     ` gregkh
2025-09-24 20:23 ` [PATCH 05/19 v6.1.y] minmax: avoid overly complicated constant expressions in VM code Eliav Farber
2025-09-29 13:56   ` Patch "minmax: avoid overly complicated constant expressions in VM code" has been added to the 6.1-stable tree gregkh
2025-09-29 13:56     ` gregkh
2025-09-29 13:56     ` gregkh
2025-09-24 20:23 ` [PATCH 06/19 v6.1.y] minmax: simplify and clarify min_t()/max_t() implementation Eliav Farber
2025-09-29 13:56   ` Patch "minmax: simplify and clarify min_t()/max_t() implementation" has been added to the 6.1-stable tree gregkh
2025-09-29 13:56     ` gregkh
2025-09-29 13:56     ` gregkh
2025-09-29 13:56     ` gregkh
2025-09-24 20:23 ` [PATCH 07/19 v6.1.y] minmax: make generic MIN() and MAX() macros available everywhere Eliav Farber
2025-09-29 13:49   ` Greg KH
2025-09-29 14:39     ` Farber, Eliav
2025-09-29 14:47       ` Greg KH
2025-09-29 17:21         ` Farber, Eliav
2025-09-29 18:39     ` Farber, Eliav
2025-09-24 20:23 ` Eliav Farber [this message]
2025-09-29 13:56   ` Patch "minmax: add a few more MIN_T/MAX_T users" has been added to the 6.1-stable tree gregkh
2025-09-29 13:56     ` gregkh
2025-09-29 13:56     ` gregkh
2025-09-29 13:56     ` gregkh
2025-09-24 20:23 ` [PATCH 09/19 v6.1.y] minmax: simplify min()/max()/clamp() implementation Eliav Farber
2025-09-24 20:23 ` [PATCH 10/19 v6.1.y] minmax: don't use max() in situations that want a C constant expression Eliav Farber
2025-09-24 20:23 ` [PATCH 11/19 v6.1.y] minmax: improve macro expansion and type checking Eliav Farber
2025-09-24 20:23 ` [PATCH 12/19 v6.1.y] minmax: fix up min3() and max3() too Eliav Farber
2025-09-24 20:23 ` [PATCH 13/19 v6.1.y] minmax.h: add whitespace around operators and after commas Eliav Farber
2025-09-24 20:23 ` [PATCH 14/19 v6.1.y] minmax.h: update some comments Eliav Farber
2025-09-24 20:23 ` [PATCH 15/19 v6.1.y] minmax.h: reduce the #define expansion of min(), max() and clamp() Eliav Farber
2025-09-24 20:23 ` [PATCH 16/19 v6.1.y] minmax.h: use BUILD_BUG_ON_MSG() for the lo < hi test in clamp() Eliav Farber
2025-09-24 20:23 ` [PATCH 17/19 v6.1.y] minmax.h: move all the clamp() definitions after the min/max() ones Eliav Farber
2025-09-24 20:23 ` [PATCH 18/19 v6.1.y] minmax.h: simplify the variants of clamp() Eliav Farber
2025-09-24 20:23 ` [PATCH 19/19 v6.1.y] minmax.h: remove some #defines that are only expanded once Eliav Farber

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=20250924202320.32333-9-farbere@amazon.com \
    --to=farbere@amazon.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=Rodrigo.Siqueira@amd.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=agk@redhat.com \
    --cc=airlied@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.deucher@amd.com \
    --cc=alexandre.torgue@foss.st.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=andrii@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=artur.paszkiewicz@intel.com \
    --cc=ast@kernel.org \
    --cc=bp@alien8.de \
    --cc=bpf@vger.kernel.org \
    --cc=brian.starkey@arm.com \
    --cc=christian.koenig@amd.com \
    --cc=clm@fb.com \
    --cc=coreteam@netfilter.org \
    --cc=daniel@ffwll.ch \
    --cc=daniel@iogearbox.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=dm-devel@redhat.com \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dsahern@kernel.org \
    --cc=dsterba@suse.com \
    --cc=dushistov@mail.ru \
    --cc=edumazet@google.com \
    --cc=evan.quan@amd.com \
    --cc=fei1.li@intel.com \
    --cc=freedreno@lists.freedesktop.org \
    --cc=fw@strlen.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=haoluo@google.com \
    --cc=harry.wentland@amd.com \
    --cc=hdegoede@redhat.com \
    --cc=herve.codina@bootlin.com \
    --cc=hpa@zytor.com \
    --cc=jack@suse.com \
    --cc=james.morse@arm.com \
    --cc=james.qian.wang@arm.com \
    --cc=jdelvare@suse.com \
    --cc=jejb@linux.ibm.com \
    --cc=jernej.skrabec@gmail.com \
    --cc=jmaloy@redhat.com \
    --cc=joabreu@synopsys.com \
    --cc=johannes@sipsolutions.net \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=josef@toxicpanda.com \
    --cc=kadlec@netfilter.org \
    --cc=keescook@chromium.org \
    --cc=kpsingh@kernel.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=linux-um@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@rasmusvillemoes.dk \
    --cc=linux@roeck-us.net \
    --cc=liviu.dudau@arm.com \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=luc.vanoostenryck@gmail.com \
    --cc=luto@kernel.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=malattia@linux.it \
    --cc=markgross@kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=martin.petersen@oracle.com \
    --cc=maz@kernel.org \
    --cc=mchehab@kernel.org \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=mhiramat@kernel.org \
    --cc=mihail.atanassov@arm.com \
    --cc=minchan@kernel.org \
    --cc=mingo@redhat.com \
    --cc=mripard@kernel.org \
    --cc=mykolal@fb.com \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=ngupta@vflare.org \
    --cc=pabeni@redhat.com \
    --cc=pablo@netfilter.org \
    --cc=peppe.cavallaro@st.com \
    --cc=peterz@infradead.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=pmladek@suse.com \
    --cc=qiuxu.zhuo@intel.com \
    --cc=quic_abhinavk@quicinc.com \
    --cc=quic_akhilpo@quicinc.com \
    --cc=rajur@chelsio.com \
    --cc=richard@nod.at \
    --cc=robdclark@gmail.com \
    --cc=rostedt@goodmis.org \
    --cc=rric@kernel.org \
    --cc=ruanjinjie@huawei.com \
    --cc=sakari.ailus@linux.intel.com \
    --cc=samuel@sholland.org \
    --cc=sashal@kernel.org \
    --cc=sdf@google.com \
    --cc=sean@poorly.run \
    --cc=senozhatsky@chromium.org \
    --cc=shuah@kernel.org \
    --cc=snitzer@kernel.org \
    --cc=song@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=sunpeng.li@amd.com \
    --cc=tglx@linutronix.de \
    --cc=tipc-discussion@lists.sourceforge.net \
    --cc=tony.luck@intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=tzimmermann@suse.de \
    --cc=wad@chromium.org \
    --cc=wens@csie.org \
    --cc=willy@infradead.org \
    --cc=x86@kernel.org \
    --cc=yhs@fb.com \
    --cc=ying.xue@windriver.com \
    --cc=yoshfuji@linux-ipv6.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.