public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: akpm@linux-foundation.org, linux-kernel@vger.kernel.org
Cc: Adrian Bunk <bunk@stusta.de>, Andi Kleen <andi@firstfloor.org>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	Christoph Hellwig <hch@infradead.org>
Subject: Re: [patch 4/8] Immediate Value - Add kconfig menus
Date: Sun, 15 Jul 2007 20:32:34 -0400	[thread overview]
Message-ID: <20070716003234.GA26411@Krystal> (raw)
In-Reply-To: <20070714012623.839969254@polymtl.ca>

Should be dropped,
replaced by :
immediate-values-kconfig-embedded.patch

* Mathieu Desnoyers (mathieu.desnoyers@polymtl.ca) wrote:
> Immediate values provide a way to use dynamic code patching to update variables
> sitting within the instruction stream. It saves caches lines normally used by
> static read mostly variables.
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> CC: Adrian Bunk <bunk@stusta.de>
> CC: Andi Kleen <andi@firstfloor.org>
> ---
> 
>  arch/alpha/Kconfig       |    6 ++++++
>  arch/arm/Kconfig         |    6 ++++++
>  arch/arm26/Kconfig       |    6 ++++++
>  arch/avr32/Kconfig.debug |    7 +++++++
>  arch/cris/Kconfig        |    6 ++++++
>  arch/frv/Kconfig         |    6 ++++++
>  arch/h8300/Kconfig       |    6 ++++++
>  arch/i386/Kconfig        |    2 ++
>  arch/ia64/Kconfig        |    3 +++
>  arch/m32r/Kconfig        |    6 ++++++
>  arch/m68k/Kconfig        |    6 ++++++
>  arch/m68knommu/Kconfig   |    6 ++++++
>  arch/mips/Kconfig        |    6 ++++++
>  arch/parisc/Kconfig      |    6 ++++++
>  arch/powerpc/Kconfig     |    3 +++
>  arch/ppc/Kconfig         |    6 ++++++
>  arch/s390/Kconfig        |    2 ++
>  arch/sh/Kconfig          |    6 ++++++
>  arch/sh64/Kconfig        |    6 ++++++
>  arch/sparc/Kconfig       |    2 ++
>  arch/sparc64/Kconfig     |    3 +++
>  arch/um/Kconfig          |    6 ++++++
>  arch/v850/Kconfig        |    6 ++++++
>  arch/x86_64/Kconfig      |    3 +++
>  arch/xtensa/Kconfig      |    6 ++++++
>  kernel/Kconfig.immediate |   11 +++++++++++
>  26 files changed, 138 insertions(+)
> 
> Index: linux-2.6-lttng/arch/alpha/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/alpha/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/alpha/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -653,6 +653,12 @@
>  
>  source "arch/alpha/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/alpha/Kconfig.debug"
>  
>  # DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
> Index: linux-2.6-lttng/arch/arm/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/arm/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/arm/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -1046,6 +1046,12 @@
>  
>  source "arch/arm/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/arm/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/arm26/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/arm26/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/arm26/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -244,6 +244,12 @@
>  
>  source "drivers/usb/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/arm26/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/cris/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/cris/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/cris/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -198,6 +198,12 @@
>  
>  source "drivers/usb/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/cris/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/frv/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/frv/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/frv/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -375,6 +375,12 @@
>  
>  source "fs/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/frv/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/h8300/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/h8300/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/h8300/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -223,6 +223,12 @@
>  
>  source "fs/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/h8300/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/i386/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/i386/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/i386/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -1249,6 +1249,8 @@
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
>  
> +source "kernel/Kconfig.immediate"
> +
>  endif # INSTRUMENTATION
>  
>  source "arch/i386/Kconfig.debug"
> Index: linux-2.6-lttng/arch/ia64/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/ia64/Kconfig	2007-07-13 14:17:59.000000000 -0400
> +++ linux-2.6-lttng/arch/ia64/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -593,6 +593,9 @@
>  	  a probepoint and specifies the callback.  Kprobes is useful
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
> +
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/ia64/Kconfig.debug"
> Index: linux-2.6-lttng/arch/m32r/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/m32r/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/m32r/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -408,6 +408,12 @@
>  
>  source "arch/m32r/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/m32r/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/m68k/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/m68k/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/m68k/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -676,6 +676,12 @@
>  
>  source "fs/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/m68k/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/m68knommu/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/m68knommu/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/m68knommu/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -668,6 +668,12 @@
>  
>  source "fs/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/m68knommu/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/mips/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/mips/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -1946,6 +1946,12 @@
>  
>  source "arch/mips/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/mips/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/parisc/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/parisc/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/parisc/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -269,6 +269,12 @@
>  
>  source "arch/parisc/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/parisc/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/powerpc/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/powerpc/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/powerpc/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -655,6 +655,9 @@
>  	  a probepoint and specifies the callback.  Kprobes is useful
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
> +
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/powerpc/Kconfig.debug"
> Index: linux-2.6-lttng/arch/ppc/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/ppc/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/ppc/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -1451,8 +1451,14 @@
>  
>  source "lib/Kconfig"
>  
> +menu "Instrumentation Support"
> +
>  source "arch/powerpc/oprofile/Kconfig"
>  
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/ppc/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/s390/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/s390/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/s390/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -547,6 +547,8 @@
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
>  
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/s390/Kconfig.debug"
> Index: linux-2.6-lttng/arch/sh/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/sh/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/sh/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -721,6 +721,12 @@
>  
>  source "arch/sh/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/sh/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/sh64/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/sh64/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/sh64/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -284,6 +284,12 @@
>  
>  source "arch/sh64/oprofile/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/sh64/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/sparc/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/sparc/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/sparc/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -313,6 +313,8 @@
>  
>  source "arch/sparc/oprofile/Kconfig"
>  
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/sparc/Kconfig.debug"
> Index: linux-2.6-lttng/arch/sparc64/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/sparc64/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/sparc64/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -451,6 +451,9 @@
>  	  a probepoint and specifies the callback.  Kprobes is useful
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
> +
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/sparc64/Kconfig.debug"
> Index: linux-2.6-lttng/arch/um/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/um/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/um/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -335,4 +335,10 @@
>  	bool
>  	default n
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/um/Kconfig.debug"
> Index: linux-2.6-lttng/arch/v850/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/v850/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/v850/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -331,6 +331,12 @@
>  
>  source "drivers/usb/Kconfig"
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/v850/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/arch/x86_64/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/x86_64/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/x86_64/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -842,6 +842,9 @@
>  	  a probepoint and specifies the callback.  Kprobes is useful
>  	  for kernel debugging, non-intrusive instrumentation and testing.
>  	  If in doubt, say "N".
> +
> +source "kernel/Kconfig.immediate"
> +
>  endmenu
>  
>  source "arch/x86_64/Kconfig.debug"
> Index: linux-2.6-lttng/arch/xtensa/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/xtensa/Kconfig	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/xtensa/Kconfig	2007-07-13 14:33:51.000000000 -0400
> @@ -251,6 +251,12 @@
>  	  provide one yourself.
>  endmenu
>  
> +menu "Instrumentation Support"
> +
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  source "arch/xtensa/Kconfig.debug"
>  
>  source "security/Kconfig"
> Index: linux-2.6-lttng/kernel/Kconfig.immediate
> ===================================================================
> --- /dev/null	1970-01-01 00:00:00.000000000 +0000
> +++ linux-2.6-lttng/kernel/Kconfig.immediate	2007-07-13 14:33:47.000000000 -0400
> @@ -0,0 +1,11 @@
> +# Immediate values configuration
> +
> +config IMMEDIATE
> +	bool "Enable immediate values"
> +	depends on X86_32 || PPC
> +	default y if !EMBEDDED
> +	help
> +	  Immediate values are used as read mostly variables that are rarely
> +	  updated. They use code patching to modify the values inscribed in the
> +	  instruction stream. It provides a way to save precious cache lines
> +	  that would otherwise have to be used by these variables.
> Index: linux-2.6-lttng/arch/avr32/Kconfig.debug
> ===================================================================
> --- linux-2.6-lttng.orig/arch/avr32/Kconfig.debug	2007-07-13 14:18:00.000000000 -0400
> +++ linux-2.6-lttng/arch/avr32/Kconfig.debug	2007-07-13 14:33:51.000000000 -0400
> @@ -6,6 +6,9 @@
>  
>  source "lib/Kconfig.debug"
>  
> +menu "Instrumentation Support"
> +	depends on EXPERIMENTAL
> +
>  config KPROBES
>  	bool "Kprobes"
>  	depends on DEBUG_KERNEL
> @@ -16,4 +19,8 @@
>            for kernel debugging, non-intrusive instrumentation and testing.
>            If in doubt, say "N".
>  
> +source "kernel/Kconfig.immediate"
> +
> +endmenu
> +
>  endmenu
> 
> -- 
> Mathieu Desnoyers
> Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
> OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 

