[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] New implementation for fusb_linux without allocs/
Re: [Discuss-gnuradio] New implementation for fusb_linux without allocs/frees
Mon, 23 Feb 2009 07:05:07 -0800
On Mon, Feb 23, 2009 at 07:38:14AM +0100, Stefan Bruens wrote:
> attached is a new version for fusb_linux.cc.
> The current implementation uses three std::list lists for free, pending and
> completed urbs, so submitting a single urb causes three allocs and three
> (pushing and popping of the list).
> The new implementation uses a circular list for the urbs, where each urb is
> marked as free, pending or completed. As the total number of allocated urbs
> constant, no allocs or frees are needed.
> usrp/host/apps/test_usrp_standard_tx -B 512 -N 64 -M 128
> old code needs ~990e6 instructions, new code 690e6 instructions. The call to
> usrp_basic_tx::write goes down from 380e6 to 80e6 (so almost down to a fifth
> ...), the remaining instructions is the pattern fill for the sample buffer.
Stefan, please tell me again how you measured the instruction count?
Also, if you haven't already, please send in the form that starts the
copyright assignment. Contact me off-list if you've got any more
questions about that.