Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Li Zefan
On 2013/11/5 14:25, Ingo Molnar wrote:
> 
> * H. Peter Anvin  wrote:
> 
>> On 11/04/2013 12:11 PM, Ingo Molnar wrote:
>>>
>>> * H. Peter Anvin  wrote:
>>>
 8192 maybe?
>>>
>>> Yeah, that makes more sense I guess.
>>>
>>
>> However, I still have serious issues with crap like this because 
>> randconfig is basically broken.  If nothing else we need to get that 
>> feedback to the kconfig maintainers.
> 
> The problem with that is that there are no kconfig maintainers:
> 

Yes, there is.

https://lkml.org/lkml/2013/10/30/124

Though I don't know if the new maintainer will help in this issue.

>   KCONFIG
>   ...
>   S:  Odd Fixes
> 
> The kconfig code is still a hard to maintain, scarcely documented mess. It 
> took us almost a decade to rescue the NTP code from a similar obfuscation 
> trap and make it maintainable. It had the same author as the original 
> Kconfig code - and the Kconfig code is 10 times larger than the NTP code.
> 
> Thanks,
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* H. Peter Anvin  wrote:

> On 11/04/2013 12:11 PM, Ingo Molnar wrote:
> > 
> > * H. Peter Anvin  wrote:
> > 
> >> 8192 maybe?
> > 
> > Yeah, that makes more sense I guess.
> > 
> 
> However, I still have serious issues with crap like this because 
> randconfig is basically broken.  If nothing else we need to get that 
> feedback to the kconfig maintainers.

The problem with that is that there are no kconfig maintainers:

  KCONFIG
  ...
  S:  Odd Fixes

The kconfig code is still a hard to maintain, scarcely documented mess. It 
took us almost a decade to rescue the NTP code from a similar obfuscation 
trap and make it maintainable. It had the same author as the original 
Kconfig code - and the Kconfig code is 10 times larger than the NTP code.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
On 11/04/2013 12:11 PM, Ingo Molnar wrote:
> 
> * H. Peter Anvin  wrote:
> 
>> 8192 maybe?
> 
> Yeah, that makes more sense I guess.
> 

However, I still have serious issues with crap like this because
randconfig is basically broken.  If nothing else we need to get that
feedback to the kconfig maintainers.

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* H. Peter Anvin  wrote:

> 8192 maybe?

Yeah, that makes more sense I guess.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
8192 maybe?

Ingo Molnar  wrote:
>
>* Russ Anderson  wrote:
>
>> > Russ, does SGI (or anyone else that you know of) have x86 hardware 
>> > with more than 4096 CPUs?
>> 
>> Yes.  We have a system in the lab with 254 12-core IVB sockets for a 
>> total of 3048 cores.  With HT is it 6096 cpus.
>
>It would then be nice to up MAXSMP to 6144 or so.
>
>Thanks,
>
>   Ingo

-- 
Sent from my mobile phone.  Please pardon brevity and lack of formatting.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* Russ Anderson  wrote:

> > Russ, does SGI (or anyone else that you know of) have x86 hardware 
> > with more than 4096 CPUs?
> 
> Yes.  We have a system in the lab with 254 12-core IVB sockets for a 
> total of 3048 cores.  With HT is it 6096 cpus.

It would then be nice to up MAXSMP to 6144 or so.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
On 11/03/2013 10:51 PM, Ingo Molnar wrote:
> 
> randconfig will not randomize numeric Kconfig ranges, so there's no other 
> mechanism right now to trigger those large config kernels.
> 

Sounds like the real problem...

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Russ Anderson
On Mon, Nov 04, 2013 at 09:16:16AM -0500, Josh Boyer wrote:
> On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:
> > * Josh Boyer  wrote:
> > 
> > > > Why touch MAXSMP at all? It's really just a shortcut for 'configure 
> > > > the kernel silly large', via a single option, nothing else. You are 
> > > > not forced to use it and it should not affect configurability of 
> > > > NR_CPUS.
> > > >
> > > > What we _really_ want here is to fix NR_CPUS setting: to extend its 
> > > > range and to enforce that NR_CPUS cannot be set larger than 512 
> > > > without setting CONFIG_CPUMASK_OFFSTACK.
> > > 
> > > OK.  I was just thinking that if we've come to the conclusion that 4096 
> > > CPUs isn't silly large anymore, we should make MAXSMP be something we 
> > > consider silly large. [...]
> > 
> > MAXSMP is also supposed to track the real hardware max as well on x86 - 
> > i.e. we should only increase it to 8192 etc. if such hardware exists.
> 
> Russ, does SGI (or anyone else that you know of) have x86 hardware with
> more than 4096 CPUs?

Yes.  We have a system in the lab with 254 12-core IVB sockets for
a total of 3048 cores.  With HT is it 6096 cpus.


> If so, I can actually make a bump to the MAXSMP count a separate patch.
> 
> josh

-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc  r...@sgi.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Prarit Bhargava


On 11/04/2013 09:16 AM, Josh Boyer wrote:
> On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:
>>
>> * Josh Boyer  wrote:
>>
 Why touch MAXSMP at all? It's really just a shortcut for 'configure 
 the kernel silly large', via a single option, nothing else. You are 
 not forced to use it and it should not affect configurability of 
 NR_CPUS.

 What we _really_ want here is to fix NR_CPUS setting: to extend its 
 range and to enforce that NR_CPUS cannot be set larger than 512 
 without setting CONFIG_CPUMASK_OFFSTACK.
>>>
>>> OK.  I was just thinking that if we've come to the conclusion that 4096 
>>> CPUs isn't silly large anymore, we should make MAXSMP be something we 
>>> consider silly large. [...]
>>
>> MAXSMP is also supposed to track the real hardware max as well on x86 - 
>> i.e. we should only increase it to 8192 etc. if such hardware exists.
> 
> Russ, does SGI (or anyone else that you know of) have x86 hardware with
> more than 4096 CPUs?

I can answer this for Russ.  Yes, SGI has boxes that hit 5120.

P.

