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. Besides this, I would probably need some other OS to test offlining the BSP - Linux does not appear to support it. Jan
Attachment:
signature.asc
Description: OpenPGP digital signature