Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: "cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>,
	John Crispin <blogic@openwrt.org>
Subject: [Cerowrt-devel] openwrt moves to Linux 3.18 for the ar71xx (wndr3800, ubnt, etc)
Date: Sun, 15 Feb 2015 23:58:06 -0800	[thread overview]
Message-ID: <CAA93jw4aN9Ot0ntYVdGgzWUTruLHa54AR2YTRtXEYovoSA=Dvw@mail.gmail.com> (raw)

see https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg29493.html
for details.

This starts making doing a version bump of cerowrt a bit more
worthwhile, and will make doing make-wifi-fast a bit less painful
backport from mainline.

However as with any major (2 years!) kernel update there will
undoubtably be bugs, and in particular, I would suspect the
unaligned_hacks code to need more testing and hacks to handle some new
cases.  Those of you building openwrt might want to take a look at
this.

It looked like adding xmit_more support will be straightforward, also,
though I don't know if it will be of any benefit. Untested patch:

diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71x
index 5ef324e..24607a4 100644
--- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.
+++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.
@@ -786,8 +786,10 @@ static netdev_tx_t ag71xx_hard_start_xmit(struct sk_buff *s

        DBG("%s: packet injected into TX queue\n", ag->dev->name);

-       /* enable TX engine */
-       ag71xx_wr(ag, AG71XX_REG_TX_CTRL, TX_CTRL_TXE);
+       /* enable TX engine if no more data pending */
+       if(!skb->xmit_more ||
+          netif_xmit_stopped(netdev_get_tx_queue(ag, 0)))
+               ag71xx_wr(ag, AG71XX_REG_TX_CTRL, TX_CTRL_TXE);

        return NETDEV_TX_OK;

If it isn't obvious, I'm not planning on doing any builds for a couple
days or more, myself, but a big thanks to john crispin for the version
bump!

Moving further forward...

About the most promising thing in the current (3.20/4.0) kernel that
could maybe use a backport to 3.18 is the vastly sped up fib_trie

code: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=e495f78d787b56ad249946b191406f4521b58150

Very good talk about how difficult it is to do routing lookups and
other stuff at 10GigE here, which the above work documents (and
applies to our teeny little
home router world to some extent)

https://plus.google.com/u/0/103747673045238156202/posts/cxbCbqaNHkN

There were also a metric ton of good tcp changes (stretch ack
handling, improvements to sch_fq) in the current linux head, but those
are not really relevant to routing.

-- 
Dave Täht

http://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks

                 reply	other threads:[~2015-02-16  7:58 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAA93jw4aN9Ot0ntYVdGgzWUTruLHa54AR2YTRtXEYovoSA=Dvw@mail.gmail.com' \
    --to=dave.taht@gmail.com \
    --cc=blogic@openwrt.org \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    /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