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?
We've been having monthly team meetings for a few months, and have decided that
some of the material we end up discussing should really be shared with
a wider audience. Here are the minutes from this months meeting for example,
that Chuck captured: http://fpaste.org/3LYS/
So as noted at https://fedoraproject.org/wiki/Meeting_channel, we're going to try
a monthly one hour meeting at 1800UTC the 2nd Friday of every month in #fedora-meeting.
No fixed agenda to begin with, let's see where it goes.
- one to enable multitouch on the trackpad
- one to allow using the Fn keys on the keyboard
- and one to make the Bluetooth adapter work
The first 2 have equivalents for the MacBookAir4,2 (13") already in
Linus' tree. The trackpad patch was added by Dmitry to his tree (though
bizarrely no word on the keyboard patch). Not sure what's happening with
the Bluetooth patch, no response as of yet.
It's been a while since we gave an overview of the kernel plans for
Fedora, so I thought I'd send a brief update on what we're doing, where
we're headed, and why.
Rawhide is basically trucking along as it normally does, tracking the
latest upstream Linus tree. This will continue for the forseeable
future, so there really are no surprises here. At the moment, it is at
3.1-rc4 and overall seems fairly stable. There is an ext4 lockdep trace
that quite a few people have hit, but a fix has been posted upstream and
should be included in the next build.
The F16 Alpha released with the first stable release of the 3.0 kernel,
but it has since transitioned to the 3.1 pre-release kernels. The plan
for the final release is to ship 3.1 final (or the latest stable release
of it), but there wasn't time to get that into the Alpha. Currently,
we're at 3.1-rc4, which means we're synced with rawhide. This will
continue until 3.1 final is released.
The F16 kernels also still have the debug options enabled. We've found
that testing of the rawhide kernel is somewhat limited, and we don't get
many reports aginst that. Most of the lockdep issues or other bugs
found in the 3.1 kernel so far have come from people running F16, so
this is paying off in terms of getting the kernel debugged and fixed
before the final release. It does have the side-effect of introducing a
performance penalty in some cases, but we'd rather get the bugs fixed
first. The debug options will be disabled and we'll move to a release
kernel once 3.1 final is released and built.
F15 has now moved to the 2.6.40 kernel. If you haven't been paying
attention lately, you'll probably be saying "wait... there is no 2.6.40
upstream" and you would be right. So Fedora's 2.6.40 is really the 3.0
upstream kernel, "rebranded" to follow the 2.6.x numbering scheme. This
was done to avoid userspace incompatibilities with the 3.x numbering
scheme for packages that were either tightly coupled to kernel version
and/or, uh, doing things a bit wrongly. Most of those packages have
been fixed in f16 at this point.
We're at the equivalent of the 3.0.4 stable release in updates-testing
and that should be moving to updates relatively soon.
Sigh. F14 is still on the 2.6.35.x longterm kernel, currently at
22.214.171.124. This is both good and bad. Good in that it's the oldest
supported release, and we've got somewhat of a known quantity with this
kernel at this point. Bad because the upstream stable branch is updated
fairly infrequently and seems to be somewhat in zombie state.
We've spent the last week or so trying to plow through the F14 bugzilla
backlog. This has sort of paid off by clearing out a bunch of stale
bugs, duplicates, and things that were fixed and never closed. At the
moment, we're under 300 bugs which isn't great but is much improved
Going forward, we're at sort of an impasse. The two most likely options
are staying on 2.6.35.x, or moving to 2.6.40 as F15 did. We know that
there are areas where 2.6.35.x is just broken or insufficient (USB 3
support, various suspend/resume issues) that might be improved in 2.6.40
but that comes with the risk of hitting userspace interaction bugs.
We're keeping an eye on this and trying to come up with the best all
around decision, but it is not an easy choice. In the meantime, if you
are having lots of issues with F14, we strongly you to upgrade to F15.
(Yes, we are aware of the fact that some people want to stick with F14
to avoid Gnome3. That's outside of the scope of the kernel and we
really don't want to discuss it here.)
So there's a brief overview of the kernel happenings going on in Fedora.
If you have questions, feel free to shoot an email to the fedora kernel