diff options
author | Joelle van Dyne <j@getutm.app> | 2023-01-01 17:08:21 -0800 |
---|---|---|
committer | Jason Wang <jasowang@redhat.com> | 2023-02-17 13:31:33 +0800 |
commit | 993f71ee3360450c2758964adbdfb13f4d460162 (patch) | |
tree | fe0a5c5e7d397b66921a7ffd98e2434a45ce721e /net/vmnet_int.h | |
parent | 0c65ef4fbbf3d3c1c4435f06db7648ab67935a19 (diff) |
vmnet: stop recieving events when VM is stopped
When the VM is stopped using the HMP command "stop", soon the handler will
stop reading from the vmnet interface. This causes a flood of
`VMNET_INTERFACE_PACKETS_AVAILABLE` events to arrive and puts the host CPU
at 100%. We fix this by removing the event handler from vmnet when the VM
is no longer in a running state and restore it when we return to a running
state.
Signed-off-by: Joelle van Dyne <j@getutm.app>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/vmnet_int.h')
-rw-r--r-- | net/vmnet_int.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/vmnet_int.h b/net/vmnet_int.h index d0b90594f2..a8a033dc96 100644 --- a/net/vmnet_int.h +++ b/net/vmnet_int.h @@ -45,6 +45,8 @@ typedef struct VmnetState { int packets_send_end_pos; struct iovec iov_buf[VMNET_PACKETS_LIMIT]; + + VMChangeStateEntry *change; } VmnetState; const char *vmnet_status_map_str(vmnet_return_t status); |