Messages in this thread | | | Subject | Re: v3.9 - CPU hotplug and microcode earlier loading hits a mutex deadlock (x86_cpu_hotplug_driver_mutex) | From | Toshi Kani <> | Date | Wed, 08 May 2013 12:19:45 -0600 |
| |
On Wed, 2013-05-08 at 12:32 -0400, Konrad Rzeszutek Wilk wrote: > On Wed, May 08, 2013 at 04:29:49PM +0200, Borislav Petkov wrote: > > On Wed, May 08, 2013 at 10:03:42AM -0400, Konrad Rzeszutek Wilk wrote: > > > > [ … snip some funky BIOS code ] > > > > > [here it shifts and continues on testing each CPU bit] > > > > > > > Questions over questions...? > > > > > > I probably went overboard with my answers :-) > > > > Konrad, you're killing me! :-) You actually went and looked at the > > BIOS disassembly voluntarily. You must be insane, I think you should > > immediately go to the doctor now for a thorough checkup. :-) > > > > I think I know who I can sling BIOS issues now to. > > Great .. :-) > > > > > > Looks like save_mc_for_early would need another, local mutex to fix that. > > > > > > Let me try that. Thanks for the suggestion. > > > > Ok, seriously now: yeah, this was just an idea, it should at least get > > the nesting out of the way. > > > > About the BIOS deal: you're probably staring at some BIOS out there > > but is this the way that it is actually going to be implemented on > > the physical hotplug BIOS? I mean, I've only heard rumors about IVB > > supporting physical hotplug but do you even have access to such BIOS to > > verify? > > Unfortunatly not. I am getting an IvyTown box so hopefully that has this > support. But I thought that Fenghua did since he mentioned in the patch. > > Besides that I think this can also appear on VMWare if one is doing > CPU hotplug and on some HP machines - let me CC the relevant people > extracted from drivers/acpi/processor_driver.c. > (see https://lkml.org/lkml/2013/5/7/588 for the thread)
From the stack trace, it looks like a bug in save_mc_for_early(). This function may not call cpu_hotplug_driver_lock() during CPU online. I suppose it intends to protect from CPU offline when microcode is updated outside of the boot/CPU online context. If it indeed supports updating the microcode without using reboot/cpu hotplug, the lock should be held when such update request is made.
Thanks, -Toshi
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |