Dong, Eddie
2005-Oct-26 14:31 UTC
[Xen-devel][PATCH][VT] Multithread IDE device model ( was: RE: [Xen-devel] [PATCH]Make IDE dma tranfer run in another thread inqemu)
Keir: This is to to make the IDE device model multithreading so that the VMX domain IO access completion (triggering DMA operation) can be asynchronize with the completion of DMA operation. With this patch we get 8%--14% performance gain for kernel build. Thanks, eddie Yang, Xiaowei wrote:> Originally in qemu when a IDE dma transfer is started which is > triggered by access to 0xc000 port in VMX, qemu will blocked there > until it finished. And during that block, there are extra dom > switches between dom0 and idle domain, and VMX can''t be resumed. By > making real IDE dma tranfer run in another thread, qemu will return > and VMX resume on time and there are fewer cycle wasted. > > Signed-off-by: Ke Yu <ke.yu@intel.com> > Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com> > > -Xiaowei_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Anthony Liguori
2005-Oct-26 15:13 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:>Keir: > This is to to make the IDE device model multithreading so that >the VMX domain IO access completion (triggering DMA operation) can be >asynchronize with the completion of DMA operation. With this patch we >get 8%--14% performance gain for kernel build. > Thanks, >eddie > >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>Yang, Xiaowei wrote: > > >>Originally in qemu when a IDE dma transfer is started which is >>triggered by access to 0xc000 port in VMX, qemu will blocked there >>until it finished. And during that block, there are extra dom >>switches between dom0 and idle domain, and VMX can''t be resumed. By >>making real IDE dma tranfer run in another thread, qemu will return >>and VMX resume on time and there are fewer cycle wasted. >> >>Signed-off-by: Ke Yu <ke.yu@intel.com> >>Signed-off-by: Xiaowei Yang <xiaowei.yang@intel.com> >> >>-Xiaowei >> >> > > >_______________________________________________ >Xen-devel mailing list >Xen-devel@lists.xensource.com >http://lists.xensource.com/xen-devel > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel