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

Re: [Xen-devel][PATCH][VT] Multithread IDE device model ( was: RE: [Xen-devel] [PATCH]Make IDE dma tranfer run in another thread inqemu)

Dong, Eddie wrote:

Hi Anthony:
        I think you made misunderstanding to this patch. Current Qemu in
Xen is already DMA enabled. If I remembered correctly, it happens since
we change DM from Bochs to Qemu.
        Without this patch, guest IO operation that trigger DMA (like
port 0xc000 write) will wait in Qemu till the DMA operation is
completed, that is original single thread IDE device model mean. With this patch, a seperate thread will service the dma
operation started by IO operation, and interrupt target processor when
it is completed, while the main thread can rapidly return to guest (like
0xc000 write).
Yup, the site I linked to has two patches: a DMA patch and a concurrent IO patch.

Here's a direct link: http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_concurrent_io.patch

It's using the same basic approach as your patch (another thread waits for completion of IO event). I'm pointing it out though in case there's a desire to stay closer to QEMU upstream when possible. Might enable more code sharing in the future.


Anthony Liguori


Anthony Liguori wrote:
Hi Eddie,

There was a patch floating around on qemu-devel recently to make IDE
DMA concurrent.  Fabrice is planning to include it in QEMU as long as
there are no regressions.  It may already be in CVS.

The reported performance improvement IO is up to 20% so it's
definitely worth applying...


Anthony Liguori

Xen-devel mailing list



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