qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 2/2/][RFT] Make DMA bottom-half driven (v2)


From: Edgar E. Iglesias
Subject: [Qemu-devel] Re: [PATCH 2/2/][RFT] Make DMA bottom-half driven (v2)
Date: Fri, 24 Oct 2008 22:20:40 +0200
User-agent: Mutt/1.5.16 (2007-06-09)

On Fri, Oct 24, 2008 at 02:15:40PM -0500, Anthony Liguori wrote:
> The current DMA routines are driven by a call in main_loop_wait() after every
> select.
> 
> This patch converts the DMA code to be driven by a constantly rescheduled
> bottom half.  The advantage of using a scheduled bottom half is that we can
> stop scheduling the bottom half when there no DMA channels are runnable.  This
> means we can potentially detect this case and sleep longer in the main loop.
> 
> The only two architectures implementing DMA_run() are cris and i386.  For 
> cris,
> I converted it to a simple repeating bottom half.  I've only compile tested
> this as cris does not seem to work on a 64-bit host.  It should be 
> functionally
> identical to the previous implementation so I expect it to work.

Hello,

Thanks for the update. This version works much better for CRIS/ETRAX.
The code looks good as far as I can tell.

> 
> For x86, I've made sure to only fire the DMA bottom half if there is a DMA
> channel that is runnable.  The effect of this is that unless you're using sb16
> or a floppy disk, the DMA bottom half never fires.
> 
> You probably should test this malc.  My own benchmarks actually show slight
> improvement by it's possible the change in timing could affect your demos.
> 
> Since v1, I've changed the code to use a BH instead of a timer.  cris at least
> seems to depend on faster than 10ms polling.
> 
> Signed-off-by: Anthony Liguori <address@hidden>

Acked-by: Edgar E. Iglesias <address@hidden>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]