All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brendan Higgins <brendanhiggins@google.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, arnd@arndb.de,
	keescook@chromium.org, skhan@linuxfoundation.org,
	alan.maguire@oracle.com, yzaikin@google.com, davidgow@google.com,
	akpm@linux-foundation.org, rppt@linux.ibm.com,
	frowand.list@gmail.com, catalin.marinas@arm.com, will@kernel.org,
	monstr@monstr.eu, mpe@ellerman.id.au, benh@kernel.crashing.org,
	paulus@samba.org, chris@zankel.net, jcmvbkbc@gmail.com
Cc: gregkh@linuxfoundation.org, sboyd@kernel.org,
	logang@deltatee.com, mcgrof@kernel.org,
	linux-um@lists.infradead.org, linux-arch@vger.kernel.org,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-xtensa@linux-xtensa.org,
	Brendan Higgins <brendanhiggins@google.com>
Subject: [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option
Date: Fri, 26 Jun 2020 14:09:15 -0700	[thread overview]
Message-ID: <20200626210917.358969-11-brendanhiggins@google.com> (raw)
In-Reply-To: <20200626210917.358969-1-brendanhiggins@google.com>

From: David Gow <davidgow@google.com>

Add a new kernel command-line option, 'kunit_shutdown', which allows the
user to specify that the kernel poweroff, halt, or reboot after
completing all KUnit tests; this is very handy for running KUnit tests
on UML or a VM so that the UML/VM process exits cleanly immediately
after running all tests without needing a special initramfs.

Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
---
 lib/kunit/executor.c                | 20 ++++++++++++++++++++
 tools/testing/kunit/kunit_kernel.py |  2 +-
 tools/testing/kunit/kunit_parser.py |  2 +-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c
index a95742a4ece73..38061d456afb2 100644
--- a/lib/kunit/executor.c
+++ b/lib/kunit/executor.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/reboot.h>
 #include <kunit/test.h>
 
 /*
@@ -11,6 +12,23 @@ extern struct kunit_suite * const * const __kunit_suites_end[];
 
 #if IS_BUILTIN(CONFIG_KUNIT)
 
+static char *kunit_shutdown;
+core_param(kunit_shutdown, kunit_shutdown, charp, 0644);
+
+static void kunit_handle_shutdown(void)
+{
+	if (!kunit_shutdown)
+		return;
+
+	if (!strcmp(kunit_shutdown, "poweroff"))
+		kernel_power_off();
+	else if (!strcmp(kunit_shutdown, "halt"))
+		kernel_halt();
+	else if (!strcmp(kunit_shutdown, "reboot"))
+		kernel_restart(NULL);
+
+}
+
 static void kunit_print_tap_header(void)
 {
 	struct kunit_suite * const * const *suites, * const *subsuite;
@@ -37,6 +55,8 @@ int kunit_run_all_tests(void)
 	     suites++)
 			__kunit_test_suites_init(*suites);
 
+	kunit_handle_shutdown();
+
 	return 0;
 }
 
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 63dbda2d029f6..d6a575f92317c 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -172,7 +172,7 @@ class LinuxSourceTree(object):
 		return self.validate_config(build_dir)
 
 	def run_kernel(self, args=[], build_dir='', timeout=None):
-		args.extend(['mem=1G'])
+		args.extend(['mem=1G', 'kunit_shutdown=halt'])
 		outfile = 'test.log'
 		self._ops.linux_bin(args, timeout, build_dir, outfile)
 		subprocess.call(['stty', 'sane'])
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py
index 6d6d94a0ee7db..a8998a5effaad 100644
--- a/tools/testing/kunit/kunit_parser.py
+++ b/tools/testing/kunit/kunit_parser.py
@@ -49,7 +49,7 @@ class TestStatus(Enum):
 
 kunit_start_re = re.compile(r'TAP version [0-9]+$')
 kunit_end_re = re.compile('(List of all partitions:|'
-			  'Kernel panic - not syncing: VFS:)')
+			  'Kernel panic - not syncing: VFS:|reboot: System halted)')
 
 def isolate_kunit_output(kernel_output):
 	started = False
-- 
2.27.0.212.ge8ba1cc988-goog


WARNING: multiple messages have this Message-ID (diff)
From: Brendan Higgins <brendanhiggins@google.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com,  arnd@arndb.de,
	keescook@chromium.org, skhan@linuxfoundation.org,
	 alan.maguire@oracle.com, yzaikin@google.com,
	davidgow@google.com,  akpm@linux-foundation.org,
	rppt@linux.ibm.com, frowand.list@gmail.com,
	 catalin.marinas@arm.com, will@kernel.org, monstr@monstr.eu,
	 mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	 chris@zankel.net, jcmvbkbc@gmail.com
Cc: linux-arch@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	linux-doc@vger.kernel.org, sboyd@kernel.org,
	gregkh@linuxfoundation.org, linuxppc-dev@lists.ozlabs.org,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	Brendan Higgins <brendanhiggins@google.com>,
	mcgrof@kernel.org, linux-kselftest@vger.kernel.org,
	logang@deltatee.com, linux-arm-kernel@lists.infradead.org,
	kunit-dev@googlegroups.com
Subject: [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option
Date: Fri, 26 Jun 2020 14:09:15 -0700	[thread overview]
Message-ID: <20200626210917.358969-11-brendanhiggins@google.com> (raw)
In-Reply-To: <20200626210917.358969-1-brendanhiggins@google.com>

From: David Gow <davidgow@google.com>

Add a new kernel command-line option, 'kunit_shutdown', which allows the
user to specify that the kernel poweroff, halt, or reboot after
completing all KUnit tests; this is very handy for running KUnit tests
on UML or a VM so that the UML/VM process exits cleanly immediately
after running all tests without needing a special initramfs.

Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
---
 lib/kunit/executor.c                | 20 ++++++++++++++++++++
 tools/testing/kunit/kunit_kernel.py |  2 +-
 tools/testing/kunit/kunit_parser.py |  2 +-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c
index a95742a4ece73..38061d456afb2 100644
--- a/lib/kunit/executor.c
+++ b/lib/kunit/executor.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/reboot.h>
 #include <kunit/test.h>
 
 /*
@@ -11,6 +12,23 @@ extern struct kunit_suite * const * const __kunit_suites_end[];
 
 #if IS_BUILTIN(CONFIG_KUNIT)
 
+static char *kunit_shutdown;
+core_param(kunit_shutdown, kunit_shutdown, charp, 0644);
+
+static void kunit_handle_shutdown(void)
+{
+	if (!kunit_shutdown)
+		return;
+
+	if (!strcmp(kunit_shutdown, "poweroff"))
+		kernel_power_off();
+	else if (!strcmp(kunit_shutdown, "halt"))
+		kernel_halt();
+	else if (!strcmp(kunit_shutdown, "reboot"))
+		kernel_restart(NULL);
+
+}
+
 static void kunit_print_tap_header(void)
 {
 	struct kunit_suite * const * const *suites, * const *subsuite;
@@ -37,6 +55,8 @@ int kunit_run_all_tests(void)
 	     suites++)
 			__kunit_test_suites_init(*suites);
 
+	kunit_handle_shutdown();
+
 	return 0;
 }
 
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 63dbda2d029f6..d6a575f92317c 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -172,7 +172,7 @@ class LinuxSourceTree(object):
 		return self.validate_config(build_dir)
 
 	def run_kernel(self, args=[], build_dir='', timeout=None):
-		args.extend(['mem=1G'])
+		args.extend(['mem=1G', 'kunit_shutdown=halt'])
 		outfile = 'test.log'
 		self._ops.linux_bin(args, timeout, build_dir, outfile)
 		subprocess.call(['stty', 'sane'])
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py
index 6d6d94a0ee7db..a8998a5effaad 100644
--- a/tools/testing/kunit/kunit_parser.py
+++ b/tools/testing/kunit/kunit_parser.py
@@ -49,7 +49,7 @@ class TestStatus(Enum):
 
 kunit_start_re = re.compile(r'TAP version [0-9]+$')
 kunit_end_re = re.compile('(List of all partitions:|'
-			  'Kernel panic - not syncing: VFS:)')
+			  'Kernel panic - not syncing: VFS:|reboot: System halted)')
 
 def isolate_kunit_output(kernel_output):
 	started = False
-- 
2.27.0.212.ge8ba1cc988-goog


WARNING: multiple messages have this Message-ID (diff)
From: Brendan Higgins <brendanhiggins@google.com>
To: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com,  arnd@arndb.de,
	keescook@chromium.org, skhan@linuxfoundation.org,
	 alan.maguire@oracle.com, yzaikin@google.com,
	davidgow@google.com,  akpm@linux-foundation.org,
	rppt@linux.ibm.com, frowand.list@gmail.com,
	 catalin.marinas@arm.com, will@kernel.org, monstr@monstr.eu,
	 mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	 chris@zankel.net, jcmvbkbc@gmail.com
Cc: linux-arch@vger.kernel.org, linux-xtensa@linux-xtensa.org,
	linux-doc@vger.kernel.org, sboyd@kernel.org,
	gregkh@linuxfoundation.org, linuxppc-dev@lists.ozlabs.org,
	linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
	Brendan Higgins <brendanhiggins@google.com>,
	mcgrof@kernel.org, linux-kselftest@vger.kernel.org,
	logang@deltatee.com, linux-arm-kernel@lists.infradead.org,
	kunit-dev@googlegroups.com
Subject: [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option
Date: Fri, 26 Jun 2020 14:09:15 -0700	[thread overview]
Message-ID: <20200626210917.358969-11-brendanhiggins@google.com> (raw)
In-Reply-To: <20200626210917.358969-1-brendanhiggins@google.com>

From: David Gow <davidgow@google.com>

Add a new kernel command-line option, 'kunit_shutdown', which allows the
user to specify that the kernel poweroff, halt, or reboot after
completing all KUnit tests; this is very handy for running KUnit tests
on UML or a VM so that the UML/VM process exits cleanly immediately
after running all tests without needing a special initramfs.

Signed-off-by: David Gow <davidgow@google.com>
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
---
 lib/kunit/executor.c                | 20 ++++++++++++++++++++
 tools/testing/kunit/kunit_kernel.py |  2 +-
 tools/testing/kunit/kunit_parser.py |  2 +-
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c
index a95742a4ece73..38061d456afb2 100644
--- a/lib/kunit/executor.c
+++ b/lib/kunit/executor.c
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 
+#include <linux/reboot.h>
 #include <kunit/test.h>
 
 /*
@@ -11,6 +12,23 @@ extern struct kunit_suite * const * const __kunit_suites_end[];
 
 #if IS_BUILTIN(CONFIG_KUNIT)
 
+static char *kunit_shutdown;
+core_param(kunit_shutdown, kunit_shutdown, charp, 0644);
+
+static void kunit_handle_shutdown(void)
+{
+	if (!kunit_shutdown)
+		return;
+
+	if (!strcmp(kunit_shutdown, "poweroff"))
+		kernel_power_off();
+	else if (!strcmp(kunit_shutdown, "halt"))
+		kernel_halt();
+	else if (!strcmp(kunit_shutdown, "reboot"))
+		kernel_restart(NULL);
+
+}
+
 static void kunit_print_tap_header(void)
 {
 	struct kunit_suite * const * const *suites, * const *subsuite;
@@ -37,6 +55,8 @@ int kunit_run_all_tests(void)
 	     suites++)
 			__kunit_test_suites_init(*suites);
 
+	kunit_handle_shutdown();
+
 	return 0;
 }
 
diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 63dbda2d029f6..d6a575f92317c 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -172,7 +172,7 @@ class LinuxSourceTree(object):
 		return self.validate_config(build_dir)
 
 	def run_kernel(self, args=[], build_dir='', timeout=None):
-		args.extend(['mem=1G'])
+		args.extend(['mem=1G', 'kunit_shutdown=halt'])
 		outfile = 'test.log'
 		self._ops.linux_bin(args, timeout, build_dir, outfile)
 		subprocess.call(['stty', 'sane'])
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py
index 6d6d94a0ee7db..a8998a5effaad 100644
--- a/tools/testing/kunit/kunit_parser.py
+++ b/tools/testing/kunit/kunit_parser.py
@@ -49,7 +49,7 @@ class TestStatus(Enum):
 
 kunit_start_re = re.compile(r'TAP version [0-9]+$')
 kunit_end_re = re.compile('(List of all partitions:|'
-			  'Kernel panic - not syncing: VFS:)')
+			  'Kernel panic - not syncing: VFS:|reboot: System halted)')
 
 def isolate_kunit_output(kernel_output):
 	started = False
-- 
2.27.0.212.ge8ba1cc988-goog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-06-26 21:09 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26 21:09 [PATCH v5 00/12] kunit: create a centralized executor to dispatch all KUnit tests Brendan Higgins
2020-06-26 21:09 ` Brendan Higgins
2020-06-26 21:09 ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 01/12] vmlinux.lds.h: add linker section for KUnit test suites Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:20   ` Kees Cook
2020-06-26 21:20     ` Kees Cook
2020-06-26 21:20     ` Kees Cook
2020-06-26 21:22     ` Brendan Higgins
2020-06-26 21:22       ` Brendan Higgins
2020-06-26 21:22       ` Brendan Higgins
2020-06-26 21:22       ` Brendan Higgins
2020-06-26 21:22       ` Brendan Higgins
2020-07-08  4:31       ` Luis Chamberlain
2020-07-08  4:31         ` Luis Chamberlain
2020-07-08  4:31         ` Luis Chamberlain
2020-07-08  4:31         ` Luis Chamberlain
2020-07-08  4:31         ` Luis Chamberlain
2020-07-08  4:31         ` Luis Chamberlain
2020-08-04 20:03         ` Brendan Higgins
2020-08-04 20:03           ` Brendan Higgins
2020-08-04 20:03           ` Brendan Higgins
2020-08-04 20:03           ` Brendan Higgins
2020-08-04 20:03           ` Brendan Higgins
2020-08-04 20:03           ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 02/12] arch: arm64: " Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:20   ` Kees Cook
2020-06-26 21:20     ` Kees Cook
2020-06-26 21:20     ` Kees Cook
2020-06-26 21:23     ` Brendan Higgins
2020-06-26 21:23       ` Brendan Higgins
2020-06-26 21:23       ` Brendan Higgins
2020-06-26 21:23       ` Brendan Higgins
2020-06-26 21:23       ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 03/12] arch: microblaze: " Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 04/12] arch: powerpc: " Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 05/12] arch: um: " Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 06/12] arch: xtensa: " Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:30   ` Kees Cook
2020-06-26 21:30     ` Kees Cook
2020-06-26 21:30     ` Kees Cook
2020-06-26 21:09 ` [PATCH v5 07/12] kunit: test: create a single centralized executor for all tests Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:29   ` Kees Cook
2020-06-26 21:29     ` Kees Cook
2020-06-26 21:29     ` Kees Cook
2020-08-04 20:06     ` Brendan Higgins
2020-08-04 20:06       ` Brendan Higgins
2020-08-04 20:06       ` Brendan Higgins
2020-08-04 20:06       ` Brendan Higgins
2020-08-04 20:06       ` Brendan Higgins
2020-08-04 20:06       ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 08/12] init: main: add KUnit to kernel init Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:33   ` Kees Cook
2020-06-26 21:33     ` Kees Cook
2020-06-26 21:33     ` Kees Cook
2020-07-08  4:38   ` Luis Chamberlain
2020-07-08  4:38     ` Luis Chamberlain
2020-07-08  4:38     ` Luis Chamberlain
2020-07-08  4:38     ` Luis Chamberlain
2020-06-26 21:09 ` [PATCH v5 09/12] kunit: test: add test plan to KUnit TAP format Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:35   ` Kees Cook
2020-06-26 21:35     ` Kees Cook
2020-06-26 21:35     ` Kees Cook
2020-08-04 20:10     ` Brendan Higgins
2020-08-04 20:10       ` Brendan Higgins
2020-08-04 20:10       ` Brendan Higgins
2020-08-04 20:10       ` Brendan Higgins
2020-08-04 20:10       ` Brendan Higgins
2020-08-04 20:10       ` Brendan Higgins
2020-06-26 21:09 ` Brendan Higgins [this message]
2020-06-26 21:09   ` [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:40   ` Kees Cook
2020-06-26 21:40     ` Kees Cook
2020-06-26 21:40     ` Kees Cook
2020-08-04 20:18     ` Brendan Higgins
2020-08-04 20:18       ` Brendan Higgins
2020-08-04 20:18       ` Brendan Higgins
2020-08-04 20:18       ` Brendan Higgins
2020-08-04 20:18       ` Brendan Higgins
2020-08-04 20:18       ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 11/12] Documentation: Add kunit_shutdown to kernel-parameters.txt Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 12/12] Documentation: kunit: add a brief blurb about kunit_test_suite Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:09   ` Brendan Higgins
2020-06-26 21:52 ` [PATCH v5 00/12] kunit: create a centralized executor to dispatch all KUnit tests Kees Cook
2020-06-26 21:52   ` Kees Cook
2020-06-26 21:52   ` Kees Cook
2020-08-04 20:01   ` Brendan Higgins
2020-08-04 20:01     ` Brendan Higgins
2020-08-04 20:01     ` Brendan Higgins
2020-08-04 20:01     ` Brendan Higgins
2020-08-04 20:01     ` Brendan Higgins
2020-08-04 20:01     ` Brendan Higgins

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=20200626210917.358969-11-brendanhiggins@google.com \
    --to=brendanhiggins@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan.maguire@oracle.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=chris@zankel.net \
    --cc=davidgow@google.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jcmvbkbc@gmail.com \
    --cc=jdike@addtoit.com \
    --cc=keescook@chromium.org \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=logang@deltatee.com \
    --cc=mcgrof@kernel.org \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=richard@nod.at \
    --cc=rppt@linux.ibm.com \
    --cc=sboyd@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=will@kernel.org \
    --cc=yzaikin@google.com \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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.