[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/22] ehci: Speed up the timer of raising int f
From: |
Gerd Hoffmann |
Subject: |
Re: [Qemu-devel] [PATCH 06/22] ehci: Speed up the timer of raising int from the async schedule |
Date: |
Wed, 17 Oct 2012 13:01:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.8) Gecko/20121012 Thunderbird/10.0.8 |
On 10/15/12 15:00, Hans de Goede wrote:
> Hi,
>
> On 10/15/2012 01:17 PM, Gerd Hoffmann wrote:
>> On 10/15/12 12:38, Hans de Goede wrote:
>>> Often the guest will queue up new packets in response to a packet, in
>>> the
>>> async schedule with its IOC flag set, completing. By speeding up the
>>> frame-timer, we notice these new packets earlier. This increases the
>>> speed (MB/s) of a Linux guest reading from a USB mass storage device
>>> by a
>>> factor of 1.15 on top of the "Improve latency of interrupt delivery"
>>> speed-ups, both with and without input pipelining enabled.
>>
>> Why not just set async_stepdown to 0?
>
> We already do that whenever we run a package completion (it get sets when
> we move to the executing stage). What this patch does is request the
> frame timer to run again in 500 usecs instead of after 1 ms, thus making
> us see and process async transfers faster when they are queued up in
> response to just completed packages (which we've told the guest about with
> the int interrupt). This makes the USB-bus / device idle time between
> any 2 transfers of the 3 transfer involving USB storage BOT time shorter,
> thereby speeding things up.
Don't feel like having two mechanisms for wakeup rate control. Can't we
integrate this with async_stepdown? Changing the baseline maybe, so
stepdown=0 doesn't mean 1000 Hz but 2000 Hz?
cheers,
Gerd
[Qemu-devel] [PATCH 02/22] uhci: Move checks to continue queuing to uhci_fill_queue(), Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 04/22] ehci: Set int flag on a short input packet, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 07/22] ehci: Detect going in circles when filling the queue, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 08/22] xhci: Add a xhci_ep_nuke_one_xfer helper function, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 05/22] ehci: Improve latency of interrupt delivery and async schedule scanning, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 10/22] usb: Add USB_RET_ADD_TO_QUEUE packet result code, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 09/22] usb: Rename __usb_packet_complete to usb_packet_complete_one, Hans de Goede, 2012/10/15
[Qemu-devel] [PATCH 13/22] usb: Add an int_req flag to USBPacket, Hans de Goede, 2012/10/15