Gr_buffer::allocate_buffer: warning and USRP tx underflow

Hi,
My gnuradio flow graph has a custom block taking input from multiple
USRP’s and the output of the block is connected to a USRP transmitter.
My
applications demands a sample rate of at least 5Msps and up to 10Msps.
Inside the block around 500 (depends on the sample rate) complex samples
from each of the USRP is stored in a buffer and processed.Without the
transmitter connected, the flow graph runs smoothly and there is no
overflow message in the grc. But with the transmitter USRP, I see a lot
of
underruns in the grc and the spectrum in signal analyzer shows
discontinuity.Is there a way to overcome the underrun issue within the
GRC
platform?

  1. Also, GRC produces the following warning,
    gr_buffer::allocate_buffer: warning: tried to allocate
    16 items of size 4000. Due to alignment requirements
    128 were allocated. If this isn’t OK, consider padding
    your structure to a power-of-two bytes.
    On this platform, our allocation granularity is 4096 bytes.

Is this warning something of a concern?

Regards,
Saran
National University of Singapore

On Thu, Mar 6, 2014 at 4:01 AM, sarankumar [email protected] wrote:

Saran
National University of Singapore

Two things to keep in mind as you are connecting multiple USRPs
together:

  1. Make sure that the sample rates from your sources to sinks are exact.

  2. If the sample rate matching is good, then the problem is probably
    due to processing speed. You’re computer is just not able to keep up
    with the flowgraph. You’ll have to work on optimizing your code and
    any blocks in the path for this problem.

The warning itself is not necessarily a problem; it’s just telling you
that more memory is allocated. That could be indicative of
inefficiencies and/or errors in your block’s behavior dealing with the
input/output streams.

Tom