Message ID | 1726176470-13133-1-git-send-email-ernis@linux.microsoft.com (mailing list archive) |
---|---|
Headers | show |
Series | Disable Suspend-to-Idle in Hyper-V and Fix Hibernation Interruptions | expand |
Hi Vennela, [+linux-pm, Rafael, Pavel, Len] Let's CC the linux-pm mailing list for discussions related to power management features (such as suspend/resume and hibernation). On Thu, Sep 12, 2024 at 02:27:47PM -0700, Erni Sri Satya Vennela wrote: > It has been reported that Hyper-V VM users can unintentionally abort > hibernation by mouse or keyboard movements. To address this issue, > we have decided to remove the wakeup events for the Hyper-V keyboard > and mouse driver. From the description of the problem, it doesn't occur to me that this is specific to Hyper-V. I was wondering if VMs on other hypervisor platforms wouldn't face the same issue? I'd like to recommend exploring how this problem has been solved for other platforms, so that we can reuse the same approach here. (If it turns out that removing keyboard and mouse wakeup events is the way to go, then great; otherwise, we can learn and apply the recommended solution). > However, this change introduces another problem: > Suspend-to-Idle brings the system down with no method to wake it back up. > > Given that there are no real users of Suspend-to-Idle in Hyper-V, > we have decided to disable this feature for VMBus. This results in: > > $echo freeze > /sys/power/state > > bash: echo: write error: Operation not supported > > The keyboard and mouse were previously registered as wakeup sources to > interrupt the freeze operation in a VM. Since the freeze operation itself > is no longer supported, we are disabling them as wakeup events. > > This patchset ensures that the system remains stable and prevents > unintended interruptions during hibernation. > > Erni Sri Satya Vennela (3): > Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus > Revert "Input: hyperv-keyboard - register as a wakeup source" > Revert "HID: hyperv: register as a wakeup source" > > drivers/hid/hid-hyperv.c | 6 ------ > drivers/hv/vmbus_drv.c | 15 ++++++++++++++- > drivers/input/serio/hyperv-keyboard.c | 12 ------------ > 3 files changed, 14 insertions(+), 19 deletions(-) > > -- > 2.34.1 > > Regards, Srivatsa Microsoft Linux Systems Group
On Tue, Sep 24, 2024 at 03:26:14AM +0000, Srivatsa S. Bhat wrote: > Hi Vennela, > > [+linux-pm, Rafael, Pavel, Len] > > Let's CC the linux-pm mailing list for discussions related to power > management features (such as suspend/resume and hibernation). > > On Thu, Sep 12, 2024 at 02:27:47PM -0700, Erni Sri Satya Vennela wrote: > > It has been reported that Hyper-V VM users can unintentionally abort > > hibernation by mouse or keyboard movements. To address this issue, > > we have decided to remove the wakeup events for the Hyper-V keyboard > > and mouse driver. > > >From the description of the problem, it doesn't occur to me that this > is specific to Hyper-V. I was wondering if VMs on other hypervisor > platforms wouldn't face the same issue? I'd like to recommend > exploring how this problem has been solved for other platforms, so > that we can reuse the same approach here. (If it turns out that > removing keyboard and mouse wakeup events is the way to go, then > great; otherwise, we can learn and apply the recommended solution). > This is how the keyboard and mouse devices can be disabled manually and is the proper way to address this issue. >echo disabled > /sys/bus/vmbus/drivers/hid_hyperv/$HV_MOUSE/power/wakeup >echo disabled > >/sys/bus/vmbus/drivers/hyperv_keyboard/$HV_KEYBOARD/power/wakeup >systemctl hibernate But based on customer feedback we are totally eliminating them as wakeup events. Initially, they were registered as wakeup events to wakeup from Suspend-to-Idle state. Since there is no real user of this operation, we are disabling them to ensure they do not interfere with hibernation process. > > However, this change introduces another problem: > > Suspend-to-Idle brings the system down with no method to wake it back up. > > > > Given that there are no real users of Suspend-to-Idle in Hyper-V, > > we have decided to disable this feature for VMBus. This results in: > > > > $echo freeze > /sys/power/state > > > bash: echo: write error: Operation not supported > > > > The keyboard and mouse were previously registered as wakeup sources to > > interrupt the freeze operation in a VM. Since the freeze operation itself > > is no longer supported, we are disabling them as wakeup events. > > > > This patchset ensures that the system remains stable and prevents > > unintended interruptions during hibernation. > > > > Erni Sri Satya Vennela (3): > > Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus > > Revert "Input: hyperv-keyboard - register as a wakeup source" > > Revert "HID: hyperv: register as a wakeup source" > > > > drivers/hid/hid-hyperv.c | 6 ------ > > drivers/hv/vmbus_drv.c | 15 ++++++++++++++- > > drivers/input/serio/hyperv-keyboard.c | 12 ------------ > > 3 files changed, 14 insertions(+), 19 deletions(-) > > > > -- > > 2.34.1 > > > > > > Regards, > Srivatsa > Microsoft Linux Systems Group
It has been reported that Hyper-V VM users can unintentionally abort hibernation by mouse or keyboard movements. To address this issue, we have decided to remove the wakeup events for the Hyper-V keyboard and mouse driver. However, this change introduces another problem: Suspend-to-Idle brings the system down with no method to wake it back up. Given that there are no real users of Suspend-to-Idle in Hyper-V, we have decided to disable this feature for VMBus. This results in: $echo freeze > /sys/power/state > bash: echo: write error: Operation not supported The keyboard and mouse were previously registered as wakeup sources to interrupt the freeze operation in a VM. Since the freeze operation itself is no longer supported, we are disabling them as wakeup events. This patchset ensures that the system remains stable and prevents unintended interruptions during hibernation. Erni Sri Satya Vennela (3): Drivers: hv: vmbus: Disable Suspend-to-Idle for VMBus Revert "Input: hyperv-keyboard - register as a wakeup source" Revert "HID: hyperv: register as a wakeup source" drivers/hid/hid-hyperv.c | 6 ------ drivers/hv/vmbus_drv.c | 15 ++++++++++++++- drivers/input/serio/hyperv-keyboard.c | 12 ------------ 3 files changed, 14 insertions(+), 19 deletions(-)