?

Log in

No account? Create an account
What's in a version? - pointless pontifications of a back seat driver [entries|archive|friends|userinfo]
jwboyer

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

What's in a version? [Apr. 24th, 2012|01:44 pm]
jwboyer
[Tags|]

Some of you may have noticed that Fedora 16 and Fedora 17 basically have the same kernel. The astute of you might have also noticed F15 does as well [1]. All three main Fedora branches are currently sitting at the Linux 3.3.2 release, with Linux 3.3.3 already committed to the git repository. So if they're all based on the same kernel version, that means they're all identical, right? And if so, why bother upgrading, right? Well, not quite. There are some differences, and I thought I'd take a minute to explain what those are and why.

The base vanilla kernel version is, as previously mentioned, the Linux 3.3.3 stable release. F17 has been on the 3.3 kernel for quite some time now. F15 and F16 were both rebased to 3.3.0 approximately a month ago. Normally we would have waited for the 3.3.1 release before rebasing, but two factors made us decided to rebase on the initial release. The first was that the entire wireless networking stack and drivers from the 3.3 kernel were being used in the F16 3.2.x series of kernels via the compat-wireless mechansim. A bunch of bugs were filed and a large number of them were fixed, so we were fairly comfortable with that in the 3.3 series. The second factor was that we have been having a fairly decent experience with the rest of 3.3 in F17. That isn't to say we didn't hit issues [2], but they weren't "ARGH, MY COMPUTER IS ON FIRE" kinds of things.

Ok, now for the differences. First and foremost, the config options in F15 are much more restricted. For the most part, we have stuck with the config settings that were there when F15 first shipped. F16 has a number of changes (old drivers disabled, etc), and F17 has even more. Given that nobody seems to be using F15 anyway [3], I'm going to focus on the differences between F16 and F17.

F17 has:

- A much larger number of config options turned off. This came from the great kernel module purging of FUDCon 2012 that Dave did.
- A smaller number of extra options enabled. This includes:
    - Support for GMA500 and GMA3600 graphics (poulsbo and cedartrail)
    - SCSI virtio drivers
    - The r8712U wireless driver
    - A number of ARM specific changes
    - NR_CPUS set to 64 instead of 256 (because, honestly, do you really have 256 CPUs?)

There are also a number of additional patches that were added to F17 for various reasons. These include:

- Mac support:
    - Various HFS enhancements to make booting on Macs easier
    - The Apple GMUX device driver
    - VGA arbiter support to allow switching of default devices on multi-GPU systems
- Graphics:
    - RC6 is now enabled by default with the i915 driver for better power management
    - The Virtual GEM provider driver is added to allow Adam Jackson's work on llvmpipe software rendering to work.
- The new NFS idmapper support is enabled by default
- SELinux has a 'ptrace_child' capability that allows processes to ptrace their children if the "deny_ptrace" option is set in the SELinux policy

F17 also has grown the kernel-modules-extra subpackage, which contains a number of lesser used or esoteric device drivers. Overall this has worked well enough thus far in F17 that we plan on keeping it for the final release.

The only change I'm aware of that isn't suitable to go back to F16 is the NFS idmapper changes, as the userspace utilities in F16 cannot cope with that.  However we try to keep a stable release, well, stable so we've avoided adding the extra goodies.  Besides, you all need reasons to upgrade to F17 when it comes out.

If you have questions or comments, feel free to ask either here or on the Fedora kernel list.  We'd be happy to discuss things.

[1] F15 is on 3.3.3 in git, but we're still sticking with the 2.6 naming because its userspace is old-ish and we don't want to break the world by doing proper kernel version naming.  So it's called 2.6.43.3.  Woo.

[2] The biggest issues with the 3.3 rebase in F16 were 1) ALSA regression for various Thinkpad models, 2) Some machines didn't boot because of an overlooked error condition in the memblock subsystem, 3) the ath9k driver didn't work in 3.3.1.  Item 3 got fixed by 3.3.2, item 2 is fixed now, and item 1 should hopefully be fixed with the 3.3.4 stable release.  If not, upstream has been very responsive so we'll continue to work it.

[3] We have gone through the entire F15 3.3 rebase without having a single 3.3 kernel pushed to the stable updates repository.  They keep getting submitted to updates-testing and never getting enough karma to make it out of there.  We've even set the stable karma value at 1 and it doesn't get promoted.  That includes security fixes as well.  Either people _really_ like 3.2.12, nobody is using F15 anymore, or if they are they can't be bothered to log karma on the updates.  I choose to believe that people are smart and upgraded to F16 by now.
linkReply

Comments:
From: berrange
2012-04-25 08:02 am (UTC)
> - NR_CPUS set to 64 instead of 256 (because, honestly, do you really have 256 CPUs?)

If I create a KVM guest with 128 vCPUs can I complain ;-P
(Reply) (Thread)