Dear Marcus,

I'm always appreciated your help.

I did ./benchmark_rate --rx_rate 25e6 and it worked well.

Then, I should make it simple.

Very thanks you!


2016-04-07 18:49 GMT+09:00 Marcus Müller <marcus.muel...@ettus.com>:

> Dear SangHyuk,
>
> On 07.04.2016 08:25, SangHyuk Kim wrote:
>
> Hi all,
>
> I'm trying to solve Rx overflow problem.
>
> I am using USRP N210 and CBX daughter board. As I know, my machine's
> maximum sample rate is up to 25 MSps.
>
> No, that is the maximum number of 16bit complex samples you can get over
> Gigabit ethernet; I think I've done the math before, but here it goes again
> :)
>
> [image: $\frac{\SI{1}{\giga\bit\per\second}}{\SI{16}{\bit\per
> Integer}\text{[I]} + \SI{16}{\bit\per Integer}\text{[Q]}} =
> \frac{\SI{1e9}{\bit\per\second}}{\SI{32}{\bit\per S}}=\SI{31.25}{\mega
> S\per\second}$]
>
> and because the USRP can only give you integer fractions of its master
> clock rate 100MHz as sampling rate, 25MS/s is the maximum you get.
>
> Yes, it works well at Tx (ex ./benchmark -f 2.5G -r 25000000).
> However, when I use USRP to Rx mode (ex ./benchmark -f 2.5G -r 25000000),
> letter 'D' (overflow) be occurred.
>
>
> Rx overflow 'D' is happened when host cannot consume packet fast enough.
>
> ... and that to a degree that the network stack, not UHD, decides to drop
> packets (not to "O"verflow). That is a very bad sign.
>
> I observed incoming packet from USRP to host using wireshark tool.
>
> Which will pose a significant additional load on your CPU, something that
> will influence your measurement.
>
> After Rx command be launched (ex ./benchmark -f 2.5G -r 25000000), USRP
> sends many packet to host very fast.
>
> Of course.
>
>
> So, I checked cpu utilization at those moments. As a result, cpu
> utilization is over 200% (PC has 2.7GHz quad-cores). I couldn't believe it.
>
> Why? How is that surprising? More than two cores under full load sounds
> like a reasonable load here.
>
>
> However, I found "interrupt coalescing".
> Incoming packet occurs interrupt to host and interrupt coalescing adjust
> how long/many packets make one interrupt to PC.
> So, I changed these value using ethtool -C eth0 rx-usecs 1000 rx-frames
> 200.
> But, it doesn't any effect for my case.
>
> Well, then these values simply don't help; honestly, your PC is
> overwhelmed, and that not only by the interrupt load.
>
>
> I'm using tg3 network driver and my setting like below:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *Supported ports: [ TP ]     Supported link modes:   10baseT/Half
> 10baseT/Full                             100baseT/Half 100baseT/Full
>                         1000baseT/Half 1000baseT/Full     Supported pause
> frame use: No     Supports auto-negotiation: Yes     Advertised link
> modes:  10baseT/Half 10baseT/Full                             100baseT/Half
> 100baseT/Full                             1000baseT/Half 1000baseT/Full
> Advertised pause frame use: Symmetric     Advertised auto-negotiation: Yes
>     Link partner advertised link modes:  1000baseT/Half 1000baseT/Full
> Link partner advertised pause frame use: Transmit-only     Link partner
> advertised auto-negotiation: Yes     Speed: 1000Mb/s     Duplex: Full
> Port: Twisted Pair     PHYAD: 1     Transceiver: internal
> Auto-negotiation: on     MDI-X: on     Supports Wake-on: g     Wake-on: g
>     Current message level: 0x000000ff (255)                    drv probe
> link timer ifdown ifup rx_err tx_err     Link detected: yes*
>
> Did I miss something ?
>
> How can I solve Rx overflow problem at high sample rate ?
>
> Does UHD's
>
> benchmark_rate --rx_rate 25e6
>
> work? If that's the case, the receiver flowgraph is simply too difficult
> for your PC to handle in real time. Nothing you can really do about that
> but get a faster PC, or design a less complex receiver.
>
> Best regards,
> Marcus
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to