#pragma section-numbers on #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.37 development cycle Linux 2.6.37 not released yet. '''Summary''': Linux 2.6.37 includes [[TableOfContents()]] = Prominent features (the cool stuff) = = Drivers and architectures = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_2_6_37-DriversArch Linux_2_6_37-DriversArch page] = Core = * init: add support for root devices specified by partition UUID [http://git.kernel.org/linus/b5af921ec02333e943efb59aca4f56b78fc0e100 (commit)] * sysvipc: add RSS and swap size information to /proc/sysvipc/shm [http://git.kernel.org/linus/b795218075a1e1183169abb66a90dcdcf30367f9 (commit)] * cgroups: make swap accounting CONFIGurable [http://git.kernel.org/linus/a42c390cfa0c2612459d7226ba11612847ca3a64 (commit)] * Remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices [http://git.kernel.org/linus/39aba963d937edb20db7d9d93e6dda5d2adfdcdd (commit)] * Allow boot time switching between deprecated and modern sysfs layout [http://git.kernel.org/linus/e52eec13cd6b7f30ab19081b387813e03e592ae5 (commit)] * CPUfreq: Add sampling_down_factor tunable to improve ondemand performance [http://git.kernel.org/linus/3f78a9f7fcee0e9b44a15f39ac382664e301fad5 (commit)] * rcu: Add a TINY_PREEMPT_RCU, a small-memory-footprint uniprocessor-only implementation of preemptible RCU [http://git.kernel.org/linus/a57eb940d130477a799dfb24a570ee04979c0f7f (commit)] = CPU scheduler = * Do not account IRQ time to current task: Scheduler accounts both softirq and interrupt processing times to the currently running task. Change sched task accounting to account only actual task time from currently running task [http://git.kernel.org/linus/305e6835e05513406fa12820e40e4a8ecb63743c (commit)]. Also, remove IRQ time from available CPU power [http://git.kernel.org/linus/aa483808516ca5cacfa0e5849691f64fec25828e (commit)] * Try not to migrate higher priority RT tasks to other CPUs [http://git.kernel.org/linus/43fa5460fe60dea5c610490a1d263415419c60f6 (commit)] * Add book scheduling domain: On top of the SMT and MC scheduling domains this adds the BOOK scheduling domain. This is useful for NUMA like machines which do not have an interface which tells which piece of memory is attached to which node or where the hardware performs striping [http://git.kernel.org/linus/01a08546af311c065f34727787dd0cc8dc0c216f (commit)] = Memory management = * Retry page fault when blocking on disk transfer. This change reduces mmap_sem hold times that are caused by waiting for disk transfers when accessing file mapped VMAs. Benchmarks: A microbenchmark with thread A mmap'ing a large file and doing random read accesses to the mmaped area - achieves about 55 iterations/s, and a thread B doing mmap/munmap'ing in a loop at a separate location - achieves 55 iterations/s before, 15000 iterations/s with this patch [http://git.kernel.org/linus/d065bd810b6deb67d4897a14bfe21f8eb526ba99 (commit)] * Stack based kmap_atomic() [http://git.kernel.org/linus/3e4d3af501cccdc8a8cca41bdbe57d54ad7e7e73 (commit)] * Extend page migration code to support hugepage migration [http://git.kernel.org/linus/290408d4a25002f099efeee7b6a5778d431154d6 (commit)] * Add two counters to /proc/vmstat: nr_dirtied (page dirtyings since bootup) and nr_written (page dirtyings since bootup). These entries allow user apps to understand writeback behaviour over time and learn how it is impacting their performance [http://git.kernel.org/linus/f629d1c9bd0dbc44a6c4f9a4a67d1646c42bfc6f (commit)], [http://git.kernel.org/linus/ea941f0e2a8c02ae876cd73deb4e1557248f258c (commit)] * Report dirty thresholds in /proc/vmstat (nr_dirty_threshold and nr_dirty_background_threshold)[http://git.kernel.org/linus/79da826aee6a10902ef411bc65864bd02102fa83 (commit)] * Add pernode vmstat file (with nr_dirtied and nr_written) in /sys/devices/system/node//vmstat [http://git.kernel.org/linus/2ac390370aac4aaa49cab17f328b478cbd5b3d8d (commit)] * Add trace events for LRU list shrinking [http://git.kernel.org/linus/e11da5b4fdf01d71d73c21cb92b00595b917d7fd (commit)] * /proc/pid/smaps: export amount of anonymous memory [http://git.kernel.org/linus/b40d4f84becd69275451baee7f0801c85eb58437 (commit)] * /proc/stat: Make reading /proc/stat scalable [http://git.kernel.org/linus/f2c66cd8eeddedb440f33bc0f5cec1ed7ae376cb (commit)], fix scalability of irq sum of all cpu [http://git.kernel.org/linus/478735e38887077ac77a9756121b6ce0cb956e2f (commit)] * /proc/swaps: support polling [http://git.kernel.org/linus/66d7dd518ae413a383ab2c6c263cc30617329842 (commit)] * Use percpu allocator on UP too [http://git.kernel.org/linus/bbddff0545878a8649c091a9dd7c43ce91516734 (commit)] = File systems = ''XFS'' * Remove experimental tag from the delaylog option [http://git.kernel.org/linus/5d0af85cd0964bb845b63d5059bb20e8f7731e65 (commit)] * Extend project quotas to support 32bit project ids [http://git.kernel.org/linus/6743099ce57a40509a86849a22317ed4b7516911 (commit)] * Introduce XFS_IOC_ZERO_RANGE [http://git.kernel.org/linus/447223520520b17d3b6d0631aa4838fbaf8eddb4 (commit)] * Lockless per-ag lookups [http://git.kernel.org/linus/e176579e70118ed7cfdb60f963628fe0ca771f3d (commit)] * convert buffer cache hash to rbtree [http://git.kernel.org/linus/74f75a0cb7033918eb0fa4a50df25091ac75c16e (commit)] ''OCFS2'' * Allow huge (> 16 TiB) volumes to mount [http://git.kernel.org/linus/3bdb8efd94a73bb137e3315cd831cbc874052b4b (commit)] * Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes. [http://git.kernel.org/linus/7bdb0d18bfd381cc5491eb95973ec5604b356c7e (commit)] * Add new OCFS2_IOC_INFO ioctl: offers the none-privileged end-user a possibility to get filesys info gathering [http://git.kernel.org/linus/ddee5cdb70e6f87de2fc696b87bd7bd184a51eb8 (commit)] * Add support for heartbeat=global mount option [http://git.kernel.org/linus/2c442719e90a44a6982c033d69df4aae4b167cfa (commit)] ''EXT4'' * Add interface to advertise ext4 features in sysfs [http://git.kernel.org/linus/857ac889cce8a486d47874db4d2f9620e7e9e5de (commit)] * Use dedicated slab caches for group_info structures [http://git.kernel.org/linus/fb1813f4a8a27bbd4735967e46931e61fc837a3e (commit)] ''CIFS'' * Add "mfsymlinks" mount option [http://git.kernel.org/linus/736a33205969c16f81d747db14ff4c0f133609a6 (commit)] * Add "multiuser" mount option [http://git.kernel.org/linus/0eb8a132c449c755b7a3f18f33365b2040c47347 (commit)] * Allow binding to local IP address. [http://git.kernel.org/linus/3eb9a8893a76cf1cda3b41c3212eb2cfe83eae0e (commit)] ''NFS'' * Readdir plus in NTFSv4 [http://git.kernel.org/linus/82f2e5472e2304e531c2fa85e457f4a71070044e (commit)] * New idmapper [http://git.kernel.org/linus/955a857e062642cd3ebe1dc7bb38c0f85d8f8f17 (commit)] * Introduce mount option '-olocal_lock' to make locks local [http://git.kernel.org/linus/5eebde23223aeb0ad2d9e3be6590ff8bbfab0fc2 (commit)], [http://git.kernel.org/linus/7c563cc9f3f4aca70c27bd08a135499227f67014 (commit)] * Remove spkm3 [http://git.kernel.org/linus/1e7af1b8062598a038c04dfaaabd038a0d6e8b6a (commit)] * Allow deprecated syscall interface to be compiled out [http://git.kernel.org/linus/1e1405673e4e40a94ed7620553eb440a21040402 (commit)] ''GFS2'' * fallocate( ) support [http://git.kernel.org/linus/3921120e757f9167f3fcd3a1781239824471b14d (commit)] ''NILFS2'' * Add bdev freeze/thaw support [http://git.kernel.org/linus/5beb6e0b2008386571fd342d0a4a14f5c8c0baf8 (commit)] = Networking = * TCP: Update the use of larger initial windows, as originally specified in RFC 3390, to use the newer IW values specified in RFC 5681, section 3.1 [http://git.kernel.org/linus/3d5b99ae82f8742e3bb1f8634fd11ac36ea19ee1 (commit)] * TCP: Provides a "user timeout" support as described in RFC793 with a new TCP_USER_TIMEOUT socket option. TCP_USER_TIMEOUT takes an unsigned int to specify the maximum amount of time in ms that transmitted data may remain unacknowledged before TCP will forcefully close the corresponding connection and return ETIMEDOUT to the application [http://git.kernel.org/linus/dca43c75e7e545694a9dd6288553f55c53e2a3a3 (commit)] * TCP: Allow effective reduction of TCP's rcv-buffer via setsockopt [http://git.kernel.org/linus/e88c64f0a42575e01c7ace903d0570bc0b7fcf85 (commit)] * Implement Any-IP support for IPv6. AnyIP is the capability to receive packets and establish incoming connections on IPs we have not explicitly configured on the machine [http://git.kernel.org/linus/ab79ad14a2d51e95f0ac3cef7cd116a57089ba82 (commit)] * Added IPv6 support to the TPROXY target [http://git.kernel.org/linus/6ad7889327a5ee6ab4220bd34e4428c7d0de0f32 (commit)] * IPVS: IPv6 tunnel mode [http://git.kernel.org/linus/714f095f74582764d629785f03b459a3d0503624 (commit)] * IPv4: Allow configuring subnets as local addresses, For instance, to configure a host to respond to any address in 10.1/16 received on eth0 as a local address we can do: "ip rule add from all iif eth0 lookup 200; ip route add local 10.1/16 dev lo proto kernel scope host src 127.0.0.1 table 200" [http://git.kernel.org/linus/4465b469008bc03b98a1b8df4e9ae501b6c69d4b (commit)] * AF_UNIX: Implement SO_TIMESTAMP and SO_TIMETAMPNS on Unix sockets [http://git.kernel.org/linus/3f66116e89521ef71ab0d63dc07a639def88a577 (commit)] * ctnetlink: add support for user-space expectation helpers [http://git.kernel.org/linus/bc01befdcf3e40979eb518085a075cbf0aacede0 (commit)], add expectation deletion events [http://git.kernel.org/linus/ebbf41df4aabb6d506fa18ea8cb4c2b4388a18b9 (commit)] * Enable Generic Receive Offload by default for vlan devices [http://git.kernel.org/linus/16c3ea785fe4a383c6675dfe7316f3c815755bdd (commit)] * tipc: add SO_RCVLOWAT support to stream socket receive path [http://git.kernel.org/linus/3720d40b201fe82dce1d8a64a31bfbf49c221771 (commit)] * Infiniband: Add 802.1q VLAN support to Infiniband over Ethernet [http://git.kernel.org/linus/ff7f5aab354dee01f29c9c00933f6d4aa590eadb (commit 1], [http://git.kernel.org/linus/af7bd463761c6abd8ca8d831f9cc0ac19f3b7d4b 2], [http://git.kernel.org/linus/fa417f7b520ee60b39f7e23528d2030af30a07d1 3], [http://git.kernel.org/linus/4c3eb3ca13966508bcb64f39dcdef48be22f1731 4)] * Allocate skbs on local node: With multiqueue NICs, or using RPS to spread the load it has not sense [http://git.kernel.org/linus/564824b0c52c34692d804bb6ea214451615b0b50 (commit)] * Phonet: Implement Pipe Controller to support Nokia Slim Modems [http://git.kernel.org/linus/8d98efa84b790bdd62248eb0dfff17e9baf5c844 (commit)], [http://git.kernel.org/linus/b3d6255388de0680a14f0907deb7b7f4fa0d25d5 (commit)] * bonding: enable generic receive offload by default [http://git.kernel.org/linus/e6599c2ecf18002339fe81cde1fa83b37bf26290 (commit)], allow sysadmins to configure the number of multicast membership report sent on a link failure event [http://git.kernel.org/linus/c2952c314b4fe61820ba8fd6c949eed636140d52 (commit)] * vlan: Enable software emulation for vlan accleration [http://git.kernel.org/linus/7b9c60903714bf0a19d746b228864bad3497284e (commit)] * sched: update packets checksums after some direct packet alterations (configurable) [http://git.kernel.org/linus/eb4d40654505e47aa9d2035bb97f631fa61d14b4 (commit)] * 9P: Add a Direct IO support for non-cached operations. [http://git.kernel.org/linus/3e24ad2ff9d477f949acd0982cf12e58812210cb (commit)], implement TGETLOCK [http://git.kernel.org/linus/1d769cd192fc8c4097b1e2cd41fdee6ba3d1b2af (commit)], implement TLOCK [http://git.kernel.org/linus/a099027c779068b834f335cfdc3f2bf10f531dd9 (commit)], implement TREADLINK operation for 9p2000.L [http://git.kernel.org/linus/329176cc2c50e63c580ddaabb385876db5af1360 (commit)], introduce client side TFSYNC/RFSYNC for dotl [http://git.kernel.org/linus/920e65dc6911da28a58e17f4b683302636fc6d8e (commit)], implement TLERROR/RLERROR on the 9P client [http://git.kernel.org/linus/4f7ebe807242898ee08ed732d56982874442c304 (commit)]; implement POSIX ACL client checks [http://git.kernel.org/linus/85ff872d3f4a62d076d698bd1fa15ca2a4d7c100 (commit 1], [http://git.kernel.org/linus/7a4566b0b8fa67c7cd7be9f2969a085920356abb 2], [http://git.kernel.org/linus/ad77dbce567128d59b37a14c9562c8af6f63aeca 3], [http://git.kernel.org/linus/22d8dcdf8f8a3882d98757e78169014bb0bc6b23 4], [http://git.kernel.org/linus/6e8dc55550273084b7fb5846df2f44439f5d03d9 5], [http://git.kernel.org/linus/76381a42e4a5606774fd48413e6282cd7130ff2c 6)] * Many routing, neighbour, and device handling optimizations on SMP [http://git.kernel.org/linus/8df40d1033d64597dcf1efd4f7547e817f7a953b (commit)], [http://git.kernel.org/linus/b790e01aee74c23a5d92576177934f13aa51f718 (commit)], [http://git.kernel.org/linus/153f0943382e9ae0bff7caa110a1a4656088d0d4 (commit)], [http://git.kernel.org/linus/dd28d1a0b5ecc0f5512f658b1a8fd38bc4f4c98c (commit)], [http://git.kernel.org/linus/0197aa38df2ce550c0bfc96194b07ce6b68af814 (commit)], [http://git.kernel.org/linus/27b75c95f10d249574d9c4cb9dab878107faede8 (commit)], [http://git.kernel.org/linus/fc66f95c68b6d4535a0ea2ea15d5cf626e310956 (commit)], [http://git.kernel.org/linus/c7d4426a98a5f6654cd0b4b33d9dab2e77192c18 (commit)], [http://git.kernel.org/linus/29b4433d991c88d86ca48a4c1cc33c671475be4b (commit)] = Block = * Kill block barriers and replace it with a REQ_FLUSH/FUA based interface. See [http://lwn.net/Articles/400541/ this LWN article] for more details [http://git.kernel.org/linus/6958f145459ca7ad9715024de97445addacb8510 (commit)], [http://git.kernel.org/linus/28e7d1845216538303bb95d679d8fd4de50e2f1a (commit)], [http://git.kernel.org/linus/4fed947cb311e5aa51781d316cefca836352f6ce (commit)] = Crypto = * Adding the AEAD interface type support to cryptd [http://git.kernel.org/linus/298c926c6d7f50d91d6acb76c33b83bab5b5bd5c (commit)] * OMAP2/3 AES hw accelerator driver [http://git.kernel.org/linus/537559a5b3ef854772bd89fbb43aa77d0bbfb721 (commit)] = Virtualization = * vmware: Remove deprecated VMI kernel support [http://git.kernel.org/linus/9863c90f682fba34cdc26c3437e8c00da6c83fa4 (commit)] ''KVM'' * MMU: support disable/enable mmu audit dynamicly [http://git.kernel.org/linus/8b1fe17cc7a8b2c62b400dcbfaebd96da6b4f58e (commit)] * PPC: Generic KVM PV guest support [http://git.kernel.org/linus/d17051cb8d223dffd6bb847b0565ef1654f8e0e1 (commit)], [http://git.kernel.org/linus/2a342ed57756ad5d8af5456959433884367e5ab2 (commit)] * PPC: Magic Page Book3s support [http://git.kernel.org/linus/e8508940a88691ad3d1c46608cd968eb4be9cbc5 (commit)] * S390: Add virtio hotplug add support [http://git.kernel.org/linus/cefa33e2f8f7852abb42f22ec25a6084a931c5ac (commit)] = Security = ''SELinux'' * Fast status update interface (/selinux/status) [http://git.kernel.org/linus/119041672592d1890d89dd8f194bd0919d801dc8 (commit)] * Implement mmap on /selinux/policy [http://git.kernel.org/linus/845ca30fe9691f1bab7cfbf30b6d11c944eb4abd (commit)] * Allow userspace to read policy back out of the kernel [http://git.kernel.org/linus/cee74f47a6baba0ac457e87687fdcf0abd599f0a (commit)]