lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081004183014.769836ff@redhat.com>
Date:	Sat, 4 Oct 2008 18:30:14 -0400
From:	Chuck Ebbert <cebbert@...hat.com>
To:	Andi Kleen <andi@...stfloor.org>
Cc:	Ingo Molnar <mingo@...e.hu>, linux-kernel@...r.kernel.org,
	Arjan van de Ven <arjan@...radead.org>
Subject: Re: <PING> Re: [patch x86/core] x86: allow number of additional
 hotplug CPUs to be set at compile time

On Sat, 04 Oct 2008 18:52:06 +0200
Andi Kleen <andi@...stfloor.org> wrote:

> 
> Ping? Can you please test the patch?  I think that's the correct fix.
>  
> I see Ingo unfortunately merged your initial broken hack, but it's wrong
> and when actually used on a distribution will break real CPU hotplug there.
> Please don't enable that CONFIG option in Fedora. Ideally drop
> the CONFIG patch completely because it cannot do much good.
> 
> It should be replaced with the appended patch, which should go into 2.6.27
> after it is confirmed to fix the problem.
> 

Yes, it works and I don't see how it could cause any problems.

Ingo, can we get this in 2.6.27? You can drop my original patch.

Tested-by: Chuck Ebbert <cebbert@...hat.com>

> > ---
> >
> > Take disabled cpus into account in alternative.c
> >
> > Otherwise an UP system with one hotplug CPU will not 
> > go into UP mode.
> >
> > Signed-off-by: Andi Kleen <ak@...ux.intel.com>
> >
> > Index: linux-2.6.27-rc4-misc/arch/x86/kernel/alternative.c
> > ===================================================================
> > --- linux-2.6.27-rc4-misc.orig/arch/x86/kernel/alternative.c
> > +++ linux-2.6.27-rc4-misc/arch/x86/kernel/alternative.c
> > @@ -454,7 +454,7 @@ void __init alternative_instructions(voi
> >  					    _text, _etext);
> >  
> >  		/* Only switch to UP mode if we don't immediately boot others */
> > -		if (num_possible_cpus() == 1 || setup_max_cpus <= 1)
> > +		if (num_possible_cpus() - additional_cpus == 1 || setup_max_cpus <= 1)
> >  			alternatives_smp_switch(0);
> >  	}
> >  #endif
> > Index: linux-2.6.27-rc4-misc/arch/x86/kernel/smpboot.c
> > ===================================================================
> > --- linux-2.6.27-rc4-misc.orig/arch/x86/kernel/smpboot.c
> > +++ linux-2.6.27-rc4-misc/arch/x86/kernel/smpboot.c
> > @@ -1276,7 +1276,7 @@ static void remove_siblinginfo(int cpu)
> >  	cpu_clear(cpu, cpu_sibling_setup_map);
> >  }
> >  
> > -static int additional_cpus __initdata = -1;
> > +int additional_cpus = -1;
> >  
> >  static __init int setup_additional_cpus(char *s)
> >  {
> > Index: linux-2.6.27-rc4-misc/include/asm-x86/smp.h
> > ===================================================================
> > --- linux-2.6.27-rc4-misc.orig/include/asm-x86/smp.h
> > +++ linux-2.6.27-rc4-misc/include/asm-x86/smp.h
> > @@ -204,5 +204,7 @@ static inline int hard_smp_processor_id(
> >  extern void cpu_uninit(void);
> >  #endif
> >  
> > +extern int additional_cpus;
> > +
> >  #endif /* __ASSEMBLY__ */
> >  #endif
> > -- 
> > ak@...ux.intel.com
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