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,
>  };
>  
> 


Reply via email to