Il 06/11/2012 15:08, Hans de Goede ha scritto: > Our ehci code has is capable of significantly lowering the wakeup rate > for the hcd emulation while the device is idle. It is possible to add > similar code ot the uhci emulation, but that simply is not there atm, > and there is no reason why a (virtual) usb device can not be a USB-2 device. > > Making usb-hid devices connect to the emulated ehci controller instead > of the emulated uhci controller on vms which have both lowers the cpuload > for a fully idle vm from 20% to 2-3% (on my laptop).
You need this to be dependent on the machine version. Otherwise the USB paths may change and migration will break. Paolo > Signed-off-by: Hans de Goede <hdego...@redhat.com> > --- > hw/usb/dev-hid.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c > index 69f89ff..96ba0c0 100644 > --- a/hw/usb/dev-hid.c > +++ b/hw/usb/dev-hid.c > @@ -97,7 +97,7 @@ static const USBDescIface desc_iface_mouse = { > .bEndpointAddress = USB_DIR_IN | 0x01, > .bmAttributes = USB_ENDPOINT_XFER_INT, > .wMaxPacketSize = 4, > - .bInterval = 0x0a, > + .bInterval = 8, > }, > }, > }; > @@ -127,7 +127,7 @@ static const USBDescIface desc_iface_tablet = { > .bEndpointAddress = USB_DIR_IN | 0x01, > .bmAttributes = USB_ENDPOINT_XFER_INT, > .wMaxPacketSize = 8, > - .bInterval = 0x0a, > + .bInterval = 8, > }, > }, > }; > @@ -158,7 +158,7 @@ static const USBDescIface desc_iface_keyboard = { > .bEndpointAddress = USB_DIR_IN | 0x01, > .bmAttributes = USB_ENDPOINT_XFER_INT, > .wMaxPacketSize = 8, > - .bInterval = 0x0a, > + .bInterval = 8, > }, > }, > }; > @@ -224,6 +224,7 @@ static const USBDesc desc_mouse = { > .iSerialNumber = STR_SERIALNUMBER, > }, > .full = &desc_device_mouse, > + .high = &desc_device_mouse, > .str = desc_strings, > }; > > @@ -237,6 +238,7 @@ static const USBDesc desc_tablet = { > .iSerialNumber = STR_SERIALNUMBER, > }, > .full = &desc_device_tablet, > + .high = &desc_device_tablet, > .str = desc_strings, > }; > > @@ -250,6 +252,7 @@ static const USBDesc desc_keyboard = { > .iSerialNumber = STR_SERIALNUMBER, > }, > .full = &desc_device_keyboard, > + .high = &desc_device_keyboard, > .str = desc_strings, > }; > >