All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kok, Auke" <auke-jan.h.kok-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Linus Torvalds
	<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Jeff Kirsher
	<jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Jeff Garzik <jeff-o2qLIJkoznsdnm+yROfE0A@public.gmane.org>,
	Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>,
	"Alan D. Brunelle" <Alan.Brunelle-VXdhtT5mjnY@public.gmane.org>,
	"Rafael J. Wysocki" <rjw-KKrjLPT3xs0@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Kernel Testers List
	<kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	Arjan van de Ven <arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
Subject: Re: e1000 horridness (was Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected)
Date: Tue, 26 Aug 2008 13:14:18 -0700	[thread overview]
Message-ID: <48B4641A.1020806@intel.com> (raw)
In-Reply-To: <alpine.LFD.1.10.0808261257210.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>

Linus Torvalds wrote:
> 
> On Tue, 26 Aug 2008, Jeff Garzik wrote:
>> e1000_check_options builds a struct (singular) on the stack, really... struct
>> e1000_option is reasonably small.
> 
> No it doesn't.
> 
> Look a bit more closely.
> 
> It builds a struct (singular) MANY MANY times. It also then builds up a 
> huge e1000_opt_list[] array, even though it is const and should be static 
> (and const).
> 
> I know. I wrote a patch to FIX it.

totally cool patch afaics - if I still maintained this driver I'd have this tested
and merged right away :)

I suppose Jeff Kirsher is already doing so right now.

I suppose that he'll have to look at the other Intel ethernet drivers as well :)

Jeff, please add my:

Reveiewed-by: Auke Kok <auke-jan.h.kok-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Cheers,

Auke

