Dong, Eddie
2005-Oct-26 15:25 UTC
RE: [Xen-devel][PATCH][VT] Multithread IDE device model ( was: RE: [Xen-devel] [PATCH]Make IDE dma tranfer run in another thread inqemu)
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). Thanks,eddie 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. > > See > http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html > > The reported performance improvement IO is up to 20% so it''s > definitely worth applying... > > Regards, > > Anthony Liguori >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Anthony Liguori
2005-Oct-26 22:05 UTC
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. Regards, Anthony Liguori>Thanks,eddie > >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. >> >>See >>http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html >> >>The reported performance improvement IO is up to 20% so it''s >>definitely worth applying... >> >>Regards, >> >>Anthony Liguori >> >> >> > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel