The other day I was running the stock fedora kernel on my ip
forwarding setup, to see what the performance was, and the performance
wasn't very good.
system is S5520HC dual socket 2.93GHz Xeon 5570 (Nehalem) with 3 quad
port 82580 adapters (12 ports). Traffic is bidirectional 64 byte
packets being forwarded and received on each port, basically port to
port routing. I am only using 12 flows currently.
The driver is igb, and I am using an affinity script that lines up
each pair of ports that are forwarding traffic into optimal
configurations for cache locality. I am also disabling
remote_node_defrag_ratio to stop cross node traffic.
With the fedora default kernel from F14 it appears that
CONFIG_NETFILTER=y means that I cannot unload all of netfilter even if
I stop iptables service.
perf showed netfilter being prominent, and removing it gives me much
higher throughput. Is there a reason CONFIG_NETFILTER=y ? Isn't it a
good thing to be able to disable netfilter if you want to?
As you probably know in my spare time I'm working on Linux Allwinner SoC support.
We (the linux-sunxi community) are currently making good progress on getting
Allwinner SoCs supported in the upstream kernel. It looks like the majority
of it will land in 3.14 and 3.15. As such I believe the time has come to
start supporting Allwinner SoCs with the official Fedora kernels ootb for
I've written a Feature page for this, which you can find here:
This will likely require carrying some kernel patches for 1-2 kernel releases,
until all the necessary bits for headless operation have landed upstream.
As always I'm willing to put my time were my work is, and I'll maintain these
patches for as long as necessary. To give you an idea of where things are
going, here is a break down of the tree I'm currently using for testing
and development, see:
This branch contains 3.13-rc5
+ the following, which should all go upstream for 3.14:
Emilio's "[PATCH v3 00/13] clk: sunxi: add PLL5 and PLL6 support" series
+ the following which is not quite ready for 3.14 yet, but people
are working hard to get it ready so hopefully we will see some of
it in 3.14, and the rest should make 3.15:
Emilio's sunxi-clk branch: patches not part of the above set
David's and mine sunxi-mmc work
Chen's gmac work
Oliver's ahci work
Arokux' ehci work
mripard's "ARM: sunxi: Add A31 High Speed Timer Support" series
wens' "v2 of A20 external output clock support patch series"
hansg's resistive touchscreen controller driver (rtp) including temp sensor support
Of the above list, we should at a minimum carry the mmc, gmac (gigabit nic) and
ahci patches if those don't get upstream in time. USB support would also be very nice,
but is not a must have. The last 3 patch-sets we don't need.
On x86_64 when I try to build kernels, make modules is failing because the
.o files are not being recognized as object files and the linker trys to
read them as linker commands, which breaks the build.
When I test the file command on one of these, the detected type is 'data'.
On i686 the .o files are properly detected. This changed a week or so
ago, but file and file-libs haven't change since last summer. I have been
doing this on f20, but there hasn't been a change on rawhide to file either.
Any ideas what is going on here?
Later today I'll be pushing out a kernel that contains the large DRM
merge for the 3.14 kernel. In the past we've seen this be an
"interesting" point, with a lot of display issues fixed and some new
display issues introduced. I'll build and test this kernel on all of
the machines I have before building it in koji.
Assuming that testing goes well, it should show up as
3.14.0-0.rc0.git17.1.fc21. Further testing on it would be much
appreciated. If you have an issue, please file a bug with as much
detail as you can get. Hopefully we can get any such issues resolved
soon if we jump on them immediately.