[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1349959881.1232.44.camel@sakura.staff.proxad.net>
Date: Thu, 11 Oct 2012 14:51:21 +0200
From: Maxime Bizon <mbizon@...ebox.fr>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: Måns Rullgård <mans@...sr.com>,
Russell King - ARM Linux <linux@....linux.org.uk>,
netdev@...r.kernel.org, David Laight <David.Laight@...LAB.COM>,
Jon Masters <jonathan@...masters.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: alignment faults in 3.6
On Thu, 2012-10-11 at 13:54 +0200, Eric Dumazet wrote:
> Of course, if you use a forwarding setup, and the tx driver is not SG
> capable, performance will be bad (You have to copy the data into a
> single skb (linearize the skb))
>
> But in 2012, having to use hardware without SG for a router sounds a bad
> joke (if cpu speed is _also_ too low)
Hey I cannot go back in time, when that hardware was built in 2004 (mips
@250Mhz), it was considered good, and we did manufacture a lot of it, so
it's still maintained.
People run recent kernels on older hardware because they are *encouraged
to do so*.
I fought inside my company to be good kernel citizen, not using
proprietary BSP, rewrite & mainline the drivers, because that was the
community promise: mainline it, we will support it for you, you will get
the latest kernel features for free.
That worked, but with some drawbacks:
- kernel footprint grew that much (we started from 2.4) that it does
not fit in device flash anymore
- performance took a hit each time we upgrade, mostly because of cache
footprint growth.
- as kernel footprint grew, available RAM for conntrack & route cache
entries was smaller each time
But I had to stop upgrading after 2.6.20. Everything below is not
anybody's fault. Bloat is unavoidable for software project that big.
I'm perfectly ok with that, but I don't want to be ridiculed for running
mainline kernel on old hardware.
> Adding get_unaligned() everywhere in linux network stacks is not an
> option.
>
> We actually want to be able to read the code and fix the bugs, not only
> run it on a cheap low end router.
That was not a request, I just needed a clarification.
Documentation/unaligned-memory-access.txt does not say it's a big no-no,
it says you can give unaligned pointers to the networking stack if you
arch can do unaligned access (with an "efficiency" notion).
MIPS and ARM have a software handler for this, and performance wise in
my case it's better to take the faults, a driver writer may think a
benchmark will dictate what to do.
--
Maxime
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists