[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3 of 5] rombios/ata: Reading this status register has no relevant side effects



On 30/07/12 22:57, Alan Cox wrote:
> On Mon, 30 Jul 2012 20:47:22 +0100
> Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>
>> So taking two traps when one will do is pointless.  This codepath is on the 
>> int
>> 0x13 hot path, and removing it has about a 30% reduction in the number of 
>> traps
>> to Qemu during Win7 boot.
> You can't read the status for 400nS after a command issue, so throwing
> one away is a typical way to handle that.

On real hardware, but virtual hardware has no such restriction.  This
version of rombios is never going to be running on real hardware.

>
> All of this is optimising the wrong thing.
>
> The problem is that neither kvm not xen have the most basic prediction
> handlers in the kernel side exception code so keep hitting qemu.
>
> For a 99% of the ATA transfers you can predict the next few in and outs
> and pre-load them into your trap handler avoiding bouncing into qemu, on
> a miss you go back into qemu and load the next prediction block (or tree
> even)
>
> That's the kind of optimisation that will really make it fly.

Quite likely, but that is a substantial architectural change, whereas
these patches are the result of a few hours of work and many hours of
testing.

>
> Alan
>

-- 
Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer
T: +44 (0)1223 225 900, http://www.citrix.com


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.