> 
> Here's the patch. It shrinks the stack from 1152 bytes to 192 bytes (the 
> first version, that only did the e1000_option part, got it down to 600 
> bytes). About half comes from not using multiple "e1000_option" 
> structures, the other half comes from turning the "e1000_opt_list[]" 
> arrays into "static const" instead, so that gcc doesn't copy them onto the 
> stack.
> 
> Most of the patch is actually doing things like turning
> 
> 	struct struct e1000_option opt = {
> 
> (which declares a _new_ e1000_option variable each time) into
> 
> 	opt = (struct e1000_option) {
> 
> which just re-uses the single variable.
> 
> It becomes slightly larger than that, because some places the "opt = .." 
> had to be moved around, since it's no longer a variable declaration, but a 
> regular assignment.
> 
> The rest is just adding "const" to the right places, and turning
> 
> 	struct e1000_opt_list speed_list[] = ..
> 
> into
> 
> 	static const struct e1000_opt_list speed_list[] = ..
> 
> instead, and fixing the indentation to be more straightforward.
> 
> I have not tested the dang thing, but I think it's correct. And it turns 
> stack usage from "totally horrible and broken" into "pretty reasonable".
> 
> 		Linus
> 
> ---
>  drivers/net/e1000/e1000_param.c |   81 +++++++++++++++++++++-----------------
>  1 files changed, 45 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
> index b9f90a5..213437d 100644
> --- a/drivers/net/e1000/e1000_param.c
> +++ b/drivers/net/e1000/e1000_param.c
> @@ -208,7 +208,7 @@ struct e1000_option {
>  		} r;
>  		struct { /* list_option info */
>  			int nr;
> -			struct e1000_opt_list { int i; char *str; } *p;
> +			const struct e1000_opt_list { int i; char *str; } *p;
>  		} l;
>  	} arg;
>  };
> @@ -242,7 +242,7 @@ static int __devinit e1000_validate_option(unsigned int *value,
>  		break;
>  	case list_option: {
>  		int i;
> -		struct e1000_opt_list *ent;
> +		const struct e1000_opt_list *ent;
>  
>  		for (i = 0; i < opt->arg.l.nr; i++) {
>  			ent = &opt->arg.l.p[i];
> @@ -279,7 +279,9 @@ static void e1000_check_copper_options(struct e1000_adapter *adapter);
>  
>  void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  {
> +	struct e1000_option opt;
>  	int bd = adapter->bd_number;
> +
>  	if (bd >= E1000_MAX_NIC) {
>  		DPRINTK(PROBE, NOTICE,
>  		       "Warning: no configuration for board #%i\n", bd);
> @@ -287,19 +289,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  	}
>  
>  	{ /* Transmit Descriptor Count */
> -		struct e1000_option opt = {
> +		struct e1000_tx_ring *tx_ring = adapter->tx_ring;
> +		int i;
> +		e1000_mac_type mac_type = adapter->hw.mac_type;
> +
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Descriptors",
>  			.err  = "using default of "
>  				__MODULE_STRING(E1000_DEFAULT_TXD),
>  			.def  = E1000_DEFAULT_TXD,
> -			.arg  = { .r = { .min = E1000_MIN_TXD }}
> +			.arg  = { .r = {
> +				.min = E1000_MIN_TXD,
> +				.max = mac_type < e1000_82544 ? E1000_MAX_TXD : E1000_MAX_82544_TXD
> +				}}
>  		};
> -		struct e1000_tx_ring *tx_ring = adapter->tx_ring;
> -		int i;
> -		e1000_mac_type mac_type = adapter->hw.mac_type;
> -		opt.arg.r.max = mac_type < e1000_82544 ?
> -			E1000_MAX_TXD : E1000_MAX_82544_TXD;
>  
>  		if (num_TxDescriptors > bd) {
>  			tx_ring->count = TxDescriptors[bd];
> @@ -313,19 +317,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			tx_ring[i].count = tx_ring->count;
>  	}
>  	{ /* Receive Descriptor Count */
> -		struct e1000_option opt = {
> +		struct e1000_rx_ring *rx_ring = adapter->rx_ring;
> +		int i;
> +		e1000_mac_type mac_type = adapter->hw.mac_type;
> +
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Descriptors",
>  			.err  = "using default of "
>  				__MODULE_STRING(E1000_DEFAULT_RXD),
>  			.def  = E1000_DEFAULT_RXD,
> -			.arg  = { .r = { .min = E1000_MIN_RXD }}
> +			.arg  = { .r = {
> +				.min = E1000_MIN_RXD,
> +				.max = mac_type < e1000_82544 ? E1000_MAX_RXD : E1000_MAX_82544_RXD
> +			}}
>  		};
> -		struct e1000_rx_ring *rx_ring = adapter->rx_ring;
> -		int i;
> -		e1000_mac_type mac_type = adapter->hw.mac_type;
> -		opt.arg.r.max = mac_type < e1000_82544 ? E1000_MAX_RXD :
> -			E1000_MAX_82544_RXD;
>  
>  		if (num_RxDescriptors > bd) {
>  			rx_ring->count = RxDescriptors[bd];
> @@ -339,7 +345,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			rx_ring[i].count = rx_ring->count;
>  	}
>  	{ /* Checksum Offload Enable/Disable */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "Checksum Offload",
>  			.err  = "defaulting to Enabled",
> @@ -363,7 +369,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			 { E1000_FC_FULL,    "Flow Control Enabled" },
>  			 { E1000_FC_DEFAULT, "Flow Control Hardware Default" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Flow Control",
>  			.err  = "reading default settings from EEPROM",
> @@ -381,7 +387,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Transmit Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_TIDV),
> @@ -399,7 +405,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Transmit Absolute Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Absolute Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_TADV),
> @@ -417,7 +423,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Receive Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_RDTR),
> @@ -435,7 +441,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Receive Absolute Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Absolute Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_RADV),
> @@ -453,7 +459,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Interrupt Throttling Rate */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Interrupt Throttling Rate (ints/sec)",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_ITR),
> @@ -497,7 +503,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Smart Power Down */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "PHY Smart Power Down",
>  			.err  = "defaulting to Disabled",
> @@ -513,7 +519,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Kumeran Lock Loss Workaround */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "Kumeran Lock Loss Workaround",
>  			.err  = "defaulting to Enabled",
> @@ -578,16 +584,18 @@ static void __devinit e1000_check_fiber_options(struct e1000_adapter *adapter)
>  
>  static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  {
> +	struct e1000_option opt;
>  	unsigned int speed, dplx, an;
>  	int bd = adapter->bd_number;
>  
>  	{ /* Speed */
> -		struct e1000_opt_list speed_list[] = {{          0, "" },
> -						      {   SPEED_10, "" },
> -						      {  SPEED_100, "" },
> -						      { SPEED_1000, "" }};
> +		static const struct e1000_opt_list speed_list[] = {
> +			{          0, "" },
> +			{   SPEED_10, "" },
> +			{  SPEED_100, "" },
> +			{ SPEED_1000, "" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Speed",
>  			.err  = "parameter ignored",
> @@ -604,11 +612,12 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Duplex */
> -		struct e1000_opt_list dplx_list[] = {{           0, "" },
> -						     { HALF_DUPLEX, "" },
> -						     { FULL_DUPLEX, "" }};
> +		static const struct e1000_opt_list dplx_list[] = {
> +			{           0, "" },
> +			{ HALF_DUPLEX, "" },
> +			{ FULL_DUPLEX, "" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Duplex",
>  			.err  = "parameter ignored",
> @@ -637,7 +646,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  		       "parameter ignored\n");
>  		adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT;
>  	} else { /* Autoneg */
> -		struct e1000_opt_list an_list[] =
> +		static const struct e1000_opt_list an_list[] =
>  			#define AA "AutoNeg advertising "
>  			{{ 0x01, AA "10/HD" },
>  			 { 0x02, AA "10/FD" },
> @@ -671,7 +680,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  			 { 0x2e, AA "1000/FD, 100/FD, 100/HD, 10/FD" },
>  			 { 0x2f, AA "1000/FD, 100/FD, 100/HD, 10/FD, 10/HD" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "AutoNeg",
>  			.err  = "parameter ignored",

WARNING: multiple messages have this Message-ID (diff)
From: "Kok, Auke" <auke-jan.h.kok@intel.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
	Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jeff Garzik <jeff@garzik.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	"Alan D. Brunelle" <Alan.Brunelle@hp.com>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Kernel Testers List <kernel-testers@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Ingo Molnar <mingo@elte.hu>
Subject: Re: e1000 horridness (was Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected)
Date: Tue, 26 Aug 2008 13:14:18 -0700	[thread overview]
Message-ID: <48B4641A.1020806@intel.com> (raw)
In-Reply-To: <alpine.LFD.1.10.0808261257210.3363@nehalem.linux-foundation.org>

Linus Torvalds wrote:
> 
> On Tue, 26 Aug 2008, Jeff Garzik wrote:
>> e1000_check_options builds a struct (singular) on the stack, really... struct
>> e1000_option is reasonably small.
> 
> No it doesn't.
> 
> Look a bit more closely.
> 
> It builds a struct (singular) MANY MANY times. It also then builds up a 
> huge e1000_opt_list[] array, even though it is const and should be static 
> (and const).
> 
> I know. I wrote a patch to FIX it.

totally cool patch afaics - if I still maintained this driver I'd have this tested
and merged right away :)

I suppose Jeff Kirsher is already doing so right now.

I suppose that he'll have to look at the other Intel ethernet drivers as well :)

Jeff, please add my:

Reveiewed-by: Auke Kok <auke-jan.h.kok@intel.com>

Cheers,

Auke

> 
> Here's the patch. It shrinks the stack from 1152 bytes to 192 bytes (the 
> first version, that only did the e1000_option part, got it down to 600 
> bytes). About half comes from not using multiple "e1000_option" 
> structures, the other half comes from turning the "e1000_opt_list[]" 
> arrays into "static const" instead, so that gcc doesn't copy them onto the 
> stack.
> 
> Most of the patch is actually doing things like turning
> 
> 	struct struct e1000_option opt = {
> 
> (which declares a _new_ e1000_option variable each time) into
> 
> 	opt = (struct e1000_option) {
> 
> which just re-uses the single variable.
> 
> It becomes slightly larger than that, because some places the "opt = .." 
> had to be moved around, since it's no longer a variable declaration, but a 
> regular assignment.
> 
> The rest is just adding "const" to the right places, and turning
> 
> 	struct e1000_opt_list speed_list[] = ..
> 
> into
> 
> 	static const struct e1000_opt_list speed_list[] = ..
> 
> instead, and fixing the indentation to be more straightforward.
> 
> I have not tested the dang thing, but I think it's correct. And it turns 
> stack usage from "totally horrible and broken" into "pretty reasonable".
> 
> 		Linus
> 
> ---
>  drivers/net/e1000/e1000_param.c |   81 +++++++++++++++++++++-----------------
>  1 files changed, 45 insertions(+), 36 deletions(-)
> 
> diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
> index b9f90a5..213437d 100644
> --- a/drivers/net/e1000/e1000_param.c
> +++ b/drivers/net/e1000/e1000_param.c
> @@ -208,7 +208,7 @@ struct e1000_option {
>  		} r;
>  		struct { /* list_option info */
>  			int nr;
> -			struct e1000_opt_list { int i; char *str; } *p;
> +			const struct e1000_opt_list { int i; char *str; } *p;
>  		} l;
>  	} arg;
>  };
> @@ -242,7 +242,7 @@ static int __devinit e1000_validate_option(unsigned int *value,
>  		break;
>  	case list_option: {
>  		int i;
> -		struct e1000_opt_list *ent;
> +		const struct e1000_opt_list *ent;
>  
>  		for (i = 0; i < opt->arg.l.nr; i++) {
>  			ent = &opt->arg.l.p[i];
> @@ -279,7 +279,9 @@ static void e1000_check_copper_options(struct e1000_adapter *adapter);
>  
>  void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  {
> +	struct e1000_option opt;
>  	int bd = adapter->bd_number;
> +
>  	if (bd >= E1000_MAX_NIC) {
>  		DPRINTK(PROBE, NOTICE,
>  		       "Warning: no configuration for board #%i\n", bd);
> @@ -287,19 +289,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  	}
>  
>  	{ /* Transmit Descriptor Count */
> -		struct e1000_option opt = {
> +		struct e1000_tx_ring *tx_ring = adapter->tx_ring;
> +		int i;
> +		e1000_mac_type mac_type = adapter->hw.mac_type;
> +
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Descriptors",
>  			.err  = "using default of "
>  				__MODULE_STRING(E1000_DEFAULT_TXD),
>  			.def  = E1000_DEFAULT_TXD,
> -			.arg  = { .r = { .min = E1000_MIN_TXD }}
> +			.arg  = { .r = {
> +				.min = E1000_MIN_TXD,
> +				.max = mac_type < e1000_82544 ? E1000_MAX_TXD : E1000_MAX_82544_TXD
> +				}}
>  		};
> -		struct e1000_tx_ring *tx_ring = adapter->tx_ring;
> -		int i;
> -		e1000_mac_type mac_type = adapter->hw.mac_type;
> -		opt.arg.r.max = mac_type < e1000_82544 ?
> -			E1000_MAX_TXD : E1000_MAX_82544_TXD;
>  
>  		if (num_TxDescriptors > bd) {
>  			tx_ring->count = TxDescriptors[bd];
> @@ -313,19 +317,21 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			tx_ring[i].count = tx_ring->count;
>  	}
>  	{ /* Receive Descriptor Count */
> -		struct e1000_option opt = {
> +		struct e1000_rx_ring *rx_ring = adapter->rx_ring;
> +		int i;
> +		e1000_mac_type mac_type = adapter->hw.mac_type;
> +
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Descriptors",
>  			.err  = "using default of "
>  				__MODULE_STRING(E1000_DEFAULT_RXD),
>  			.def  = E1000_DEFAULT_RXD,
> -			.arg  = { .r = { .min = E1000_MIN_RXD }}
> +			.arg  = { .r = {
> +				.min = E1000_MIN_RXD,
> +				.max = mac_type < e1000_82544 ? E1000_MAX_RXD : E1000_MAX_82544_RXD
> +			}}
>  		};
> -		struct e1000_rx_ring *rx_ring = adapter->rx_ring;
> -		int i;
> -		e1000_mac_type mac_type = adapter->hw.mac_type;
> -		opt.arg.r.max = mac_type < e1000_82544 ? E1000_MAX_RXD :
> -			E1000_MAX_82544_RXD;
>  
>  		if (num_RxDescriptors > bd) {
>  			rx_ring->count = RxDescriptors[bd];
> @@ -339,7 +345,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			rx_ring[i].count = rx_ring->count;
>  	}
>  	{ /* Checksum Offload Enable/Disable */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "Checksum Offload",
>  			.err  = "defaulting to Enabled",
> @@ -363,7 +369,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  			 { E1000_FC_FULL,    "Flow Control Enabled" },
>  			 { E1000_FC_DEFAULT, "Flow Control Hardware Default" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Flow Control",
>  			.err  = "reading default settings from EEPROM",
> @@ -381,7 +387,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Transmit Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_TIDV),
> @@ -399,7 +405,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Transmit Absolute Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Transmit Absolute Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_TADV),
> @@ -417,7 +423,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Receive Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_RDTR),
> @@ -435,7 +441,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Receive Absolute Interrupt Delay */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Receive Absolute Interrupt Delay",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_RADV),
> @@ -453,7 +459,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Interrupt Throttling Rate */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = range_option,
>  			.name = "Interrupt Throttling Rate (ints/sec)",
>  			.err  = "using default of " __MODULE_STRING(DEFAULT_ITR),
> @@ -497,7 +503,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Smart Power Down */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "PHY Smart Power Down",
>  			.err  = "defaulting to Disabled",
> @@ -513,7 +519,7 @@ void __devinit e1000_check_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Kumeran Lock Loss Workaround */
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = enable_option,
>  			.name = "Kumeran Lock Loss Workaround",
>  			.err  = "defaulting to Enabled",
> @@ -578,16 +584,18 @@ static void __devinit e1000_check_fiber_options(struct e1000_adapter *adapter)
>  
>  static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  {
> +	struct e1000_option opt;
>  	unsigned int speed, dplx, an;
>  	int bd = adapter->bd_number;
>  
>  	{ /* Speed */
> -		struct e1000_opt_list speed_list[] = {{          0, "" },
> -						      {   SPEED_10, "" },
> -						      {  SPEED_100, "" },
> -						      { SPEED_1000, "" }};
> +		static const struct e1000_opt_list speed_list[] = {
> +			{          0, "" },
> +			{   SPEED_10, "" },
> +			{  SPEED_100, "" },
> +			{ SPEED_1000, "" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Speed",
>  			.err  = "parameter ignored",
> @@ -604,11 +612,12 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  		}
>  	}
>  	{ /* Duplex */
> -		struct e1000_opt_list dplx_list[] = {{           0, "" },
> -						     { HALF_DUPLEX, "" },
> -						     { FULL_DUPLEX, "" }};
> +		static const struct e1000_opt_list dplx_list[] = {
> +			{           0, "" },
> +			{ HALF_DUPLEX, "" },
> +			{ FULL_DUPLEX, "" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "Duplex",
>  			.err  = "parameter ignored",
> @@ -637,7 +646,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  		       "parameter ignored\n");
>  		adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT;
>  	} else { /* Autoneg */
> -		struct e1000_opt_list an_list[] =
> +		static const struct e1000_opt_list an_list[] =
>  			#define AA "AutoNeg advertising "
>  			{{ 0x01, AA "10/HD" },
>  			 { 0x02, AA "10/FD" },
> @@ -671,7 +680,7 @@ static void __devinit e1000_check_copper_options(struct e1000_adapter *adapter)
>  			 { 0x2e, AA "1000/FD, 100/FD, 100/HD, 10/FD" },
>  			 { 0x2f, AA "1000/FD, 100/FD, 100/HD, 10/FD, 10/HD" }};
>  
> -		struct e1000_option opt = {
> +		opt = (struct e1000_option) {
>  			.type = list_option,
>  			.name = "AutoNeg",
>  			.err  = "parameter ignored",


  parent reply	other threads:[~2008-08-26 20:14 UTC|newest]

Thread overview: 412+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-23 18:07 2.6.27-rc4-git1: Reported regressions from 2.6.26 Rafael J. Wysocki
2008-08-23 18:07 ` Rafael J. Wysocki
2008-08-23 18:07 ` [Bug #11141] no battery or DC status - Dell i1501 Rafael J. Wysocki
2008-08-23 18:07   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11207] VolanoMark regression with 2.6.27-rc1 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11191] 2.6.26-git8: spinlock lockup in c1e_idle() Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11209] 2.6.27-rc1 process time accounting Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11220] Screen stays black after resume Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11210] libata badness Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 22:23   ` Jeff Garzik
2008-08-23 22:23     ` Jeff Garzik
     [not found]     ` <48B08DD8.8010906-o2qLIJkoznsdnm+yROfE0A@public.gmane.org>
2008-08-24 21:04       ` Rafael J. Wysocki
2008-08-24 21:04         ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11219] KVM modules break emergency reboot Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11215] INFO: possible recursive locking detected ps2_command Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11224] Only three cores found on quad-core machine Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11230] Kconfig no longer outputs a .config with freshly updated defconfigs Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11237] corrupt PMD after resume Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11271] BUG: fealnx in 2.6.27-rc1 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 22:26   ` Jeff Garzik
2008-08-23 22:26     ` Jeff Garzik
2008-08-23 18:10 ` [Bug #11254] KVM: fix userspace ABI breakage Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24 19:27   ` Adrian Bunk
2008-08-24 19:27     ` Adrian Bunk
     [not found]     ` <20080824192714.GC1627-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-25 10:23       ` Avi Kivity
2008-08-25 10:23         ` Avi Kivity
2008-08-23 18:10 ` [Bug #11264] Invalid op opcode in kernel/workqueue Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11272] BUG: parport_serial in 2.6.27-rc1 for NetMos Technology PCI 9835 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11279] 2.6.27-rc0 Power Bugs with HP/Compaq Laptops Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11276] build error: CONFIG_OPTIMIZE_INLINING=y causes gcc 4.2 to do stupid things Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11282] Please fix x86 defconfig regression Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11335] 2.6.27-rc2-git5 BUG: unable to handle kernel paging request Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11334] myri10ge: use ioremap_wc: compilation failure on ARM Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24 12:26   ` Martin Michlmayr
2008-08-24 12:26     ` Martin Michlmayr
     [not found]     ` <20080824122643.GG8772-u+sgIaa8TU6A7rR/f+Zz5kHK5LHFu9C3@public.gmane.org>
2008-08-24 21:05       ` Rafael J. Wysocki
2008-08-24 21:05         ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11308] tbench regression on each kernel release from 2.6.22 -&gt; 2.6.28 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11336] 2.6.27-rc2:stall while mounting root fs Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11340] LTP overnight run resulted in unusable box Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 20:10   ` Linus Torvalds
2008-08-23 20:10     ` Linus Torvalds
     [not found]     ` <alpine.LFD.1.10.0808231257310.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-23 20:15       ` Arjan van de Ven
2008-08-23 20:15         ` Arjan van de Ven
     [not found]         ` <48B06FE6.8060404-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2008-08-25 12:07           ` Alan D. Brunelle
2008-08-25 12:07             ` Alan D. Brunelle
2008-08-23 20:17       ` Linus Torvalds
2008-08-23 20:17         ` Linus Torvalds
     [not found]         ` <alpine.LFD.1.10.0808231313170.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 12:03           ` Alan D. Brunelle
2008-08-25 12:03             ` Alan D. Brunelle
     [not found]             ` <48B29F7B.6080405-VXdhtT5mjnY@public.gmane.org>
2008-08-25 12:22               ` Alan D. Brunelle
2008-08-25 12:22                 ` Alan D. Brunelle
     [not found]                 ` <48B2A421.7080705-VXdhtT5mjnY@public.gmane.org>
2008-08-25 18:00                   ` Linus Torvalds
2008-08-25 18:00                     ` Linus Torvalds
     [not found]                     ` <alpine.LFD.1.10.0808251019380.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 18:09                       ` Linus Torvalds
2008-08-25 18:09                         ` Linus Torvalds
     [not found]                         ` <alpine.LFD.1.10.0808251106270.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 20:19                           ` Alan D. Brunelle
2008-08-25 20:19                             ` Alan D. Brunelle
     [not found]                             ` <48B313E0.1000501-VXdhtT5mjnY@public.gmane.org>
2008-08-25 20:43                               ` Linus Torvalds
2008-08-25 20:43                                 ` Linus Torvalds
     [not found]                                 ` <alpine.LFD.1.10.0808251326500.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 20:45                                   ` Arjan van de Ven
2008-08-25 20:45                                     ` Arjan van de Ven
2008-08-25 20:52                                   ` Linus Torvalds
2008-08-25 20:52                                     ` Linus Torvalds
     [not found]                                     ` <alpine.LFD.1.10.0808251344250.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 21:15                                       ` Linus Torvalds
2008-08-25 21:15                                         ` Linus Torvalds
     [not found]                                         ` <alpine.LFD.1.10.0808251401590.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26  7:22                                           ` Ingo Molnar
2008-08-26  7:22                                             ` Ingo Molnar
     [not found]                                             ` <20080826072220.GB31876-X9Un+BFzKDI@public.gmane.org>
2008-08-26  7:46                                               ` David Miller
2008-08-26  7:46                                                 ` David Miller
     [not found]                                                 ` <20080826.004607.253712060.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-26  7:53                                                   ` Ingo Molnar
2008-08-26  7:53                                                     ` Ingo Molnar
     [not found]                                                     ` <20080826075355.GA7596-X9Un+BFzKDI@public.gmane.org>
2008-08-26  8:36                                                       ` Yinghai Lu
2008-08-26  8:36                                                         ` Yinghai Lu
     [not found]                                                         ` <86802c440808260136t3a33a9c8if53b6f70ab9df9e2-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-26 16:51                                                           ` Linus Torvalds
2008-08-26 16:51                                                             ` Linus Torvalds
     [not found]                                                             ` <alpine.LFD.1.10.0808260939070.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 17:08                                                               ` Yinghai Lu
2008-08-26 17:08                                                                 ` Yinghai Lu
2008-09-25  1:50                                                               ` Rusty Russell
2008-09-25  1:50                                                                 ` Rusty Russell
     [not found]                                                                 ` <200809251150.26760.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-09-25  8:55                                                                   ` Ingo Molnar
2008-09-25  8:55                                                                     ` Ingo Molnar
2008-09-25 15:42                                                                   ` Linus Torvalds
2008-09-25 15:42                                                                     ` Linus Torvalds
     [not found]                                                                     ` <alpine.LFD.1.10.0809250836270.3265-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-09-25 20:59                                                                       ` Subject: [RFC 1/1] cpumask: Provide new cpumask API Mike Travis
2008-09-25 20:59                                                                         ` Mike Travis
2008-09-26  5:25                                                                       ` [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Rusty Russell
2008-09-26  5:25                                                                         ` Rusty Russell
     [not found]                                                                         ` <200809261525.30258.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-09-26  5:53                                                                           ` Mike Travis
2008-09-26  5:53                                                                             ` Mike Travis
     [not found]                                                                             ` <48DC78F2.8060400-sJ/iWh9BUns@public.gmane.org>
2008-09-27 19:16                                                                               ` Ingo Molnar
2008-09-27 19:16                                                                                 ` Ingo Molnar
     [not found]                                                                                 ` <20080927191653.GB18619-X9Un+BFzKDI@public.gmane.org>
2008-09-29 14:33                                                                                   ` Mike Travis
2008-09-29 14:33                                                                                     ` Mike Travis
     [not found]                                                                                     ` <48E0E73A.40803-sJ/iWh9BUns@public.gmane.org>
2008-09-30 11:04                                                                                       ` Ingo Molnar
2008-09-30 11:04                                                                                         ` Ingo Molnar
2008-09-30 16:14                                                                                         ` Mike Travis
     [not found]                                                                                           ` <48E2506C.7000406-sJ/iWh9BUns@public.gmane.org>
2008-09-30 16:46                                                                                             ` Linus Torvalds
2008-09-30 16:46                                                                                               ` Linus Torvalds
     [not found]                                                                                               ` <alpine.LFD.2.00.0809300939450.3389-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-09-30 18:02                                                                                                 ` Mike Travis
2008-09-30 18:02                                                                                                   ` Mike Travis
     [not found]                                                                                                   ` <48E269B6.1080904-sJ/iWh9BUns@public.gmane.org>
2008-09-30 22:22                                                                                                     ` [RFC 1/1] cpumask: New cpumask API - take 2 - use unsigned longs Mike Travis
2008-09-30 22:22                                                                                                       ` Mike Travis
     [not found]                                                                                                       ` <48E2A691.7060407-sJ/iWh9BUns@public.gmane.org>
2008-10-01  0:45                                                                                                         ` Rusty Russell
2008-10-01  0:45                                                                                                           ` Rusty Russell
2008-10-01  0:44                                                                                                 ` [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Rusty Russell
2008-10-01  0:44                                                                                                   ` Rusty Russell
2008-08-26 19:11                                                       ` Mike Travis
2008-08-26 19:11                                                         ` Mike Travis
2008-08-26 19:06                                                 ` Mike Travis
     [not found]                                                   ` <48B4542A.1050004-sJ/iWh9BUns@public.gmane.org>
2008-08-26 20:45                                                     ` David Miller
2008-08-26 20:45                                                       ` David Miller
     [not found]                                                       ` <20080826.134535.193703558.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-29 12:42                                                         ` Jes Sorensen
2008-08-29 12:42                                                           ` Jes Sorensen
     [not found]                                                           ` <48B7EEA2.7090300-sJ/iWh9BUns@public.gmane.org>
2008-08-29 16:14                                                             ` Linus Torvalds
2008-08-29 16:14                                                               ` Linus Torvalds
     [not found]                                                               ` <alpine.LFD.1.10.0808290909020.3300-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-29 20:04                                                                 ` David Miller
2008-08-29 20:04                                                                   ` David Miller
2008-09-01 11:53                                                                 ` Jes Sorensen
2008-09-01 11:53                                                                   ` Jes Sorensen
2008-09-02 14:27                                                                 ` Jes Sorensen
2008-09-02 14:27                                                                   ` Jes Sorensen
2008-08-26 19:03                                             ` Mike Travis
     [not found]                                               ` <48B45387.8090205-sJ/iWh9BUns@public.gmane.org>
2008-08-26 19:40                                                 ` Linus Torvalds
2008-08-26 19:40                                                   ` Linus Torvalds
2008-08-26 19:01                                           ` Mike Travis
2008-08-26 19:01                                             ` Mike Travis
     [not found]                                             ` <48B452F3.9040304-sJ/iWh9BUns@public.gmane.org>
2008-08-26 19:09                                               ` Linus Torvalds
2008-08-26 19:09                                                 ` Linus Torvalds
2008-08-26 19:28                                                 ` Dave Jones
     [not found]                                                   ` <20080826192848.GA20653-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2008-08-26 20:01                                                     ` Mike Travis
2008-08-26 20:01                                                       ` Mike Travis
2008-08-27  6:54                                                       ` Nick Piggin
2008-08-27  7:05                                                         ` David Miller
     [not found]                                                           ` <20080827.000506.177643294.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-27  7:47                                                             ` Nick Piggin
2008-08-27  7:47                                                               ` Nick Piggin
     [not found]                                                               ` <200808271747.14690.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-08-27  8:44                                                                 ` David Miller
2008-08-27  8:44                                                                   ` David Miller
     [not found]                                                                   ` <20080827.014457.140528687.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-27 14:48                                                                     ` Mike Travis
2008-08-27 14:48                                                                       ` Mike Travis
2008-08-27 14:36                                                             ` Mike Travis
2008-08-27 14:36                                                               ` Mike Travis
     [not found]                                                         ` <200808271654.32721.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-08-27 14:35                                                           ` Mike Travis
2008-08-27 14:35                                                             ` Mike Travis
     [not found]                                                 ` <alpine.LFD.1.10.0808261205530.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 19:35                                                   ` Mike Travis
2008-08-26 19:35                                                     ` Mike Travis
2008-08-25 21:30                                       ` Alan D. Brunelle
2008-08-25 21:30                                         ` Alan D. Brunelle
     [not found]                                         ` <48B32458.5020104-VXdhtT5mjnY@public.gmane.org>
2008-08-25 22:07                                           ` Christoph Lameter
2008-08-25 22:07                                             ` Christoph Lameter
     [not found]                                             ` <48B32D39.5040709-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-08-26  7:59                                               ` Ingo Molnar
2008-08-26  7:59                                                 ` Ingo Molnar
     [not found]                                                 ` <20080826075937.GB7596-X9Un+BFzKDI@public.gmane.org>
2008-08-26 19:48                                                   ` Mike Travis
2008-08-26 19:48                                                     ` Mike Travis
2008-08-26  1:11                                   ` Rusty Russell
2008-08-26  1:11                                     ` Rusty Russell
     [not found]                                     ` <200808261111.19205.rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
2008-08-26 17:35                                       ` Linus Torvalds
2008-08-26 17:35                                         ` Linus Torvalds
2008-08-26 18:30                                         ` Adrian Bunk
     [not found]                                           ` <20080826183051.GB10925-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-26 18:40                                             ` Linus Torvalds
2008-08-26 18:40                                               ` Linus Torvalds
     [not found]                                               ` <alpine.LFD.1.10.0808261134530.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 20:21                                                 ` Adrian Bunk
2008-08-26 20:21                                                   ` Adrian Bunk
2008-08-26 20:41                                                   ` Linus Torvalds
2008-08-27 16:21                                                     ` Jamie Lokier
2008-08-26 18:47                                             ` Linus Torvalds
2008-08-26 18:47                                               ` Linus Torvalds
2008-08-26 19:02                                               ` Jamie Lokier
     [not found]                                                 ` <20080826190213.GA30255-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2008-08-26 19:18                                                   ` Linus Torvalds
2008-08-26 19:18                                                     ` Linus Torvalds
     [not found]                                               ` <alpine.LFD.1.10.0808261144510.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 20:59                                                 ` Adrian Bunk
2008-08-26 20:59                                                   ` Adrian Bunk
2008-08-26 21:04                                                   ` Linus Torvalds
     [not found]                                                     ` <alpine.LFD.1.10.0808261403360.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 22:54                                                       ` Parag Warudkar
2008-08-26 22:54                                                         ` Parag Warudkar
     [not found]                                                         ` <f7848160808261554j2f4eaaa6i1ee8801ae75ca7bf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-26 23:00                                                           ` David VomLehn
2008-08-26 23:00                                                             ` David VomLehn
2008-08-26 23:45                                                             ` Adrian Bunk
2008-08-26 23:47                                                         ` Linus Torvalds
     [not found]                                                           ` <alpine.LFD.1.10.0808261644260.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  0:53                                                             ` Greg Ungerer
2008-08-27  0:53                                                               ` Greg Ungerer
2008-08-27  1:08                                                               ` Parag Warudkar
2008-08-27  1:31                                                                 ` Greg Ungerer
     [not found]                                                                   ` <48B4AE68.4040205-XXXsiaCtIV5Wk0Htik3J/w@public.gmane.org>
2008-08-27  2:16                                                                     ` Parag Warudkar
2008-08-27  2:16                                                                       ` Parag Warudkar
2008-08-27  8:44                                                                       ` Bernd Petrovitsch
2008-08-27  0:58                                                             ` Parag Warudkar
2008-08-27  0:58                                                               ` Parag Warudkar
     [not found]                                                               ` <f7848160808261758q7b84aab1m188c1ebb59304818-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27  1:49                                                                 ` Linus Torvalds
2008-08-27  1:49                                                                   ` Linus Torvalds
     [not found]                                                                   ` <alpine.LFD.1.10.0808261837530.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  2:36                                                                     ` Parag Warudkar
2008-08-27  2:36                                                                       ` Parag Warudkar
     [not found]                                                                       ` <f7848160808261936m18c69dc0r26f41850efae4b91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27  2:52                                                                         ` Linus Torvalds
2008-08-27  2:52                                                                           ` Linus Torvalds
2008-08-27  8:32                                                                       ` Alan Cox
2008-08-27  6:01                                                                     ` Paul Mackerras
2008-08-27  6:01                                                                       ` Paul Mackerras
     [not found]                                                                       ` <18612.60878.887716.452936-nUko2b1QN/1kfgV4h6NXRTJtLkR7yuzc@public.gmane.org>
2008-08-27 10:58                                                                         ` Arjan van de Ven
2008-08-27 10:58                                                                           ` Arjan van de Ven
2008-08-27 15:18                                                                       ` Linus Torvalds
2008-08-27 11:58                                                                   ` Adrian Bunk
2008-08-27  9:00                                                               ` Bernd Petrovitsch
     [not found]                                                                 ` <1219827609.30209.29.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 12:56                                                                   ` Parag Warudkar
2008-08-27 12:56                                                                     ` Parag Warudkar
2008-08-27 13:17                                                                     ` Bernd Petrovitsch
     [not found]                                                                       ` <1219843032.30209.51.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 15:48                                                                         ` Jamie Lokier
2008-08-27 15:48                                                                           ` Jamie Lokier
2008-08-27 16:38                                                                           ` Bernd Petrovitsch
     [not found]                                                                             ` <1219855121.30209.112.camel-7sPfb3biEqGJZy4MaDjwDw@public.gmane.org>
2008-08-27 17:51                                                                               ` Jamie Lokier
2008-08-27 17:51                                                                                 ` Jamie Lokier
2008-08-27 19:30                                                                                 ` Bernd Petrovitsch
2008-08-28  0:06                                                                                 ` Greg Ungerer
     [not found]                                                                           ` <20080827154805.GA25387-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2008-08-28  0:11                                                                             ` Greg Ungerer
2008-08-28  0:11                                                                               ` Greg Ungerer
2008-08-27  8:34                                                         ` Bernd Petrovitsch
2008-08-26 23:24                                                       ` Adrian Bunk
2008-08-26 23:24                                                         ` Adrian Bunk
     [not found]                                                         ` <20080826232411.GC11734-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-26 23:51                                                           ` Linus Torvalds
2008-08-26 23:51                                                             ` Linus Torvalds
     [not found]                                                             ` <alpine.LFD.1.10.0808261648140.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27  0:23                                                               ` Adrian Bunk
2008-08-27  0:23                                                                 ` Adrian Bunk
2008-08-27  0:28                                                                 ` Linus Torvalds
     [not found]                                                                   ` <alpine.LFD.1.10.0808261726560.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 11:58                                                                     ` Adrian Bunk
2008-08-27 11:58                                                                       ` Adrian Bunk
     [not found]                                                                       ` <20080827115829.GF11734-re2QNgSbS3j4D6uPqz5PAwR5/fbUUdgG@public.gmane.org>
2008-08-27 16:00                                                                         ` Paul Mundt
2008-08-27 16:00                                                                           ` Paul Mundt
2008-08-27 17:35                                                                           ` Adrian Bunk
2008-08-27 17:35                                                                             ` Adrian Bunk
2008-08-28  0:32                                                                             ` Paul Mundt
2008-08-28  0:46                                                                               ` David Miller
     [not found]                                                                                 ` <20080827.174605.85608276.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-08-28  1:02                                                                                   ` Paul Mundt
2008-08-28  1:02                                                                                     ` Paul Mundt
     [not found]                                                                               ` <20080828003211.GA18893-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2008-08-28 16:16                                                                                 ` Adrian Bunk
2008-08-28 16:16                                                                                   ` Adrian Bunk
2008-08-28 16:16                                                                               ` Adrian Bunk
     [not found]                                                                           ` <20080827160052.GA15968-M7jkjyW5wf5g9hUCZPvPmw@public.gmane.org>
2008-08-27 17:35                                                                             ` Adrian Bunk
2008-08-28  1:05                                                                             ` Greg Ungerer
2008-08-28  1:05                                                                               ` Greg Ungerer
2008-08-28  1:05                                                                           ` Greg Ungerer
2008-08-27  8:25                                                           ` Alan Cox
2008-08-27  8:25                                                             ` Alan Cox
2008-08-27 12:52                                                             ` Parag Warudkar
     [not found]                                                               ` <f7848160808270552u2ee66167x912a68e0bf8b25bf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-27 13:21                                                                 ` Alan Cox
2008-08-27 13:21                                                                   ` Alan Cox
     [not found]                                                                   ` <20080827142142.303cdba8-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2008-08-27 16:24                                                                     ` Parag Warudkar
2008-08-27 16:24                                                                       ` Parag Warudkar
     [not found]                                         ` <alpine.LFD.1.10.0808261019450.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 19:55                                           ` Jeff Garzik
2008-08-26 19:55                                             ` Jeff Garzik
     [not found]                                             ` <48B45FA2.8040603-o2qLIJkoznsdnm+yROfE0A@public.gmane.org>
2008-08-26 20:06                                               ` e1000 horridness (was Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected) Linus Torvalds
2008-08-26 20:06                                                 ` Linus Torvalds
     [not found]                                                 ` <alpine.LFD.1.10.0808261257210.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-26 20:14                                                   ` Kok, Auke [this message]
2008-08-26 20:14                                                     ` Kok, Auke
     [not found]                                                     ` <48B4641A.1020806-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2008-08-26 22:04                                                       ` Jeff Kirsher
2008-08-26 22:04                                                         ` Jeff Kirsher
2008-08-25 12:44           ` [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Alan D. Brunelle
2008-08-25 12:44             ` Alan D. Brunelle
2008-08-25 13:13             ` Alan D. Brunelle
2008-08-25 18:02             ` Linus Torvalds
2008-08-25 14:05           ` Alan D. Brunelle
2008-08-25 14:05             ` Alan D. Brunelle
2008-08-23 18:10 ` [Bug #11343] SATA Cold Boot Problems with 2.6.27-rc[23] on nVidia 680i Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 22:34   ` Jeff Garzik
2008-08-23 18:10 ` [Bug #11358] net: forcedeth call restore mac addr in nv_shutdown path Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11355] Regression in 2.6.27-rc2 when cross-building the kernel Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24 21:34   ` Rafael J. Wysocki
2008-08-24 21:34     ` Rafael J. Wysocki
     [not found]     ` <200808242334.05993.rjw-KKrjLPT3xs0@public.gmane.org>
2008-09-01  9:35       ` David Woodhouse
2008-09-01  9:35         ` David Woodhouse
     [not found]         ` <1220261720.2982.51.camel-ZP4jZrcIevRpWr+L1FloEB2eb7JE58TQ@public.gmane.org>
2008-09-01 16:51           ` Larry Finger
2008-09-01 16:51             ` Larry Finger
     [not found]             ` <48BC1D8E.9050608-tQ5ms3gMjBLk1uMJSBkQmQ@public.gmane.org>
2008-09-01 17:37               ` David Woodhouse
2008-09-01 17:37                 ` David Woodhouse
2008-08-23 18:10 ` [Bug #11354] AMD Elan regression with 2.6.27-rc3 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11357] Can not boot up with zd1211rw USB-Wlan Stick Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11356] Linux 2.6.27-rc3 - build failure: undefined reference to `.lockdep_count_forward_deps' Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24  6:13   ` Frans Pop
2008-08-24  6:13     ` Frans Pop
     [not found]     ` <200808240813.56525.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2008-08-24 21:10       ` Rafael J. Wysocki
2008-08-24 21:10         ` Rafael J. Wysocki
2008-08-25 14:03       ` Adrian Bunk
2008-08-25 14:03         ` Adrian Bunk
2008-08-23 18:10 ` [Bug #11361] my servers with nvidia mcp55 nic don't work with msi in second kernel by kexec Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11379] char/tpm: tpm_infineon no longer loaded for HP 2510p laptop Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24  6:18   ` Frans Pop
2008-08-24  6:18     ` Frans Pop
     [not found]     ` <200808240818.09275.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2008-08-24 21:12       ` Rafael J. Wysocki
2008-08-24 21:12         ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11380] lockdep warning: cpu_add_remove_lock at:cpu_maps_update_begin+0x14/0x16 Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11360] mpc8xxx_wdt.c doesn't build modular Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11401] pktcdvd: BUG, NULL pointer dereference in pkt_ioctl, bisected Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11398] hda_intel: IRQ timing workaround is activated for card #0. Suggest a bigger bdl_pos_adj Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11388] 2.6.27-rc3 warns about MTRR range; only 3 of 16gb of memory is usable Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11382] e1000e: 2.6.27-rc1 corrupts EEPROM/NVM Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11405] 2.6.27-rc3 segfault on cold boot; not on warm boot Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11402] skbuff bug? Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11403] 2.6.27-rc2 USB suspend regression Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11404] BUG: in 2.6.23-rc3-git7 in do_cciss_intr Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11406] patch "x86: MOVE PCI IO ECS code to x86/pci" breaks CPU hotplug Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11413] get_rtc_time() triggers NMI watchdog in hpet_rtc_interrupt() Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11409] build issue #564 for v2.6.27-rc4 : undefined reference to `NS8390p_init' Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11410] SLUB list_lock vs obj_hash.lock Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11407] suspend: unable to handle kernel paging request Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-23 18:10 ` [Bug #11414] Random crashes with 2.6.27-rc3 on PPC Rafael J. Wysocki
2008-08-23 18:10   ` Rafael J. Wysocki
2008-08-24 17:48 ` 2.6.27-rc4-git1: Reported regressions from 2.6.26 Linus Torvalds
2008-08-24 17:48   ` Linus Torvalds
     [not found]   ` <alpine.LFD.1.10.0808241030060.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-24 19:23     ` David Greaves
2008-08-24 19:23       ` David Greaves
     [not found]       ` <48B1B526.2030100-FQ/kcb21CSxWk0Htik3J/w@public.gmane.org>
2008-08-25  0:51         ` Linus Torvalds
2008-08-25  0:51           ` Linus Torvalds
2008-08-24 18:03 ` Linus Torvalds
     [not found]   ` <alpine.LFD.1.10.0808241050180.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-24 18:43     ` Vegard Nossum
2008-08-24 18:43       ` Vegard Nossum
     [not found]       ` <19f34abd0808241143t6f5239d7o679135e9e974fe63-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-08-24 18:58         ` Linus Torvalds
2008-08-24 18:58           ` Linus Torvalds
     [not found]           ` <alpine.LFD.1.10.0808241152370.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25 13:03             ` Daniel J Blueman
2008-08-25 13:03               ` Daniel J Blueman
2008-08-24 18:34 ` Linus Torvalds
2008-08-24 18:34   ` Linus Torvalds
     [not found]   ` <alpine.LFD.1.10.0808241120460.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 20:17     ` Peter Osterlund
2008-08-27 20:17       ` Peter Osterlund
     [not found]       ` <m3k5e2qkk2.fsf-zq6IREYz3ykAvxtiuMwx3w@public.gmane.org>
2008-08-27 20:40         ` Linus Torvalds
2008-08-27 20:40           ` Linus Torvalds
     [not found]           ` <alpine.LFD.1.10.0808271335260.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 20:45             ` Linus Torvalds
2008-08-27 20:45               ` Linus Torvalds
2008-08-28 13:52             ` Christoph Hellwig
2008-08-28 13:52               ` Christoph Hellwig
     [not found]               ` <20080828135245.GA12410-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2008-09-02  7:26                 ` Jens Axboe
2008-09-02  7:26                   ` Jens Axboe
     [not found]                   ` <20080902072642.GX20055-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2008-09-03  2:06                     ` Al Viro
2008-09-03  2:06                       ` Al Viro
     [not found]                       ` <20080903020629.GS28946-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2008-09-04 10:13                         ` Jens Axboe
2008-09-04 10:13                           ` Jens Axboe
     [not found]                           ` <20080904101326.GD20055-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2008-09-15  5:30                             ` Al Viro
2008-09-15  5:30                               ` Al Viro
2008-08-27 22:08         ` Alan Cox
2008-08-27 22:08           ` Alan Cox
     [not found]           ` <20080827230828.4285022b-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2008-08-27 22:38             ` Linus Torvalds
2008-08-27 22:38               ` Linus Torvalds
     [not found]               ` <alpine.LFD.1.10.0808271530350.3419-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 22:28                 ` Alan Cox
2008-08-27 22:28                   ` Alan Cox
     [not found]                   ` <20080827232803.2ba8dd96-qBU/x9rampVanCEyBjwyrvXRex20P6io@public.gmane.org>
2008-08-27 23:00                     ` Linus Torvalds
2008-08-27 23:00                       ` Linus Torvalds
     [not found]                       ` <alpine.LFD.1.10.0808271551380.3419-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-27 23:12                         ` Linus Torvalds
2008-08-27 23:12                           ` Linus Torvalds
2008-08-28  0:35                           ` Linus Torvalds
2008-08-27 22:43                 ` David Miller
2008-08-27 22:43                   ` David Miller
2008-08-27 22:45                 ` Alexey Dobriyan
2008-08-27 22:45                   ` Alexey Dobriyan
2008-08-24 18:52 ` Linus Torvalds
2008-08-24 18:52   ` Linus Torvalds
2008-08-24 22:50   ` Sean Young
     [not found]   ` <alpine.LFD.1.10.0808241141470.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-25  0:16     ` H. Peter Anvin
2008-08-25  0:16       ` H. Peter Anvin
2008-08-24 19:03 ` Linus Torvalds
2008-08-24 19:03   ` Linus Torvalds
     [not found]   ` <alpine.LFD.1.10.0808241201090.3363-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-08-24 19:23     ` Adrian Bunk
2008-08-24 19:23       ` Adrian Bunk
2008-08-24 21:40 ` Rafael J. Wysocki
2008-08-24 21:40   ` Rafael J. Wysocki
2008-08-25  0:48 ` Benjamin Herrenschmidt
2008-08-25  0:48   ` Benjamin Herrenschmidt
2008-08-25 11:40   ` Rafael J. Wysocki
2008-08-25 11:40     ` Rafael J. Wysocki

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=48B4641A.1020806@intel.com \
    --to=auke-jan.h.kok-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=Alan.Brunelle-VXdhtT5mjnY@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=arjan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    --cc=jeff-o2qLIJkoznsdnm+yROfE0A@public.gmane.org \
    --cc=jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mingo-X9Un+BFzKDI@public.gmane.org \
    --cc=rjw-KKrjLPT3xs0@public.gmane.org \
    --cc=rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org \
    --cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.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.