Adding Byte Queue Limits: debian kernel build recipe?

I have generally been delightedly following the Robert Nelson’s debian kernel builds.

https:``//rcn-ee``.net``/deb/wheezy-armhf

and the day came where I wanted to try out a tiny patch adding BQL support to the beaglebone black. There is something of a huge gap between the available and largely conflicting data on the internet as to how to build a kernel properly and the lovely debs he provides.

It’s a really tiny patch, (5 lines). My hope would be to see network latency on the beaglebone improve dramatically with it and fq_codel.


But assembling all the pieces to actually build a kernel the right way elude me. Right now I'm trying to cross compile using an armeabihf toolchain, and not having figured out how to create a .deb file to use...
link to how to cross compile a .deb kernel build??

OR:

... if there's someone out there daring enough to try something that might help networking, but might also lock up the networking interface in this first test, AND can patch and build a working kernel... I'd love to see this patch tried.

A bit about BQL:

http://lwn.net/Articles/454390/

I have generally been delightedly following the Robert Nelson’s debian kernel builds.

https:``//rcn-ee``.net``/deb/wheezy-armhf

and the day came where I wanted to try out a tiny patch adding BQL support to the beaglebone black. There is something of a huge gap between the available and largely conflicting data on the internet as to how to build a kernel properly and the lovely debs he provides.

It’s a really tiny patch, (5 lines). My hope would be to see network latency on the beaglebone improve dramatically with it and fq_codel.


But assembling all the pieces to actually build a kernel the right way elude me. Right now I'm trying to cross compile using an armeabihf toolchain, and not having figured out how to create a .deb file to use...
link to how to cross compile a .deb kernel build??

http://eewiki.net/display/linuxonarm/BeagleBone+Black

Build the kernel as shown and then add your patch (either add it to the /KERNEL directly or add it as a new patch in /patches and update patch.sh).

tools/rebuild_deb.sh

Regards,
John

From: Dave Taht <dave.taht@gmail.com>
Reply-To: <beagleboard@googlegroups.com>
Date: Tuesday, June 10, 2014 at 5:41 PM
To: <beagleboard@googlegroups.com>
Subject: [beagleboard] Adding Byte Queue Limits: debian kernel build recipe?

I have generally been delightedly following the Robert Nelson's debian
kernel builds.

https://rcn-ee.net/deb/wheezy-armhf

and the day came where I wanted to try out a tiny patch adding BQL support
to the beaglebone black. There is something of a huge gap between the
available and largely conflicting data on the internet as to how to build a
kernel properly and the lovely debs he provides.

It's a really tiny patch, (5 lines). My hope would be to see network latency
on the beaglebone improve dramatically with it and fq_codel.

http://snapon.lab.bufferbloat.net/~d/0001-Add-BQL-support-to-cpsw-beaglebone-driver.patch

But assembling all the pieces to actually build a kernel the right way elude
me. Right now I'm trying to cross compile using an armeabihf toolchain, and
not having figured out how to create a .deb file to use...
link to how to cross compile a .deb kernel build??

http://eewiki.net/display/linuxonarm/BeagleBone+Black

Build the kernel as shown and then add your patch (either add it to the
/KERNEL directly or add it as a new patch in /patches and update patch.sh).

tools/rebuild_deb.sh

Regards,
John

Thank you! with that recipe I was able to build a 3.15 kernel with
a minimum of twiddling, and prove that that patch was buggy
a few minutes later (crashes in cpsw_tx_handler). :frowning:

What I'm observing is 32+ms worth of queueing in the ethernet driver
under load, at 100mbit, which can easily be cut to 2ms or less with BQL.

And this morning, managed to get the patch to work correctly.