From: Jamal Hadi Salim <jhs@mojatatu.com>
To: Jesper Dangaard Brouer <jbrouer@redhat.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
Tom Herbert <therbert@google.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Florian Westphal <fw@strlen.de>,
Daniel Borkmann <dborkman@redhat.com>,
Alexander Duyck <alexander.duyck@gmail.com>,
John Fastabend <john.r.fastabend@intel.com>
Subject: Re: qdisc/trafgen: Measuring effect of qdisc bulk dequeue, with trafgen
Date: Fri, 19 Sep 2014 07:57:37 -0400 [thread overview]
Message-ID: <541C1A31.3000401@mojatatu.com> (raw)
In-Reply-To: <20140919123536.636fa226@redhat.com>
On 09/19/14 06:35, Jesper Dangaard Brouer wrote:
>
> This experiment were about finding the tipping-point, when bulking
> from the qdisc kicks in. This is an artificial benchmark.
>
> This testing relates to my qdisc bulk dequeue patches:
> http://thread.gmane.org/gmane.linux.network/328829/focus=328951
>
> My point have always been, we should only start bulking packets when
> really needed, I dislike attempts to delay TX in antisipation of
> packets arriving shortly (due to the added latency). IMHO the qdisc
> layer seems the right place "see" when bulking makes sense.
>
> The reason behind this test is, there is two code paths in the qdisc
> layer. 1) when qdisc is empty we allow packet to directly call
> sch_direct_xmit(), 2) when qdisc contains packet we go through a more
> expensive process of enqueue, dequeue and possibly rescheduling a
> softirq.
>
> Thus, the cost when the qdisc kicks-in should be slightly higher. My
> qdisc bulk dequeue patch, should help us actually getting faster in
> this case. Below results (with dequeue bulking max 4 packets) show
> that, this was true, as expected the locking cost were reduced, giving
> us an actual speedup.
>
>
> Testing this tipping point is hard, but found an trafgen setup, that
> were just balancing on this tipping point, single CPU 1Gbit/s setup
> driver igb.
>
The feedback system is clearly very well oiled. Or is it now? ;->
Jesper, maybe you need to poke at system level as opposed to
microscopic lock level. The transmit path is essentially kicked by
tx softirq which is driven by rx path etc. And those guys work like
a clock pendulum.
To busy that sucker, You may be able to get more luck with
forwarding kind of traffic.
Funnel traffic from many nic ports tied to different CPUs to one egress
port.
Some coffee helped me remember i actually surrendered that it can be
done at all in netconf 2011[1] but please let me not poison your
thinking - you may find otherwise.
cheers,
jamal
http://vger.kernel.org/netconf2011_slides/jamal_netconf2011.pdf slide 12
prev parent reply other threads:[~2014-09-19 11:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-19 10:35 qdisc/trafgen: Measuring effect of qdisc bulk dequeue, with trafgen Jesper Dangaard Brouer
2014-09-19 10:44 ` qdisc/UDP_STREAM: measuring effect of qdisc bulk dequeue Jesper Dangaard Brouer
2014-09-19 11:57 ` Jamal Hadi Salim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=541C1A31.3000401@mojatatu.com \
--to=jhs@mojatatu.com \
--cc=alexander.duyck@gmail.com \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=fw@strlen.de \
--cc=hannes@stressinduktion.org \
--cc=jbrouer@redhat.com \
--cc=john.r.fastabend@intel.com \
--cc=netdev@vger.kernel.org \
--cc=therbert@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.