#pragma section-numbers on #pragma keywords Linux, kernel, operating system, changes, changelog, file system, Linus Torvalds, open source, device drivers #pragma description Summary of the changes and new features merged in the Linux kernel during the 3.6 development cycle Linux 3.6 has [https://lkml.org/lkml/2012/9/30/152 been released] on 30 Sep 2012 /!\ /!\ NOTE: this document is incomplete and will be finished in the next few hours /!\ /!\ '''''Summary''''': This Linux release includes new features in Btrfs: subvolume quotas, quota groups and snapshot diffs (aka "send/receive"). It also includes support for suspending to disk and memory at the same time, a experimental TCP "Fast Open" mode and a "small queues" feature to fight bufferbloat, support for safe swapping over NFS, better support of quotas in Ext4. Many small features and new drivers and fixes are also available. [[TableOfContents()]] = Prominent features in Linux 3.6 = == Btrfs: subvolume quotas, quota groups, snapshot diff == === Subvolume size limits/quotas === A size limit can be set for each subvolume. Once the subvolume reachs that limit, it won't be possible to write more data in it. This feature can be used as a substitute of quotas, assigning to each user home a subvolume and setting a size limit to it. You can get access to it with the command btrfs quota enable/disable/rescan === Subvolume quota groups === As part of the subvolume size limits, Btrfs also supports the concept of quota groups. It is possible to create a quota group and toss multiple subvolumes into that group: the quota limits will be automatically applied to all subvolumes in the group. The command used for this feature is btrfs qgroup create/destroy assign/remove show/limit === Snapshot diffs, aka "send/receive" === Btrfs can compute the differences between two snapshots and store the differences into a file. This file can be replayed later to reconstruct the sent subvolumes/snapshots. The main, but not only, usage for send/receive is backups. == Suspend to disk and memory == In portable devices it is useful to write a hibernation image to disk, and then suspend. If the battery runs out or power is otherwise lost, the computer will power off, but it will be resumed from the hibernated image. If not, it will resume normally from memory suspend, and hibernation image will be discarded. If you would like to write hibernation image to swap and then suspend to RAM, you can try "echo suspend > /sys/power/disk; echo disk > /sys/power/state" == CIFS support for SMBv2 == The cifs networking filesystem has added support for the [http://en.wikipedia.org/wiki/Server_Message_Block#SMB2 version 2 of the SMB protocol]. The SMB2 protocol is the successor to the popular CIFS and SMB network file sharing protocols, and is the native file sharing mechanism for Windows OSs since it was introduced in Windows Vista in 2006. SMB2 enablement will eventually allow users better performance, security and features, than would not be possible with previous protocols. == TCP Fast Open (client side) == "Fast Open" is a optimization to the process of stablishing a TCP connection that allows the elimination of one round time trip (RTT) from certain kinds of TCP conversations. Fast Open could result in speed improvements of between 4% and 41% in the page load times on popular web sites. In this version only the client-side has been merged. Recommended LWN article: [https://lwn.net/Articles/508865/ TCP Fast Open: expediting web services] Code: [http://git.kernel.org/linus/2100c8d2d9db23c0a09901a782bb4e3b21bee298 (commit 1], [http://git.kernel.org/linus/1fe4c481ba637660793217769695c146a037bd54 2], [http://git.kernel.org/linus/67da22d23fa6f3324e03bcd0580b914b2e4afbf3 3], [http://git.kernel.org/linus/aab4874355679c70f93993cf3b3fd74643b9ac33 4], [http://git.kernel.org/linus/8e4178c1c7b52f7c99f5fd22ef7af6b2bff409e3 5], [http://git.kernel.org/linus/783237e8daf13481ee234997cbbbb823872ac388 6], [http://git.kernel.org/linus/cf60af03ca4e71134206809ea892e49b92a88896 7)] == Bufferbloat fight: TCP small queues == TCP small queues is another mechanism designed to fight bufferbloat. TCP Small Queues goal is to reduce number of TCP packets in xmit queues (qdisc & device queues), to reduce RTT and cwnd bias, part of the bufferbloat problem. Without reduction of nominal bandwidth, we have reduction of buffering per bulk sender : < 1ms on Gbit (instead of 50ms with TSO) and < 8ms on 100Mbit (instead of 132 ms). Recommended LWN article: [https://lwn.net/Articles/507065/ TCP small queues] Code: [http://git.kernel.org/linus/46d3ceabd8d98ed0ad10f20c595ca784e34786c5 (commit)] == Swap over NFS == Until now, using swap over NFS was not safe. This release allows safe support of swapping over NFS. Recommended LWN article: [https://lwn.net/Articles/439298/ Safely swapping over the net] == Ext4: better quota support == Ext4 has added support for quotas as a first class feature in ext4; which is to say, instead of as separate files visible in the file system directory hierarchy, the quota files are stored in hidden inodes as file system metadata, and will be managed directly by e2fsprogs, and quota will be enabled automatically as soon as the file system is mounted. The repquota program will not function initially, until a new QUOTASCAN_OPEN interface is implemented. More details at https://ext4.wiki.kernel.org/index.php/Design_For_1st_Class_Quota_in_Ext4 == PCIe D3cold power state support == This release adds PCIe runtime D3cold power state support. D3cold is the deepest power saving state for a PCIe device, where its main power is removed. Code: [http://git.kernel.org/linus/448bd857d48e69b33ef323739dc6d8ca20d4cda7 (commit 1], [http://git.kernel.org/linus/71a83bd727cc31c5fe960c3758cb396267ff710e 2], [http://git.kernel.org/linus/4f9c1397e2e80e52b17ec4e39760caa807bd15c7 3)] = Driver and architecture-specific changes = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.6_DriverArch Linux_3.6_DriverArch page] = Various core changes = * Enable suspend to both for in-kernel hibernation. [http://git.kernel.org/linus/62c552ccc3eda1198632a4f344aa32623d226bab (commit)] * Add symlink and hardlink restrictions to the Linux VFS, which helps to solve a long-standing class of security issues consisting in the symlink-based time-of-check-time-of-use race. Some distributions have been using this functionality for a while [http://git.kernel.org/linus/a51d9eaa41866ab6b4b6ecad7b621f8b66ece0dc (commit 1], [http://git.kernel.org/linus/800179c9b8a1e796e441674776d11cd4c05d61d7 2)] * process scheduler: Remove broken power estimation [http://git.kernel.org/linus/ee08d1284ea9235b29bd2d9b7493b4b4cf3da09c (commit)] * Thermal: Add Hysteresis attributes [http://git.kernel.org/linus/27365a6c7d64a3bba22ee62109e4a071bbd7f933 (commit)], make Thermal trip points writeable [http://git.kernel.org/linus/c56f5c0342dfee11a1a13d2f5bb7618de5b17590 (commit)] * cpuidle: add support for states that affect multiple CPUs [http://git.kernel.org/linus/4126c0197bc8c58a0bb7fcda07b01b596b6fb4c5 (commit)] * RCU: Control RCU_FANOUT_LEAF from boot-time parameter [http://git.kernel.org/linus/f885b7f2b2de70be266d2cecc476f773a1e2ca5d (commit)] = Memory Management = * Allow swap readahead IOPS to be merged, it improves throughput and at the same time lowers CPU consumption [http://git.kernel.org/linus/3fb5c298b04eb6e472f8db1f0fb472749d30041c (commit)] = Block = * Add a new operation code (BLKPG_RESIZE_PARTITION) to the BLKPG ioctl that allows altering the size of an existing partition, even if it is currently in use [http://git.kernel.org/linus/c83f6bf98dc1f1a194118b3830706cebbebda8c4 (commit)] * Device mapper RAID: Add support for MD RAID10 [http://git.kernel.org/linus/63f33b8dda88923487004b20fba825486d009e7b (commit)] * Device mapper thin: add read-only and fail I/O modes [http://git.kernel.org/linus/e49e582965b3694f07a106adc83ddb44aa4f0890 (commit)] * Device mapper: remove persistent data debug space map checker [http://git.kernel.org/linus/3caf6d73d4dc163b2d135e0b52b052a2b63e5216 (commit)] * md/raid1: prevent merging too large request [http://git.kernel.org/linus/12cee5a8a29e7263e39953f1d941f723c617ca5f (commit)] = Perf/tracing = = Virtualization = * Add mcelog support for Xen platform [http://git.kernel.org/linus/cef12ee52b054282461a6d5fe7742755fa6e3bd3 (commit)] = Security = * SELinux = Networking = * team: add multiqueue [http://git.kernel.org/linus/6c85f2bdda2086d804e198a3f31b685bc2f86b04 (commit)], and netpoll support [http://git.kernel.org/linus/bd2d0837abc0206ecdd3f6b9fc8c25b55b63c96b (commit)] * tun: experimental zero-copy tx support [http://git.kernel.org/linus/0690899b4d4501b3505be069b9a687e68ccbe15b (commit)] * Add support for 40GbE link [http://git.kernel.org/linus/e440cf2ca0a1b075c64016240d46c3aa9d877bbf (commit)] * Add 802.11ad (60 GHz band) support [http://git.kernel.org/linus/3a0c52a6d82cc41da965284412608c74aece34e4 (commit)] * netfilter * Add fail-open support [http://git.kernel.org/linus/fdb694a01f1fcd30fd16d8aa290c34699fe98a17 (commit)] * Add user-space connection tracking helper infrastructure [http://git.kernel.org/linus/12f7a505331e6b2754684b509f2ac8f0011ce644 (commit)] * Added kernel support in EEE Ethtool commands [http://git.kernel.org/linus/80f12eccce775dc6bb93dba9b52529740f929237 (commit)] * Speedup /proc/net/unix [http://git.kernel.org/linus/7123aaa3a1416529ce461e98108e6b343b294643 (commit)] = Cryptography = * Hardware acceleration in Atmel processors for the following algorithms: AES [http://git.kernel.org/linus/bd3c7b5c2aba0d806285700848f588ca482094d8 (commit)], DES/TDES [http://git.kernel.org/linus/13802005d8f2db244ec1f5d7f6923de8f7a463db (commit)] and SHA-1/SHA-256 [http://git.kernel.org/linus/ebc82efa1cd64efba0f41455460411b852b5b89c (commit)] * CRC hardware driver for Blackfin BF60x family processors. [http://git.kernel.org/linus/b8840098b70c11d70c29263e0765f103e6cbe55e (commit)] * caam: add support for SEC v5.x RNG4 [http://git.kernel.org/linus/=281922a1d4f59bdebbe78c1d9f4c50a967eb6cff (commit)], ahash HMAC support [http://git.kernel.org/linus/045e36780f11523e26d1e4a8c78bdc57f4003bd0 (commit)], hwrng support [http://git.kernel.org/linus/e24f7c9e87d46fad06bf1097d48f9923acd8e61c (commit)] * serpent: add x86_64/avx assembler implementation [http://git.kernel.org/linus/7efe4076725aeb01722445b56613681aa492c8d6 (commit)] * twofish: add x86_64/avx assembler implementation [http://git.kernel.org/linus/107778b592576c0c8e8d2ca7a2aa5415a4908223 (commit)] * talitos: add sha224, sha384 and sha512 to existing AEAD algorithms [http://git.kernel.org/linus/357fb60502ede168fa1b76b996298e0045e24b59 (commit)] = File systems = * Btrfs * eCryptfs * Copy up POSIX ACL and read-only flags from lower mount [http://git.kernel.org/linus/;a=commit;h=069ddcda37b2cf5bb4b6031a944c0e9359213262 (commit)] * GFS2 * Reduce file fragmentation [http://git.kernel.org/linus/;a=commit;h=8e2e00473598dd5379d8408cb974dade000acafc (commit)] = Other news sites that track the changes of this release = ---- CategoryReleases