> 
> If so, I can actually make a bump to the MAXSMP count a separate patch.
> 
> josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Josh Boyer
On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:
> 
> * Josh Boyer  wrote:
> 
> > > Why touch MAXSMP at all? It's really just a shortcut for 'configure 
> > > the kernel silly large', via a single option, nothing else. You are 
> > > not forced to use it and it should not affect configurability of 
> > > NR_CPUS.
> > >
> > > What we _really_ want here is to fix NR_CPUS setting: to extend its 
> > > range and to enforce that NR_CPUS cannot be set larger than 512 
> > > without setting CONFIG_CPUMASK_OFFSTACK.
> > 
> > OK.  I was just thinking that if we've come to the conclusion that 4096 
> > CPUs isn't silly large anymore, we should make MAXSMP be something we 
> > consider silly large. [...]
> 
> MAXSMP is also supposed to track the real hardware max as well on x86 - 
> i.e. we should only increase it to 8192 etc. if such hardware exists.

Russ, does SGI (or anyone else that you know of) have x86 hardware with
more than 4096 CPUs?

If so, I can actually make a bump to the MAXSMP count a separate patch.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* Josh Boyer  wrote:

> > Why touch MAXSMP at all? It's really just a shortcut for 'configure 
> > the kernel silly large', via a single option, nothing else. You are 
> > not forced to use it and it should not affect configurability of 
> > NR_CPUS.
> >
> > What we _really_ want here is to fix NR_CPUS setting: to extend its 
> > range and to enforce that NR_CPUS cannot be set larger than 512 
> > without setting CONFIG_CPUMASK_OFFSTACK.
> 
> OK.  I was just thinking that if we've come to the conclusion that 4096 
> CPUs isn't silly large anymore, we should make MAXSMP be something we 
> consider silly large. [...]

MAXSMP is also supposed to track the real hardware max as well on x86 - 
i.e. we should only increase it to 8192 etc. if such hardware exists.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Josh Boyer
On Mon, Nov 04, 2013 at 07:53:43AM +0100, Ingo Molnar wrote:
> 
> * Josh Boyer  wrote:
> 
> > On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
> > > 
> > > * Ingo Molnar  wrote:
> > > 
> > > > 
> > > > * Josh Boyer  wrote:
> > > > 
> > > > > The current range for SMP configs is 2 - 512, or a full 4096 in the 
> > > > > case 
> > > > > of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> > > > > configuring a kernel for that means you are forced to set MAXSMP.  
> > > > > This 
> > > > > adds additional unnecessary overhead.  While that overhead might be 
> > > > > considered tiny for large machines, it isn't necessarily so if you 
> > > > > are 
> > > > > building a kernel that runs across a wide variety of machines.  We 
> > > > > increase the range to 1024 to help with this.
> > > > >
> > > > > Signed-off-by: Josh Boyer 
> > > > > ---
> > > > >  arch/x86/Kconfig | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > > > > index f67e839..d726b2d 100644
> > > > > --- a/arch/x86/Kconfig
> > > > > +++ b/arch/x86/Kconfig
> > > > > @@ -825,7 +825,7 @@ config MAXSMP
> > > > >  config NR_CPUS
> > > > >   int "Maximum number of CPUs" if SMP && !MAXSMP
> > > > >   range 2 8 if SMP && X86_32 && !X86_BIGSMP
> > > > > - range 2 512 if SMP && !MAXSMP
> > > > > + range 2 1024 if SMP && !MAXSMP
> > > > >   default "1" if !SMP
> > > > >   default "4096" if MAXSMP
> > > > >   default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP 
> > > > > || X86_ES7000)
> > > > 
> > > > Any reason not to allow it to go up to 4096? The original concern was 
> > > > that CPUS=4096 wasn't working very well and you had to select MAXSMP 
> > > > deliberately and keep all the pieces.
> > 
> > No real reason to not allow all the way to 4096, no.  I just started
> > small as I wanted 1024 specifically, and this is the simplest way to
> > achieve that.
> > 
> > > The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
> > > 512 bytes, too large to be kept on the kernel stack.
> > > 
> > > MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
> > > 
> > > With 1024 CPUs a single cpumask is 128 bytes - rather significant as 
> > > well. 
> > > With 512 CPUs it's 64 bytes - borderline.
> > > 
> > > So I think a better solution would be to allow an increase above 512 CPUs 
> > > only if CONFIG_CPUMASK_OFFSTACK is also enabled.
> > 
> > OK, that makes sense.  So in this scenario, we could probably either:
> > 
> > a) do away with MAXSMP entirely and just depend on 
> > CONFIG_CPUMASK_OFFSTACK.
> > 
> > b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
> > 
> > Which would you prefer?  Either is easy enough to code up, I just need 
> > to know which I should shoot for.
> 
> Why touch MAXSMP at all? It's really just a shortcut for 'configure the 
> kernel silly large', via a single option, nothing else. You are not forced 
> to use it and it should not affect configurability of NR_CPUS.
>
> What we _really_ want here is to fix NR_CPUS setting: to extend its range 
> and to enforce that NR_CPUS cannot be set larger than 512 without setting 
> CONFIG_CPUMASK_OFFSTACK.

OK.  I was just thinking that if we've come to the conclusion that 4096
CPUs isn't silly large anymore, we should make MAXSMP be something we
consider silly large.  Anyway, I'm fine with leaving MAXSMP as it is.
I'll work on the rest today.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
On 11/03/2013 10:51 PM, Ingo Molnar wrote:
 
 randconfig will not randomize numeric Kconfig ranges, so there's no other 
 mechanism right now to trigger those large config kernels.
 

Sounds like the real problem...

-hpa


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* Russ Anderson r...@sgi.com wrote:

  Russ, does SGI (or anyone else that you know of) have x86 hardware 
  with more than 4096 CPUs?
 
 Yes.  We have a system in the lab with 254 12-core IVB sockets for a 
 total of 3048 cores.  With HT is it 6096 cpus.

It would then be nice to up MAXSMP to 6144 or so.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
8192 maybe?

Ingo Molnar mi...@kernel.org wrote:

* Russ Anderson r...@sgi.com wrote:

  Russ, does SGI (or anyone else that you know of) have x86 hardware 
  with more than 4096 CPUs?
 
 Yes.  We have a system in the lab with 254 12-core IVB sockets for a 
 total of 3048 cores.  With HT is it 6096 cpus.

It would then be nice to up MAXSMP to 6144 or so.

