> > struct smp_ops_t smp_85xx_ops = { > > .kick_cpu = smp_85xx_kick_cpu, > > -#ifdef CONFIG_KEXEC > > +#ifdef CONFIG_HOTPLUG_CPU > > + .cpu_disable = generic_cpu_disable, > > + .cpu_die = generic_cpu_die, > > +#endif > > .give_timebase = smp_generic_give_timebase, > > .take_timebase = smp_generic_take_timebase, > > -#endif > > }; > > We need to stop using smp_generic_give/take_timebase, not expand its use. > This stuff breaks under hypervisors where timebase can't be written. It > wasn't too bad before since we generally didn't enable CONFIG_KEXEC, but > we're more likely to want CONFIG_HOTPLUG_CPU.
I understand that the guest OS shouldn't change the real timebase. But no matter what timebase syncing method we are using, the timebase need to be changed anyway for certain features. I think the better way should be trapping timebase modification in the hypervisor. > > Do the timebase sync the way U-Boot does -- if you find the appropriate > guts node in the device tree. That involves stopping timebase for a short time on all cores including the cores that are still online. Won't this be a potential issue? - Leo _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev