[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

> Alan

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

Xen-devel mailing list



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