Messages in this thread | | | Subject | Re: [PATCH v3 6/9] x86/smpboot: Support parallel startup of secondary CPUs | From | David Woodhouse <> | Date | Tue, 01 Feb 2022 10:25:01 +0000 |
| |
On Mon, 2022-01-31 at 14:59 +0100, Borislav Petkov wrote: > On Sat, Jan 29, 2022 at 12:04:19PM +0000, David Woodhouse wrote: > > I've rebased and pushed to > > https://git.infradead.org/users/dwmw2/linux.git/shortlog/refs/heads/parallel-5.17 > > > > > > I'll do some more testing and repost the series during next week. The > > win is slightly more modest than the original patch sets because it now > > only parallelises x86/cpu:kick. I'm going to do more careful review and > > testing before doing the same for x86/cpu:wait-init in a later series. > > You can see that coming together in the git tree but I'm only going to > > post up to the 'Serialise topology updates' patch again for now. > > Btw, Mr. Cooper points out a very important aspect and I don't know > whether you've verified this already or whether this is not affected > by your series ... yet. In any case it should be checked: microcode > loading. > > See __reload_late() and all that dance we do to keep SMT siblings do > nothing at the same time while updating microcode. > > With the current boot order, the APs should all do nothing so they won't > need that sync for early loading - load_ucode_{ap,bsp} - but I don't > know if you're changing that order with the parallel startup. > > If you do, you'll probably need such syncing for the early loading > too...
Thanks. It looks like that is only invoked after boot, with a write to /sys/devices/system/cpu/microcode/reload.
My series is only parallelising the initial bringup at boot time, so it shouldn't make any difference.
However... it does look like there's nothing preventing a sibling being brought online *while* the dance you mention above is occurring.
Shouldn't __reload_late() take the device_hotplug_lock to prevent that? [unhandled content-type:application/pkcs7-signature] | |