Thanks,

   Ingo

-- 
Sent from my mobile phone.  Please pardon brevity and lack of formatting.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* H. Peter Anvin h...@zytor.com wrote:

 8192 maybe?

Yeah, that makes more sense I guess.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread H. Peter Anvin
On 11/04/2013 12:11 PM, Ingo Molnar wrote:
 
 * H. Peter Anvin h...@zytor.com wrote:
 
 8192 maybe?
 
 Yeah, that makes more sense I guess.
 

However, I still have serious issues with crap like this because
randconfig is basically broken.  If nothing else we need to get that
feedback to the kconfig maintainers.

-hpa


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* H. Peter Anvin h...@zytor.com wrote:

 On 11/04/2013 12:11 PM, Ingo Molnar wrote:
  
  * H. Peter Anvin h...@zytor.com wrote:
  
  8192 maybe?
  
  Yeah, that makes more sense I guess.
  
 
 However, I still have serious issues with crap like this because 
 randconfig is basically broken.  If nothing else we need to get that 
 feedback to the kconfig maintainers.

The problem with that is that there are no kconfig maintainers:

  KCONFIG
  ...
  S:  Odd Fixes

The kconfig code is still a hard to maintain, scarcely documented mess. It 
took us almost a decade to rescue the NTP code from a similar obfuscation 
trap and make it maintainable. It had the same author as the original 
Kconfig code - and the Kconfig code is 10 times larger than the NTP code.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Li Zefan
On 2013/11/5 14:25, Ingo Molnar wrote:
 
 * H. Peter Anvin h...@zytor.com wrote:
 
 On 11/04/2013 12:11 PM, Ingo Molnar wrote:

 * H. Peter Anvin h...@zytor.com wrote:

 8192 maybe?

 Yeah, that makes more sense I guess.


 However, I still have serious issues with crap like this because 
 randconfig is basically broken.  If nothing else we need to get that 
 feedback to the kconfig maintainers.
 
 The problem with that is that there are no kconfig maintainers:
 

Yes, there is.

https://lkml.org/lkml/2013/10/30/124

Though I don't know if the new maintainer will help in this issue.

   KCONFIG
   ...
   S:  Odd Fixes
 
 The kconfig code is still a hard to maintain, scarcely documented mess. It 
 took us almost a decade to rescue the NTP code from a similar obfuscation 
 trap and make it maintainable. It had the same author as the original 
 Kconfig code - and the Kconfig code is 10 times larger than the NTP code.
 
 Thanks,
 

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Josh Boyer
On Mon, Nov 04, 2013 at 07:53:43AM +0100, Ingo Molnar wrote:
 
 * Josh Boyer jwbo...@redhat.com wrote:
 
  On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
   
   * Ingo Molnar mi...@kernel.org wrote:
   

* Josh Boyer jwbo...@redhat.com wrote:

 The current range for SMP configs is 2 - 512, or a full 4096 in the 
 case 
 of MAXSMP.  There are machines that have 1024 CPUs in them today and 
 configuring a kernel for that means you are forced to set MAXSMP.  
 This 
 adds additional unnecessary overhead.  While that overhead might be 
 considered tiny for large machines, it isn't necessarily so if you 
 are 
 building a kernel that runs across a wide variety of machines.  We 
 increase the range to 1024 to help with this.

 Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
 ---
  arch/x86/Kconfig | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
 index f67e839..d726b2d 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
 @@ -825,7 +825,7 @@ config MAXSMP
  config NR_CPUS
   int Maximum number of CPUs if SMP  !MAXSMP
   range 2 8 if SMP  X86_32  !X86_BIGSMP
 - range 2 512 if SMP  !MAXSMP
 + range 2 1024 if SMP  !MAXSMP
   default 1 if !SMP
   default 4096 if MAXSMP
   default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP 
 || X86_ES7000)

Any reason not to allow it to go up to 4096? The original concern was 
that CPUS=4096 wasn't working very well and you had to select MAXSMP 
deliberately and keep all the pieces.
  
  No real reason to not allow all the way to 4096, no.  I just started
  small as I wanted 1024 specifically, and this is the simplest way to
  achieve that.
  
   The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
   512 bytes, too large to be kept on the kernel stack.
   
   MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
   
   With 1024 CPUs a single cpumask is 128 bytes - rather significant as 
   well. 
   With 512 CPUs it's 64 bytes - borderline.
   
   So I think a better solution would be to allow an increase above 512 CPUs 
   only if CONFIG_CPUMASK_OFFSTACK is also enabled.
  
  OK, that makes sense.  So in this scenario, we could probably either:
  
  a) do away with MAXSMP entirely and just depend on 
  CONFIG_CPUMASK_OFFSTACK.
  
  b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
  
  Which would you prefer?  Either is easy enough to code up, I just need 
  to know which I should shoot for.
 
 Why touch MAXSMP at all? It's really just a shortcut for 'configure the 
 kernel silly large', via a single option, nothing else. You are not forced 
 to use it and it should not affect configurability of NR_CPUS.

 What we _really_ want here is to fix NR_CPUS setting: to extend its range 
 and to enforce that NR_CPUS cannot be set larger than 512 without setting 
 CONFIG_CPUMASK_OFFSTACK.

OK.  I was just thinking that if we've come to the conclusion that 4096
CPUs isn't silly large anymore, we should make MAXSMP be something we
consider silly large.  Anyway, I'm fine with leaving MAXSMP as it is.
I'll work on the rest today.

josh
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Ingo Molnar

* Josh Boyer jwbo...@redhat.com wrote:

  Why touch MAXSMP at all? It's really just a shortcut for 'configure 
  the kernel silly large', via a single option, nothing else. You are 
  not forced to use it and it should not affect configurability of 
  NR_CPUS.
 
  What we _really_ want here is to fix NR_CPUS setting: to extend its 
  range and to enforce that NR_CPUS cannot be set larger than 512 
  without setting CONFIG_CPUMASK_OFFSTACK.
 
 OK.  I was just thinking that if we've come to the conclusion that 4096 
 CPUs isn't silly large anymore, we should make MAXSMP be something we 
 consider silly large. [...]

MAXSMP is also supposed to track the real hardware max as well on x86 - 
i.e. we should only increase it to 8192 etc. if such hardware exists.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Josh Boyer
On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:
 
 * Josh Boyer jwbo...@redhat.com wrote:
 
   Why touch MAXSMP at all? It's really just a shortcut for 'configure 
   the kernel silly large', via a single option, nothing else. You are 
   not forced to use it and it should not affect configurability of 
   NR_CPUS.
  
   What we _really_ want here is to fix NR_CPUS setting: to extend its 
   range and to enforce that NR_CPUS cannot be set larger than 512 
   without setting CONFIG_CPUMASK_OFFSTACK.
  
  OK.  I was just thinking that if we've come to the conclusion that 4096 
  CPUs isn't silly large anymore, we should make MAXSMP be something we 
  consider silly large. [...]
 
 MAXSMP is also supposed to track the real hardware max as well on x86 - 
 i.e. we should only increase it to 8192 etc. if such hardware exists.

Russ, does SGI (or anyone else that you know of) have x86 hardware with
more than 4096 CPUs?

If so, I can actually make a bump to the MAXSMP count a separate patch.

josh
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Prarit Bhargava


On 11/04/2013 09:16 AM, Josh Boyer wrote:
 On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:

 * Josh Boyer jwbo...@redhat.com wrote:

 Why touch MAXSMP at all? It's really just a shortcut for 'configure 
 the kernel silly large', via a single option, nothing else. You are 
 not forced to use it and it should not affect configurability of 
 NR_CPUS.

 What we _really_ want here is to fix NR_CPUS setting: to extend its 
 range and to enforce that NR_CPUS cannot be set larger than 512 
 without setting CONFIG_CPUMASK_OFFSTACK.

 OK.  I was just thinking that if we've come to the conclusion that 4096 
 CPUs isn't silly large anymore, we should make MAXSMP be something we 
 consider silly large. [...]

 MAXSMP is also supposed to track the real hardware max as well on x86 - 
 i.e. we should only increase it to 8192 etc. if such hardware exists.
 
 Russ, does SGI (or anyone else that you know of) have x86 hardware with
 more than 4096 CPUs?

I can answer this for Russ.  Yes, SGI has boxes that hit 5120.

P.

 
 If so, I can actually make a bump to the MAXSMP count a separate patch.
 
 josh
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-04 Thread Russ Anderson
On Mon, Nov 04, 2013 at 09:16:16AM -0500, Josh Boyer wrote:
 On Mon, Nov 04, 2013 at 03:10:51PM +0100, Ingo Molnar wrote:
  * Josh Boyer jwbo...@redhat.com wrote:
  
Why touch MAXSMP at all? It's really just a shortcut for 'configure 
the kernel silly large', via a single option, nothing else. You are 
not forced to use it and it should not affect configurability of 
NR_CPUS.
   
What we _really_ want here is to fix NR_CPUS setting: to extend its 
range and to enforce that NR_CPUS cannot be set larger than 512 
without setting CONFIG_CPUMASK_OFFSTACK.
   
   OK.  I was just thinking that if we've come to the conclusion that 4096 
   CPUs isn't silly large anymore, we should make MAXSMP be something we 
   consider silly large. [...]
  
  MAXSMP is also supposed to track the real hardware max as well on x86 - 
  i.e. we should only increase it to 8192 etc. if such hardware exists.
 
 Russ, does SGI (or anyone else that you know of) have x86 hardware with
 more than 4096 CPUs?

Yes.  We have a system in the lab with 254 12-core IVB sockets for
a total of 3048 cores.  With HT is it 6096 cpus.


 If so, I can actually make a bump to the MAXSMP count a separate patch.
 
 josh

-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc  r...@sgi.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Josh Boyer  wrote:

> On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
> > 
> > * Ingo Molnar  wrote:
> > 
> > > 
> > > * Josh Boyer  wrote:
> > > 
> > > > The current range for SMP configs is 2 - 512, or a full 4096 in the 
> > > > case 
> > > > of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> > > > configuring a kernel for that means you are forced to set MAXSMP.  This 
> > > > adds additional unnecessary overhead.  While that overhead might be 
> > > > considered tiny for large machines, it isn't necessarily so if you are 
> > > > building a kernel that runs across a wide variety of machines.  We 
> > > > increase the range to 1024 to help with this.
> > > >
> > > > Signed-off-by: Josh Boyer 
> > > > ---
> > > >  arch/x86/Kconfig | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > > > index f67e839..d726b2d 100644
> > > > --- a/arch/x86/Kconfig
> > > > +++ b/arch/x86/Kconfig
> > > > @@ -825,7 +825,7 @@ config MAXSMP
> > > >  config NR_CPUS
> > > > int "Maximum number of CPUs" if SMP && !MAXSMP
> > > > range 2 8 if SMP && X86_32 && !X86_BIGSMP
> > > > -   range 2 512 if SMP && !MAXSMP
> > > > +   range 2 1024 if SMP && !MAXSMP
> > > > default "1" if !SMP
> > > > default "4096" if MAXSMP
> > > > default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP 
> > > > || X86_ES7000)
> > > 
> > > Any reason not to allow it to go up to 4096? The original concern was 
> > > that CPUS=4096 wasn't working very well and you had to select MAXSMP 
> > > deliberately and keep all the pieces.
> 
> No real reason to not allow all the way to 4096, no.  I just started
> small as I wanted 1024 specifically, and this is the simplest way to
> achieve that.
> 
> > The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
> > 512 bytes, too large to be kept on the kernel stack.
> > 
> > MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
> > 
> > With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
> > With 512 CPUs it's 64 bytes - borderline.
> > 
> > So I think a better solution would be to allow an increase above 512 CPUs 
> > only if CONFIG_CPUMASK_OFFSTACK is also enabled.
> 
> OK, that makes sense.  So in this scenario, we could probably either:
> 
> a) do away with MAXSMP entirely and just depend on 
> CONFIG_CPUMASK_OFFSTACK.
> 
> b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
> 
> Which would you prefer?  Either is easy enough to code up, I just need 
> to know which I should shoot for.

Why touch MAXSMP at all? It's really just a shortcut for 'configure the 
kernel silly large', via a single option, nothing else. You are not forced 
to use it and it should not affect configurability of NR_CPUS.

