Let’s see a quick summary of what have changed and what we should expect from the new Linux mainline 3.5 Kernel.
ext4 metadata checksums support
Every time a metadata field is read, the checksum of the read data is compared with the stored checksums, and if they are different it means that the metadata is corrupted. Performance wise, this extra checking for corrupted metadata means nothing to desktop users and servers. Even if your job is metadata oriented, this little drop in performance will be negligible
Uprobes using perf and SystemTrap
Uprobes, can be used dynamically in any process (without needing to restart the application) and their job is to monitor any memory address of a user application, and collect debugging and performance information non-disruptively, which can be used to find performance problems. Notice that uprobes code originates from SystemTrap that comes with Red Hat and Fedora kernels.
Autosleep and wakelocks – Easier merging with Android
Android developers use a hibernation/suspend mechanism called “suspend blockers” or “wakelocks”. This system provides the minimum required energy in sleep mode for refreshing memory and providing power to a few devices that can wake the system up. Unfortunately, Kernel developers didn’t like this idea and they reject merging wakelocks APIs into Linux kernel. However in this release, Kernel developers developed a similar mechanism called “autosleep and wakelocks” and they expect from Android developers to use it wisely.
TCP Early Retransmit
Using this feature, connections can recover from lost packets faster, thus improves latency.
There more changes and new features, such as Seccomp-based system call filtering, Bufferbloat fighting: CoDel queue management, TCP connection repair, Btrfs: I/O failure statistics, latency improvements, SCSI over FireWire and USB and much much driver changes and core stuff. If you are interested in finding more information, please read the full changelog.