Messages in this thread | | | From | Dexuan Cui <> | Subject | RE: [PATCH] smp: Do not warn if smp_call_function_single() is doing a self call. | Date | Wed, 17 Apr 2019 23:50:33 +0000 |
| |
> From: Thomas Gleixner <tglx@linutronix.de> > Sent: Tuesday, April 16, 2019 1:13 PM > > ... > > True. And before we start digging deeper into this, let's step back: why > > do we need to do clockevents_unbind_device() on hybernation? Can we just > > disable the device and re-enable it back on resume?
We do clockevents_unbind_device as part of hv_synic_cleanup(), which is called as a CPU hotplug callback: see vmbus_bus_init(): ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "hyperv/vmbus:online", hv_synic_init, hv_synic_cleanup);
Yes, it looks the right thing is to implement the suspend/resume callbacks of the clock_event_device. Thank you for the suggestion! I'll look into this.
> Yes. That's the right thing to do. Simple solution is to implement the > suspend/resume callbacks on the clock events device and be done with it.
Agreed.
> > Actually, all usages of clockevents_unbind_device() in kernel are > > limited to Hyper-V and with Michael's patches moving this out of VMBus > > driver I think it can go away completely.
Thanks for the heads-up! I'll rebase to Michael's patches.
> Correct. There was a driver which required that, but that's gone by now and > of course nobody noticed that it was the last user. The reason why this > exists was to allow switching out an active clocksource similar to the > sysfs unbind file but without user space interaction. > > tglx
Thanks for the background sharing!
- Dexuan
| |