From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:55662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNkGd-0007td-PH for qemu-devel@nongnu.org; Mon, 15 Oct 2012 08:59:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TNkGX-0000uu-W9 for qemu-devel@nongnu.org; Mon, 15 Oct 2012 08:59:35 -0400 Received: from mx1.redhat.com ([209.132.183.28]:23145) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TNkGX-0000uo-MK for qemu-devel@nongnu.org; Mon, 15 Oct 2012 08:59:29 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9FCxSQi030612 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 15 Oct 2012 08:59:29 -0400 Message-ID: <507C08D1.9070607@redhat.com> Date: Mon, 15 Oct 2012 15:00:01 +0200 From: Hans de Goede MIME-Version: 1.0 References: <1350297511-25437-1-git-send-email-hdegoede@redhat.com> <1350297511-25437-7-git-send-email-hdegoede@redhat.com> <507BF0C6.9010300@redhat.com> In-Reply-To: <507BF0C6.9010300@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 06/22] ehci: Speed up the timer of raising int from the async schedule List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org 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. Regards, Hans