What we _really_ want here is to fix NR_CPUS setting: to extend its range 
and to enforce that NR_CPUS cannot be set larger than 512 without setting 
CONFIG_CPUMASK_OFFSTACK.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* H. Peter Anvin  wrote:

> On 11/03/2013 07:57 AM, Josh Boyer wrote:
> > 
> > OK, that makes sense.  So in this scenario, we could probably either:
> > 
> > a) do away with MAXSMP entirely and just depend on
> > CONFIG_CPUMASK_OFFSTACK.
> > 
> > b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
> > 
> > Which would you prefer?  Either is easy enough to code up, I just need
> > to know which I should shoot for.
> > 
> 
> Let's get rid of MAXSMP.

I'd rather not, because it has caught a number of regressions in the past, 
because randconfig can wander over it and trigger those large configs.

randconfig will not randomize numeric Kconfig ranges, so there's no other 
mechanism right now to trigger those large config kernels.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread H. Peter Anvin
On 11/03/2013 07:57 AM, Josh Boyer wrote:
> 
> OK, that makes sense.  So in this scenario, we could probably either:
> 
> a) do away with MAXSMP entirely and just depend on
> CONFIG_CPUMASK_OFFSTACK.
> 
> b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
> 
> Which would you prefer?  Either is easy enough to code up, I just need
> to know which I should shoot for.
> 

Let's get rid of MAXSMP.

-hpa


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Josh Boyer
On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
> 
> * Ingo Molnar  wrote:
> 
> > 
> > * Josh Boyer  wrote:
> > 
> > > The current range for SMP configs is 2 - 512, or a full 4096 in the case 
> > > of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> > > configuring a kernel for that means you are forced to set MAXSMP.  This 
> > > adds additional unnecessary overhead.  While that overhead might be 
> > > considered tiny for large machines, it isn't necessarily so if you are 
> > > building a kernel that runs across a wide variety of machines.  We 
> > > increase the range to 1024 to help with this.
> > >
> > > Signed-off-by: Josh Boyer 
> > > ---
> > >  arch/x86/Kconfig | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > > index f67e839..d726b2d 100644
> > > --- a/arch/x86/Kconfig
> > > +++ b/arch/x86/Kconfig
> > > @@ -825,7 +825,7 @@ config MAXSMP
> > >  config NR_CPUS
> > >   int "Maximum number of CPUs" if SMP && !MAXSMP
> > >   range 2 8 if SMP && X86_32 && !X86_BIGSMP
> > > - range 2 512 if SMP && !MAXSMP
> > > + range 2 1024 if SMP && !MAXSMP
> > >   default "1" if !SMP
> > >   default "4096" if MAXSMP
> > >   default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
> > > X86_ES7000)
> > 
> > Any reason not to allow it to go up to 4096? The original concern was 
> > that CPUS=4096 wasn't working very well and you had to select MAXSMP 
> > deliberately and keep all the pieces.

No real reason to not allow all the way to 4096, no.  I just started
small as I wanted 1024 specifically, and this is the simplest way to
achieve that.

> The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
> 512 bytes, too large to be kept on the kernel stack.
> 
> MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
> 
> With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
> With 512 CPUs it's 64 bytes - borderline.
> 
> So I think a better solution would be to allow an increase above 512 CPUs 
> only if CONFIG_CPUMASK_OFFSTACK is also enabled.

OK, that makes sense.  So in this scenario, we could probably either:

a) do away with MAXSMP entirely and just depend on
CONFIG_CPUMASK_OFFSTACK.

b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.

Which would you prefer?  Either is easy enough to code up, I just need
to know which I should shoot for.

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Russ Anderson
On Sun, Nov 03, 2013 at 09:29:16AM -0500, Prarit Bhargava wrote:
> On 11/03/2013 05:18 AM, Ingo Molnar wrote:
> > 
> > * Josh Boyer  wrote:
> > 
> >> The current range for SMP configs is 2 - 512, or a full 4096 in the case 
> >> of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> >> configuring a kernel for that means you are forced to set MAXSMP.  This 
> >> adds additional unnecessary overhead.  While that overhead might be 
> >> considered tiny for large machines, it isn't necessarily so if you are 
> >> building a kernel that runs across a wide variety of machines.  We 
> >> increase the range to 1024 to help with this.
> >>
> >> Signed-off-by: Josh Boyer 
> >> ---
> >>  arch/x86/Kconfig | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> >> index f67e839..d726b2d 100644
> >> --- a/arch/x86/Kconfig
> >> +++ b/arch/x86/Kconfig
> >> @@ -825,7 +825,7 @@ config MAXSMP
> >>  config NR_CPUS
> >>int "Maximum number of CPUs" if SMP && !MAXSMP
> >>range 2 8 if SMP && X86_32 && !X86_BIGSMP
> >> -  range 2 512 if SMP && !MAXSMP
> >> +  range 2 1024 if SMP && !MAXSMP
> >>default "1" if !SMP
> >>default "4096" if MAXSMP
> >>default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
> >> X86_ES7000)
> > 
> > Any reason not to allow it to go up to 4096? The original concern was that 
> > CPUS=4096 wasn't working very well and you had to select MAXSMP 
> > deliberately and keep all the pieces.
> > 
> > But today it's all pretty robust so I see no reason why not to allow up to 
> > 4096 CPUs.
> 
> Adding Russ from SGI as they are one of the consumers of a large CPU count.
> 
> I have no objections to raising this to 4096 FWIW.  I think it is a good idea,
> and it is long overdue.

I obviously agree with increasing to 4096.
The bigger the better.

-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc  r...@sgi.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Prarit Bhargava


