Network throughput not reaching line rate. Need clarification on iflib.

Rajesh Kumar rajfbsd at gmail.com
Sun Mar 1 23:08:06 UTC 2020


Hi Guys,

Thanks for your time in responding.

As you people stated, the problem here doesn't seem to be single threaded
vs multi threaded. I am experience similar behavior with "iperf".  It's
mostly to do with iflib and my driver(mostly my driver). It looks like the
receiver is slow in reading the packets than the sender sending the
packets.  In this case, iflib drives the packet read through the exposed
interfaces (rxd_available, rxd_pkt_get etc.,).  So, how to make the
receiver side read the packet faster with iflib?  Is there anything that I
should take care in my driver in this regard?

Thanks,
Rajesh.




On Sat, Feb 29, 2020 at 3:47 AM Daniel Ebdrup Jensen <debdrup at freebsd.org>
wrote:

> On Fri, Feb 28, 2020 at 7:39 PM Bruce A. Mah <bmah at kitchenlab.org> wrote:
>
> > [Resending with a From: address that hopefully works better.]
> >
> > If memory serves me right, Daniel Ebdrup Jensen wrote:
> > > Yes, iperf3 will default to single-threaded packet generation, et al.
> > which
> > > favours fast cores with frequency boosting facilities.
> > > You might want to use iperf2 as that's properly multi-threaded, or you
> > can
> > > use pkt-gen out of src/tools/tools/netmap/ or ports/net/pkt-gen.
> >
> > While it's true that iperf3 is single-threaded, it should be capable of
> > saturating a 10GE link with a single TCP connection, given proper
> > command-line arguments (in particular, specifying a sufficiently large
> > socket-buffer size with the -w option).
> >
> > But based on the symptom of packet loss, I'd say the single-threaded vs.
> > multi-threaded argument might not be relevant to the problem that the OP
> > has.
> >
> > Bruce.
> >
> > > On Fri, Feb 28, 2020 at 10:35 AM Hans Petter Selasky <hps at selasky.org>
> > > wrote:
> > >
> > >> On 2020-02-28 10:03, Rajesh Kumar wrote:
> > >>> Hi FreeBSD team,
> > >>>
> > >>> I am writing a network driver using iflib framework and using
> "iperf3"
> > >> tool
> > >>> for performance testing.
> > >>>
> > >>
> > >> Is there any difference with "iperf" tool and using multiple threads?
> I
> > >> think iperf3 is single threaded ???
> > >>
> > >> --HPS
> > >>
> > >> _______________________________________________
> > >> freebsd-hackers at freebsd.org mailing list
> > >> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > >> To unsubscribe, send any mail to "
> > freebsd-hackers-unsubscribe at freebsd.org"
> > >>
> > > _______________________________________________
> > > freebsd-hackers at freebsd.org mailing list
> > > https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> > > To unsubscribe, send any mail to "
> > freebsd-hackers-unsubscribe at freebsd.org"
> > >
> >
>
> Oh, I didn't mean to imply that that wasn't part of the issue - I'm sorry
> if I made it sound like that.
> I was just confirming what Hans was asking, and possibly using the excuse
> to mention some things in base/ports that I think are also pretty neat. :)
>
> Also no longer top-posting, which was rather ghastly of me. I apologise.
> _______________________________________________
> freebsd-drivers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe at freebsd.org"
>


More information about the freebsd-drivers mailing list