On Sun, Mar 07, 2010 at 02:44:50PM +0100, Jan Kiszka wrote: > Jan Kiszka wrote: > > Gleb Natapov wrote: > >> On Thu, Mar 04, 2010 at 02:03:54PM +0200, Gleb Natapov wrote: > >>>> BTW, do real systems allow to hot plug BSP as well? Or how is the case > >>>> handled when you unplug the BSP and then reboot the box? > >>>> > >>> Did you mean hot unplug BSP? OS determines what CPU is BSP by checking > >>> BSP bit in APIC base register. My guess is that there is some pin on CPU > >>> which value is mirrored as BSP bit in APIC base register. Board may have > >>> some logic to check what sockets are populated and chose one of them as > >>> BSP by pulling its pin up. But this is only guess. > >>> > >> Actually this is much more simple: > >> SDM 8.4.1: > >> The MP initialization protocol defines two classes of processors: the > >> bootstrap processor (BSP) and the application processors (APs). Following > >> a power-up or RESET of an MP system, system hardware dynamically selects > >> one of the processors on the system bus as the BSP. The remaining > >> processors are designated as APs. > >> And by "hardware" they mean CPUs themselves over apic BUS. > > > > That should be straightforward, will have a look. I just want to ensure > > that cpu_is_bsp delivers a valid result all the time. Otherwise we will > > run into ordering issues again once some new user of this services shows up. > > > > ...but you have to explain to me how CPU hotplugging in current qemu-kvm > is supposed to work. 'cpu_set n offline' does not have any visible > effect: Linux still allows to bring such a CPU online again, and it is > also brought up again after reset. Current BIOS does not support cpu hotplug/unplug. If after reset unplugged vcpu is brought up again then there is a bug there somewhere. > > Besides this, I would probably need some other OS to test offlining the > BSP - Linux does not appear to support it. > -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html