On 11/03/2013 05:18 AM, Ingo Molnar wrote:
> 
> * Josh Boyer  wrote:
> 
>> The current range for SMP configs is 2 - 512, or a full 4096 in the case 
>> of MAXSMP.  There are machines that have 1024 CPUs in them today and 
>> configuring a kernel for that means you are forced to set MAXSMP.  This 
>> adds additional unnecessary overhead.  While that overhead might be 
>> considered tiny for large machines, it isn't necessarily so if you are 
>> building a kernel that runs across a wide variety of machines.  We 
>> increase the range to 1024 to help with this.
>>
>> Signed-off-by: Josh Boyer 
>> ---
>>  arch/x86/Kconfig | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index f67e839..d726b2d 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -825,7 +825,7 @@ config MAXSMP
>>  config NR_CPUS
>>  int "Maximum number of CPUs" if SMP && !MAXSMP
>>  range 2 8 if SMP && X86_32 && !X86_BIGSMP
>> -range 2 512 if SMP && !MAXSMP
>> +range 2 1024 if SMP && !MAXSMP
>>  default "1" if !SMP
>>  default "4096" if MAXSMP
>>  default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
>> X86_ES7000)
> 
> Any reason not to allow it to go up to 4096? The original concern was that 
> CPUS=4096 wasn't working very well and you had to select MAXSMP 
> deliberately and keep all the pieces.
> 
> But today it's all pretty robust so I see no reason why not to allow up to 
> 4096 CPUs.

Adding Russ from SGI as they are one of the consumers of a large CPU count.

I have no objections to raising this to 4096 FWIW.  I think it is a good idea,
and it is long overdue.

P.

> 
> Thanks,
> 
>   Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Ingo Molnar  wrote:

> 
> * Josh Boyer  wrote:
> 
> > The current range for SMP configs is 2 - 512, or a full 4096 in the case 
> > of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> > configuring a kernel for that means you are forced to set MAXSMP.  This 
> > adds additional unnecessary overhead.  While that overhead might be 
> > considered tiny for large machines, it isn't necessarily so if you are 
> > building a kernel that runs across a wide variety of machines.  We 
> > increase the range to 1024 to help with this.
> >
> > Signed-off-by: Josh Boyer 
> > ---
> >  arch/x86/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > index f67e839..d726b2d 100644
> > --- a/arch/x86/Kconfig
> > +++ b/arch/x86/Kconfig
> > @@ -825,7 +825,7 @@ config MAXSMP
> >  config NR_CPUS
> > int "Maximum number of CPUs" if SMP && !MAXSMP
> > range 2 8 if SMP && X86_32 && !X86_BIGSMP
> > -   range 2 512 if SMP && !MAXSMP
> > +   range 2 1024 if SMP && !MAXSMP
> > default "1" if !SMP
> > default "4096" if MAXSMP
> > default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
> > X86_ES7000)
> 
> Any reason not to allow it to go up to 4096? The original concern was 
> that CPUS=4096 wasn't working very well and you had to select MAXSMP 
> deliberately and keep all the pieces.

The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
512 bytes, too large to be kept on the kernel stack.

MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.

With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
With 512 CPUs it's 64 bytes - borderline.

So I think a better solution would be to allow an increase above 512 CPUs 
only if CONFIG_CPUMASK_OFFSTACK is also enabled.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Josh Boyer  wrote:

> The current range for SMP configs is 2 - 512, or a full 4096 in the case 
> of MAXSMP.  There are machines that have 1024 CPUs in them today and 
> configuring a kernel for that means you are forced to set MAXSMP.  This 
> adds additional unnecessary overhead.  While that overhead might be 
> considered tiny for large machines, it isn't necessarily so if you are 
> building a kernel that runs across a wide variety of machines.  We 
> increase the range to 1024 to help with this.
>
> Signed-off-by: Josh Boyer 
> ---
>  arch/x86/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index f67e839..d726b2d 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -825,7 +825,7 @@ config MAXSMP
>  config NR_CPUS
>   int "Maximum number of CPUs" if SMP && !MAXSMP
>   range 2 8 if SMP && X86_32 && !X86_BIGSMP
> - range 2 512 if SMP && !MAXSMP
> + range 2 1024 if SMP && !MAXSMP
>   default "1" if !SMP
>   default "4096" if MAXSMP
>   default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
> X86_ES7000)

Any reason not to allow it to go up to 4096? The original concern was that 
CPUS=4096 wasn't working very well and you had to select MAXSMP 
deliberately and keep all the pieces.

But today it's all pretty robust so I see no reason why not to allow up to 
4096 CPUs.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Josh Boyer jwbo...@redhat.com wrote:

 The current range for SMP configs is 2 - 512, or a full 4096 in the case 
 of MAXSMP.  There are machines that have 1024 CPUs in them today and 
 configuring a kernel for that means you are forced to set MAXSMP.  This 
 adds additional unnecessary overhead.  While that overhead might be 
 considered tiny for large machines, it isn't necessarily so if you are 
 building a kernel that runs across a wide variety of machines.  We 
 increase the range to 1024 to help with this.

 Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
 ---
  arch/x86/Kconfig | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
 index f67e839..d726b2d 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
 @@ -825,7 +825,7 @@ config MAXSMP
  config NR_CPUS
   int Maximum number of CPUs if SMP  !MAXSMP
   range 2 8 if SMP  X86_32  !X86_BIGSMP
 - range 2 512 if SMP  !MAXSMP
 + range 2 1024 if SMP  !MAXSMP
   default 1 if !SMP
   default 4096 if MAXSMP
   default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
 X86_ES7000)

Any reason not to allow it to go up to 4096? The original concern was that 
CPUS=4096 wasn't working very well and you had to select MAXSMP 
deliberately and keep all the pieces.

But today it's all pretty robust so I see no reason why not to allow up to 
4096 CPUs.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Ingo Molnar mi...@kernel.org wrote:

 
 * Josh Boyer jwbo...@redhat.com wrote:
 
  The current range for SMP configs is 2 - 512, or a full 4096 in the case 
  of MAXSMP.  There are machines that have 1024 CPUs in them today and 
  configuring a kernel for that means you are forced to set MAXSMP.  This 
  adds additional unnecessary overhead.  While that overhead might be 
  considered tiny for large machines, it isn't necessarily so if you are 
  building a kernel that runs across a wide variety of machines.  We 
  increase the range to 1024 to help with this.
 
  Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
  ---
   arch/x86/Kconfig | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
  
  diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
  index f67e839..d726b2d 100644
  --- a/arch/x86/Kconfig
  +++ b/arch/x86/Kconfig
  @@ -825,7 +825,7 @@ config MAXSMP
   config NR_CPUS
  int Maximum number of CPUs if SMP  !MAXSMP
  range 2 8 if SMP  X86_32  !X86_BIGSMP
  -   range 2 512 if SMP  !MAXSMP
  +   range 2 1024 if SMP  !MAXSMP
  default 1 if !SMP
  default 4096 if MAXSMP
  default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
  X86_ES7000)
 
 Any reason not to allow it to go up to 4096? The original concern was 
 that CPUS=4096 wasn't working very well and you had to select MAXSMP 
 deliberately and keep all the pieces.

