Linux Torvalds announced the release of Linux Kernel 3.3 on the 18th of March:
So after the extra -rc release last weekend, now the final 3.3 is out there in the usual locations.
Things did indeed calm down during the last week, and the shortlog looks pretty boring. The diffstat from -rc7 is dominated by the arch/tile defconfig changes, the rest is pretty small, although there are changes spread out in various subsystems (drivers, filesystem, networking, perf tools).
And obviously, the 3.3 release means that the merge window for 3.4 is now open, although I may keep of pulling stuff for a day or so to encourage people to test the actual release.
Linux 3.2 brought ext-4 and btrfs file system improvements, support for Qualcomm Hexagon processor, an improved profiling tool (perf top), and better CPU and network bandwidth management.
Linux 3.3 brings the following key changes:
- Android merge: As announced at the end of last year, the Android drivers are now part of the Linux 3.3 kernel.
- Btrfs improvements:
- Restriping between different RAID levels and improved balancing: In btrfs, a “balance” operation consists in a complete rewrite of the filesystem data, which could take many hours, and it didn’t support a change of raid profile. The balancing implementation has been completely reworked. Btrfs can now pause and resume a balance operation, and give status updates. It is also possible to restripe between different raid levels. It also lets filter the balance based on metadata/data profiles, and lets balance only mostly empty block groups. The userspace utils are available in the “parser” branch of the btrfs-progs.
- Improved debugging with a new utility “integrity check” for debugging btrfs.The tool consist in a extra integrity test that for every write request checks that the filesystem is not writing to the disk bogus references that could left the file system in an inconsistent state that would cause data loss.
- Open vSwitch: Open vSwitch is a software implementation of a multilayer network switch which is now being merged in the main tree.
- Better bonding of network interfaces: There is a new “teaming” network device, which is intended to be a fast, scalable, clean, userspace-driven replacement for the bonding driver. It allows to create virtual interfaces that teams together multiple ethernet devices. This is typically used to increase the maximum bandwidth and provide redundancy. The libteam userspace library with couple of demo apps is available at github.com/jpirko/libteam
- Bufferbloat fighting: Byte queue limits: “Bufferbloat” is a term used to describe the latency and throughput problems caused by excessive buffering trough the several elements of a network connection. Byte queue limits aim to solve this issue by provide limits to packet data that can be put in the transmission queue of a network device.
- Network priority control group: The Network priority cgroup provides an interface to allow an administrator to dynamically set the priority of network traffic generated by various applications.
- Better Ext4 online resizing: This release supports a new online resizing ioctl which lets kernel do all work. Benchmarks show it’s up to 100 times faster :o.
- New architecture: TI C6X DSP: This architecture supports members of the Texas Instruments family of C64x single and multicore DSPs. The multicore DSPs do not support cache coherency (so are not suitable for SMP) and do not come with an MMU. You can visit Linux C6X Wiki for details.
- EFI boot support: An x86 bzImage can now be loaded and executed directly by EFI firmware. Both BIOS and EFI boot loaders can still load and run the same bzImage.
Further details on Linux 3.3 are available on Kernelnewbies.org.