de-dma uaudio

Julian Elischer julian at elischer.org
Fri Apr 15 01:15:08 PDT 2005


Alexander Leidinger wrote:
> Julian Elischer <julian at elischer.org> wrote:
> 
>> The low hardware layer already does DMA to move data out of the
>> hardware to memory.  The data gets copied from the user layer to an 
>> intermediate
>> buffer and from there to the DMA buffers. There is no need to allocate 
>> DMA capable
>> buffers for the intermediate layer.
> 
> 
> I understand this as:
>  userland-mem -> kernel-mem -> dma-able-mem -> hardware
> 
> So there's no zero-copy behavior?
>  userland-mem -> in-kernel-dma-able-mem -> hardware
> or
>  userland-mem -> if(is_dmaable(userland-mem)) -> hardware
>                  else -> in-kernel-dma-able-mem -> hardware
> 
> While the amount of memory used as a sound buffer isn't that much for 
> todays
> standards, it's still a memory transfer operation which could be avoided. I
> don't know how much it would affect the latency (or if it affects it at
> all), but not doing things which aren't necesssary/beneficial is always a
> win (in some way) in my experience.
> 
> Bye,
> Alexander.
> 

no-one is saying that it can't be optimised..
try follow a read command from a ugen fd all the way to the hardware..

it's just not something we've spent time to do.


More information about the freebsd-multimedia mailing list