The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
512 bytes, too large to be kept on the kernel stack.

MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.

With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
With 512 CPUs it's 64 bytes - borderline.

So I think a better solution would be to allow an increase above 512 CPUs 
only if CONFIG_CPUMASK_OFFSTACK is also enabled.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Prarit Bhargava


On 11/03/2013 05:18 AM, Ingo Molnar wrote:
 
 * Josh Boyer jwbo...@redhat.com wrote:
 
 The current range for SMP configs is 2 - 512, or a full 4096 in the case 
 of MAXSMP.  There are machines that have 1024 CPUs in them today and 
 configuring a kernel for that means you are forced to set MAXSMP.  This 
 adds additional unnecessary overhead.  While that overhead might be 
 considered tiny for large machines, it isn't necessarily so if you are 
 building a kernel that runs across a wide variety of machines.  We 
 increase the range to 1024 to help with this.

 Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
 ---
  arch/x86/Kconfig | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

 diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
 index f67e839..d726b2d 100644
 --- a/arch/x86/Kconfig
 +++ b/arch/x86/Kconfig
 @@ -825,7 +825,7 @@ config MAXSMP
  config NR_CPUS
  int Maximum number of CPUs if SMP  !MAXSMP
  range 2 8 if SMP  X86_32  !X86_BIGSMP
 -range 2 512 if SMP  !MAXSMP
 +range 2 1024 if SMP  !MAXSMP
  default 1 if !SMP
  default 4096 if MAXSMP
  default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
 X86_ES7000)
 
 Any reason not to allow it to go up to 4096? The original concern was that 
 CPUS=4096 wasn't working very well and you had to select MAXSMP 
 deliberately and keep all the pieces.
 
 But today it's all pretty robust so I see no reason why not to allow up to 
 4096 CPUs.

Adding Russ from SGI as they are one of the consumers of a large CPU count.

I have no objections to raising this to 4096 FWIW.  I think it is a good idea,
and it is long overdue.

P.

 
 Thanks,
 
   Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Russ Anderson
On Sun, Nov 03, 2013 at 09:29:16AM -0500, Prarit Bhargava wrote:
 On 11/03/2013 05:18 AM, Ingo Molnar wrote:
  
  * Josh Boyer jwbo...@redhat.com wrote:
  
  The current range for SMP configs is 2 - 512, or a full 4096 in the case 
  of MAXSMP.  There are machines that have 1024 CPUs in them today and 
  configuring a kernel for that means you are forced to set MAXSMP.  This 
  adds additional unnecessary overhead.  While that overhead might be 
  considered tiny for large machines, it isn't necessarily so if you are 
  building a kernel that runs across a wide variety of machines.  We 
  increase the range to 1024 to help with this.
 
  Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
  ---
   arch/x86/Kconfig | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)
 
  diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
  index f67e839..d726b2d 100644
  --- a/arch/x86/Kconfig
  +++ b/arch/x86/Kconfig
  @@ -825,7 +825,7 @@ config MAXSMP
   config NR_CPUS
 int Maximum number of CPUs if SMP  !MAXSMP
 range 2 8 if SMP  X86_32  !X86_BIGSMP
  -  range 2 512 if SMP  !MAXSMP
  +  range 2 1024 if SMP  !MAXSMP
 default 1 if !SMP
 default 4096 if MAXSMP
 default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
  X86_ES7000)
  
  Any reason not to allow it to go up to 4096? The original concern was that 
  CPUS=4096 wasn't working very well and you had to select MAXSMP 
  deliberately and keep all the pieces.
  
  But today it's all pretty robust so I see no reason why not to allow up to 
  4096 CPUs.
 
 Adding Russ from SGI as they are one of the consumers of a large CPU count.
 
 I have no objections to raising this to 4096 FWIW.  I think it is a good idea,
 and it is long overdue.

I obviously agree with increasing to 4096.
The bigger the better.

-- 
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc  r...@sgi.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Josh Boyer
On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
 
 * Ingo Molnar mi...@kernel.org wrote:
 
  
  * Josh Boyer jwbo...@redhat.com wrote:
  
   The current range for SMP configs is 2 - 512, or a full 4096 in the case 
   of MAXSMP.  There are machines that have 1024 CPUs in them today and 
   configuring a kernel for that means you are forced to set MAXSMP.  This 
   adds additional unnecessary overhead.  While that overhead might be 
   considered tiny for large machines, it isn't necessarily so if you are 
   building a kernel that runs across a wide variety of machines.  We 
   increase the range to 1024 to help with this.
  
   Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
   ---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
   
   diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
   index f67e839..d726b2d 100644
   --- a/arch/x86/Kconfig
   +++ b/arch/x86/Kconfig
   @@ -825,7 +825,7 @@ config MAXSMP
config NR_CPUS
 int Maximum number of CPUs if SMP  !MAXSMP
 range 2 8 if SMP  X86_32  !X86_BIGSMP
   - range 2 512 if SMP  !MAXSMP
   + range 2 1024 if SMP  !MAXSMP
 default 1 if !SMP
 default 4096 if MAXSMP
 default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
   X86_ES7000)
  
  Any reason not to allow it to go up to 4096? The original concern was 
  that CPUS=4096 wasn't working very well and you had to select MAXSMP 
  deliberately and keep all the pieces.

No real reason to not allow all the way to 4096, no.  I just started
small as I wanted 1024 specifically, and this is the simplest way to
achieve that.

 The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
 512 bytes, too large to be kept on the kernel stack.
 
 MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
 
 With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
 With 512 CPUs it's 64 bytes - borderline.
 
 So I think a better solution would be to allow an increase above 512 CPUs 
 only if CONFIG_CPUMASK_OFFSTACK is also enabled.

OK, that makes sense.  So in this scenario, we could probably either:

a) do away with MAXSMP entirely and just depend on
CONFIG_CPUMASK_OFFSTACK.

b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.

Which would you prefer?  Either is easy enough to code up, I just need
to know which I should shoot for.

