From: David Miller <davem@davemloft.net>
To: netdev@vger.kernel.org
Cc: therbert@google.com, jhs@mojatatu.com,
hannes@stressinduktion.org, edumazet@google.com,
jeffrey.t.kirsher@intel.com, rusty@rustcorp.com.au
Subject: Re: [PATCH 0/3] Basic deferred TX queue flushing infrastructure.
Date: Sat, 23 Aug 2014 21:38:39 -0700 (PDT) [thread overview]
Message-ID: <20140823.213839.1953243016141233125.davem@davemloft.net> (raw)
In-Reply-To: <20140823.132811.751469424156827125.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Sat, 23 Aug 2014 13:28:11 -0700 (PDT)
> This just adds the infrastructure, it does not actually add any
> instances of actually doing multiple ndo_start_xmit calls per
> ndo_xmit_flush invocation.
So today I was looking more into this aspect.
Like Tom Herbert has mentioned we have all the infrastructure (sort
of) already to handle a list of SKBs going down into
dev_hard_start_xmit() via the GSO handling.
But that code is funny, because it keeps the original GSO head SKB
around as a placeholder to maintain the list of segmented SKBs.
So the list walker basically walks starting at skb->next. That's
awkward for what we want to do, which is pass in an arbitrary list of
SKBs.
All it really wants that head SKB for is essentially list management,
which seems like overkill to me.
Anyways, this got me thinking that we should have something that
provides the segment list management and stop keeping that head GSO
SKB around.
Then we can make that "gso:" label list walker generic enough that we
could pass down arbitrary lists of SKBs from the qdisc_restart() path.
This list management seems to be the only reason why we keep the GSO
head SKB around after dev_gso_segment(), we should be able to free it
up early without any problems right?
I'm also thinking about whether we should hang the generic SKB list
management off of the txq or the qdisc. Right now the gso_skb thing
is in the qdisc.
Thoughts?
next prev parent reply other threads:[~2014-08-24 4:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-23 20:28 [PATCH 0/3] Basic deferred TX queue flushing infrastructure David Miller
2014-08-23 23:25 ` Alexander Duyck
2014-08-24 12:58 ` Jesper Dangaard Brouer
2014-08-24 3:39 ` Tom Herbert
2014-08-24 4:26 ` David Miller
2014-08-24 4:38 ` David Miller [this message]
2014-08-24 14:57 ` Jamal Hadi Salim
2014-08-24 19:08 ` David Miller
2014-08-24 17:37 ` Eric Dumazet
2014-08-24 19:11 ` David Miller
2014-08-25 22:21 ` Cong Wang
2014-08-25 22:31 ` David Miller
2014-08-25 22:37 ` Eric Dumazet
2014-08-25 22:41 ` David Miller
2014-08-25 22:45 ` Jon Maloy
2014-08-25 23:24 ` Vlad Yasevich
2014-09-01 7:40 ` Jesper Dangaard Brouer
2014-09-01 21:40 ` David Miller
2014-08-25 6:10 ` David Miller
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=20140823.213839.1953243016141233125.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hannes@stressinduktion.org \
--cc=jeffrey.t.kirsher@intel.com \
--cc=jhs@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).