-- 
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  parent reply	other threads:[~2007-07-16  0:32 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-14  1:24 [patch 0/8] Immediates Values (real variables) Mathieu Desnoyers
2007-07-14  1:24 ` [patch 1/8] Immediate values - Global modules list and module mutex Mathieu Desnoyers
2007-07-14  1:24 ` [patch 2/8] Immediate Value - Architecture Independent Code Mathieu Desnoyers
2007-07-14 16:24   ` Christoph Hellwig
2007-07-14 22:59   ` [PATCH] Immediate Values - Architecture Independent Code - Fixes following HCH comments Mathieu Desnoyers
2007-07-15  1:36     ` [PATCH] Immediate Values - Architecture Independent Code - kerneldoc Mathieu Desnoyers
2007-07-15 23:40       ` [PATCH] Immediate Values - Architecture Independent Code - kerneldoc for implementation Mathieu Desnoyers
2007-07-14 23:52   ` [PATCH] Immediate Value - Architecture Independent Code Deferred Sync Mathieu Desnoyers
2007-07-15  1:32     ` Mathieu Desnoyers
2007-07-14  1:24 ` [patch 3/8] Immediate Values - Non Optimized Architectures Mathieu Desnoyers
2007-07-14 23:01   ` Mathieu Desnoyers
2007-07-14  1:24 ` [patch 4/8] Immediate Value - Add kconfig menus Mathieu Desnoyers
2007-07-14  7:28   ` Alexey Dobriyan
2007-07-14 15:27     ` Mathieu Desnoyers
2007-07-16  0:33       ` Andi Kleen
2007-07-16  0:41         ` Mathieu Desnoyers
2007-07-16  0:32   ` Mathieu Desnoyers [this message]
2007-07-16  0:34   ` [PATCH] Immediate Value - Kconfig menu in EMBEDDED Mathieu Desnoyers
2007-07-14  1:24 ` [patch 5/8] Immediate Values - kprobe header fix Mathieu Desnoyers
2007-07-14 16:26   ` Christoph Hellwig
2007-07-14 23:01   ` Mathieu Desnoyers
2007-07-14 23:04   ` [PATCH] Immediate Values - Move Kprobes i386 restore_interrupt to kdebug.h Mathieu Desnoyers
2007-07-14  1:24 ` [patch 6/8] Immediate Value - i386 Optimization Mathieu Desnoyers
2007-07-14 23:08   ` [PATCH] Immediate Values - Pre Fix " Mathieu Desnoyers
2007-07-15  1:37   ` [PATCH] Immediate Values - i386 Optimization - kerneldoc Mathieu Desnoyers
2007-07-15 23:41     ` [PATCH] Immediate Values - i386 Optimization - kerneldoc for implementation Mathieu Desnoyers
2007-07-14  1:24 ` [patch 7/8] Immediate Value - PowerPC Optimization Mathieu Desnoyers
2007-07-14 23:09   ` [PATCH] Immediate Values - Pre fix powerpc Optimization Mathieu Desnoyers
2007-07-15  1:38   ` [PATCH] Immediate Values - PowerPC Optimization - kerneldoc Mathieu Desnoyers
2007-07-15 23:42     ` [PATCH] Immediate Values - PowerPC Optimization - kerneldoc for implementation Mathieu Desnoyers
2007-07-14  1:24 ` [patch 8/8] Immediate Value - Documentation Mathieu Desnoyers

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=20070716003234.GA26411@Krystal \
    --to=mathieu.desnoyers@polymtl.ca \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=bunk@stusta.de \
    --cc=hch@infradead.org \
    --cc=linux-kernel@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