josh
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread H. Peter Anvin
On 11/03/2013 07:57 AM, Josh Boyer wrote:
 
 OK, that makes sense.  So in this scenario, we could probably either:
 
 a) do away with MAXSMP entirely and just depend on
 CONFIG_CPUMASK_OFFSTACK.
 
 b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
 
 Which would you prefer?  Either is easy enough to code up, I just need
 to know which I should shoot for.
 

Let's get rid of MAXSMP.

-hpa


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* H. Peter Anvin h...@zytor.com wrote:

 On 11/03/2013 07:57 AM, Josh Boyer wrote:
  
  OK, that makes sense.  So in this scenario, we could probably either:
  
  a) do away with MAXSMP entirely and just depend on
  CONFIG_CPUMASK_OFFSTACK.
  
  b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
  
  Which would you prefer?  Either is easy enough to code up, I just need
  to know which I should shoot for.
  
 
 Let's get rid of MAXSMP.

I'd rather not, because it has caught a number of regressions in the past, 
because randconfig can wander over it and trigger those large configs.

randconfig will not randomize numeric Kconfig ranges, so there's no other 
mechanism right now to trigger those large config kernels.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: Allow NR_CPUS=1024

2013-11-03 Thread Ingo Molnar

* Josh Boyer jwbo...@redhat.com wrote:

 On Sun, Nov 03, 2013 at 11:21:32AM +0100, Ingo Molnar wrote:
  
  * Ingo Molnar mi...@kernel.org wrote:
  
   
   * Josh Boyer jwbo...@redhat.com wrote:
   
The current range for SMP configs is 2 - 512, or a full 4096 in the 
case 
of MAXSMP.  There are machines that have 1024 CPUs in them today and 
configuring a kernel for that means you are forced to set MAXSMP.  This 
adds additional unnecessary overhead.  While that overhead might be 
considered tiny for large machines, it isn't necessarily so if you are 
building a kernel that runs across a wide variety of machines.  We 
increase the range to 1024 to help with this.
   
Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
---
 arch/x86/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f67e839..d726b2d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -825,7 +825,7 @@ config MAXSMP
 config NR_CPUS
int Maximum number of CPUs if SMP  !MAXSMP
range 2 8 if SMP  X86_32  !X86_BIGSMP
-   range 2 512 if SMP  !MAXSMP
+   range 2 1024 if SMP  !MAXSMP
default 1 if !SMP
default 4096 if MAXSMP
default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP 
|| X86_ES7000)
   
   Any reason not to allow it to go up to 4096? The original concern was 
   that CPUS=4096 wasn't working very well and you had to select MAXSMP 
   deliberately and keep all the pieces.
 
 No real reason to not allow all the way to 4096, no.  I just started
 small as I wanted 1024 specifically, and this is the simplest way to
 achieve that.
 
  The other reason was CONFIG_CPUMASK_OFFSTACK: with 4096 CPUs a cpumask is 
  512 bytes, too large to be kept on the kernel stack.
  
  MAXSMP forces CONFIG_CPUMASK_OFFSTACK so there's no such concern there.
  
  With 1024 CPUs a single cpumask is 128 bytes - rather significant as well. 
  With 512 CPUs it's 64 bytes - borderline.
  
  So I think a better solution would be to allow an increase above 512 CPUs 
  only if CONFIG_CPUMASK_OFFSTACK is also enabled.
 
 OK, that makes sense.  So in this scenario, we could probably either:
 
 a) do away with MAXSMP entirely and just depend on 
 CONFIG_CPUMASK_OFFSTACK.
 
 b) make MAXSMP something even higher than 4096.  Like 5120 or 6144, etc.
 
 Which would you prefer?  Either is easy enough to code up, I just need 
 to know which I should shoot for.

Why touch MAXSMP at all? It's really just a shortcut for 'configure the 
kernel silly large', via a single option, nothing else. You are not forced 
to use it and it should not affect configurability of NR_CPUS.

What we _really_ want here is to fix NR_CPUS setting: to extend its range 
and to enforce that NR_CPUS cannot be set larger than 512 without setting 
CONFIG_CPUMASK_OFFSTACK.

Thanks,

Ingo
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] x86: Allow NR_CPUS=1024

2013-11-01 Thread Josh Boyer
The current range for SMP configs is 2 - 512, or a full 4096 in the case of
MAXSMP.  There are machines that have 1024 CPUs in them today and configuring
a kernel for that means you are forced to set MAXSMP.  This adds additional
unnecessary overhead.  While that overhead might be considered tiny for large
machines, it isn't necessarily so if you are building a kernel that runs
across a wide variety of machines.  We increase the range to 1024 to help
with this.

Signed-off-by: Josh Boyer 
---
 arch/x86/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f67e839..d726b2d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -825,7 +825,7 @@ config MAXSMP
 config NR_CPUS
int "Maximum number of CPUs" if SMP && !MAXSMP
range 2 8 if SMP && X86_32 && !X86_BIGSMP
-   range 2 512 if SMP && !MAXSMP
+   range 2 1024 if SMP && !MAXSMP
default "1" if !SMP
default "4096" if MAXSMP
default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
X86_ES7000)
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] x86: Allow NR_CPUS=1024

2013-11-01 Thread Josh Boyer
The current range for SMP configs is 2 - 512, or a full 4096 in the case of
MAXSMP.  There are machines that have 1024 CPUs in them today and configuring
a kernel for that means you are forced to set MAXSMP.  This adds additional
unnecessary overhead.  While that overhead might be considered tiny for large
machines, it isn't necessarily so if you are building a kernel that runs
across a wide variety of machines.  We increase the range to 1024 to help
with this.

Signed-off-by: Josh Boyer jwbo...@fedoraproject.org
---
 arch/x86/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index f67e839..d726b2d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -825,7 +825,7 @@ config MAXSMP
 config NR_CPUS
int Maximum number of CPUs if SMP  !MAXSMP
range 2 8 if SMP  X86_32  !X86_BIGSMP
-   range 2 512 if SMP  !MAXSMP
+   range 2 1024 if SMP  !MAXSMP
default 1 if !SMP
default 4096 if MAXSMP
default 32 if SMP  (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || 
X86_ES7000)
-- 
1.8.3.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/