#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.36 development cycle Linux 2.6.36 /!\ /!\ /!\ '''Warning: 2.6.36 has not been released''' /!\ /!\ /!\ '''Summary''': Linux 2.6.36 includes support for AppArmor, fanotify, a new out-of-memory killer, and concurrency-managed workqueues. (Note: Details on architecture-specific and driver changes have been moved to this page: [wiki:Linux_2_6_36-DriversArch Linux_2_6_36-DriversArch]) [[TableOfContents()]] = Prominent features (the cool stuff) = == AppArmor == The AppArmor security module. AppArmor provides pathname-based mandatory access control; it was initially championed by Novell some years ago. Novell has moved on, but Canonical has picked this code up, integrated it into the Ubuntu distribution, and (now) merged it into the mainline kernel. Code: [http://git.kernel.org/linus/cdff264264254e0fabc8107a33f3bb75a95e981f (commit 1], [http://git.kernel.org/linus/67012e8209df95a8290d135753ff5145431a666e 2], [http://git.kernel.org/linus/c75afcd153f6147d3b094f45a1d87e5df7f4f053 3], [http://git.kernel.org/linus/e06f75a6a2b43bd3a7a197bd21466f9da130e4af 4], [http://git.kernel.org/linus/63e2b423771ab0bc7ad4d407f3f6517c6d05cdc0 5], [http://git.kernel.org/linus/6380bd8ddf613b29f478396308b591867d401de4 6], [http://git.kernel.org/linus/898127c34ec03291c86f4ff3856d79e9e18952bc 7], [http://git.kernel.org/linus/c1c124e91e7c6d5a600c98f6fb5b443c403a14f4 8], [http://git.kernel.org/linus/f9ad1af53d5232a89a1ff1827102843999975dfa 9], [http://git.kernel.org/linus/b5e95b48685e3481139a5634d14d630d12c7d5ce 10], [http://git.kernel.org/linus/0ed3b28ab8bf460a3a026f3f1782bf4c53840184 11], [http://git.kernel.org/linus/736ec752d95e91e77cc0e8c97c057ab076ac2f51 12], [http://git.kernel.org/linus/c88d4c7b049e87998ac0a9f455aa545cc895ef92 13], [http://git.kernel.org/linus/4d6ec10bb4461fdc9a9ab94ef32934e13564e873 13], [http://git.kernel.org/linus/016d825fe02cd20fd8803ca37a1e6d428fe878f6 14], [http://git.kernel.org/linus/44672e4fbd40e2dda8bbce7d0f71d24dbfc7e00e 15)] == Tilera architecture support == The [http://en.wikipedia.org/wiki/TILE64 Tile processor] is a new cpu manufactured by [http://www.tilera.com/ Tilera Corporation]. It's a multicore design intended to scale to hundreds of cores on a single chip. The goal is to provide a high-performance CPU, with good power efficiency, and with greater flexibility than special-purpose processors such as DSPs. The chip consists of a mesh network of 64 "tiles", where each tile houses a general purpose processor, cache, and a non-blocking router, which the tile uses to communicate with the other tiles on the processor. Code: [http://git.kernel.org/linus/867e359b97c970a60626d5d76bbe2a8fadbf38fb (commit)], [http://git.kernel.org/linus/9f9c0382cda2334b35b40b00f4ed9d6f89f37a7b (commit)] == Fanotify, a new notification interface == Fnotify is yet another filesystem notification interface, intended to supersede [http://kernelnewbies.org/Linux_2_6_13 inotify] and, obviously, dnotify (whose interface has been rewritten on top of the fanotify engine). Fanotify bases notification on giving userspace both an event type (open, close, read, write) and an open read-only file descriptor to the object in question. This should address a number of races and problems with inotify and dnotify and allows blocking or access controlled notification. These are useful for on access scanners or hierachical storage management schemes. Code: Far too many commits, but these ones have useful changelogs [http://git.kernel.org/linus/ff0b16a9850e8a240ad59e10b0a1291a8fcf7cbc (commit 1], [http://git.kernel.org/linus/11637e4b7dc098e9a863f0a619d55ebc60f5949e 2], [http://git.kernel.org/linus/52c923dd079df49f58016a9e56df184b132611d6 3], [http://git.kernel.org/linus/bbaa4168b2d2d8cc674e6d35806e8426aef464b8 4], [http://git.kernel.org/linus/2a3edf86040a7e15684525a2aadc29f532c51325 5], [http://git.kernel.org/linus/9e66e4233db9c7e31e9ee706be2c9ddd54cf99b3 6], [http://git.kernel.org/linus/b2d879096ac799722e6017ee82c0586f0d101c9c 7)] == KMS+KDB integration == In this release, it will be possible to activate the KDB kernel debugger (merged in the [http://kernelnewbies.org/Linux_2_6_35#head-01683c6bbfcd2a93c556192e3c9d6734b20da1cd previous kernel release]) while using your X.org desktop session. Pressing Sysrq-g will show the KDB console, and quitting KDB (using the "go" command) will return to your desktop again. The KMS + KDB integration is only implemented for Intel chips, other chips will follow in the future. Instructions on how to compile the kernel to enable this functionality can be [http://virtuousgeek.org/blog/index.php/jbarnes/2010/08/02/using_kdb_on_kms found here]. Code: [http://git.kernel.org/linus/81d4450732c68aa728f2c86c0c2993c6cfc3d032 (commit 1], [http://git.kernel.org/linus/b45cfba4e9005d64d419718e7ff7f7cab44c1994 2], [http://git.kernel.org/linus/1a7aba7f4e45014c5a4741164b1ecb4ffe616fb7 3], [http://git.kernel.org/linus/d219adc1228a3887486b58a430e736b0831f192c 4], [http://git.kernel.org/linus/408a4be1f8cbee511895ee07da2a007a5a24303f 5], [http://git.kernel.org/linus/81255565dbf5958187bdb6cc4e3aa0db9ce4d237 6)] = Various core changes = * mutex: Improve the scalability of optimistic spinning. An Aim7 fserver workload speed up from 91657 jobs/minute to 149325. The average acquisition time is reduced by 48% and number of contentions reduced by 32%. [http://git.kernel.org/linus/9d0f4dcc5c4d1c5dd01172172684a45b5f49d740 (commit)] * OOM (Out of Memory Killer) has been rewritten [http://git.kernel.org/linus/a63d83f427fbce97a6cea0db2e64b0eb8435cd10 (commit)], [http://git.kernel.org/linus/51b1bd2ace1595b72956224deda349efa880b693 (commit)] * fuse: add retrieve request [http://git.kernel.org/linus/2d45ba381a74a743eeaa2b06c7c5c0d2bf73ba1a (commit)], add store request [http://git.kernel.org/linus/a1d75f258230b75d46aecdf28b2e732413028863 (commit)] * kconfig: add "make alldefconfig" [http://git.kernel.org/linus/0748cb3e1fbd89c03a98c15e91ad65797981de77 (commit)] and "make savedefconfig" [http://git.kernel.org/linus/7cf3d73b4360e91b14326632ab1aeda4cb26308d (commit)] targets. * Kill off CONFIG_GENERIC_TIME (all arches have been converted) [http://git.kernel.org/linus/592913ecb87a9e06f98ddb55b298f1a66bf94c6b (commit)] = Security = * TOMOYO * Add interactive enforcing mode. [http://git.kernel.org/linus/17fcfbd9d45b57f38d40e31f9d28db53f4af5c88 (commit)] * Add numeric values grouping support. [http://git.kernel.org/linus/4c3e9e2ded48bcf696a45945ea7d25bb15b873fd (commit)] * Add pathname aggregation support. [http://git.kernel.org/linus/1084307ca097745ed6e40a192329b133a49271ac (commit)] * Support longer pathname. [http://git.kernel.org/linus/c8c57e842720d8cc92ac8607f2d1c16d92314573 (commit)] = Filesystems = * Ext4 * Add mount options in superblock [http://git.kernel.org/linus/8b67f04ab9de5d8f3a71aef72bf02c995a506db5 (commit)], * Once a day, printk file system error information to dmesg [http://git.kernel.org/linus/66e61a9e9504f61b9a928c9055368c81da613a50 (commit)] * Save error information to the superblock for analysis [http://git.kernel.org/linus/1c13d5c0872870cca3e612aa045d492ead9ab004 (commit)] * Support discard requests when running in no-journal mode [http://git.kernel.org/linus/5c521830cf3dfcf7638d409d8e02ed21020c064f (commit)] * NILFS2 * Add barrier mount option [http://git.kernel.org/linus/773bc4f3b6898634a80a41c72a1f34cb89992dcd (commit)] * Add nodiscard mount option [http://git.kernel.org/linus/802d31775404ee335ca1e97a82e1e706a4c843be (commit)] * Add feature set fields to super block [http://git.kernel.org/linus/1a80a1763fb760b3a84a28df87515f7cdc07a4f4 (commit)] * Reject incompatible filesystem [http://git.kernel.org/linus/c5ca48aabe8b11674bf1102abe52d17ecc053f9c (commit)] * XFS * Simplify and speed up direct I/O completions [http://git.kernel.org/linus/209fb87a259ead17e966627b7f053d16a96898da (commit)] * Remove obsolete osyncisosync mount option [http://git.kernel.org/linus/a64afb057b607c04383ab5fb53c51421ba18c434 (commit)] * CEPH * Add flock/fcntl lock support [http://git.kernel.org/linus/40819f6fb227c1832935b775ac22aef10aa6f6dd (commit)] * Add LAZYIO ioctl to mark a file description for lazy consistency [http://git.kernel.org/linus/8c6e9229fc1989cf263a6fcd4ff406d7f473f966 (commit)] * CIFS: Support local caching [http://git.kernel.org/linus/fa1df75d4debde6d843e616df656f50a92958737 (commit)] * Ext3: default to ordered mode [http://git.kernel.org/linus/aa32a796389bedbcf1c7714385b18714a0743810 (commit)] * Squashfs: Add LZO compression support [http://git.kernel.org/linus/79cb8ced7eef53856b5a877db0544acf52e00c80 (commit)] * AFS: Implement an autocell mount capability [http://git.kernel.org/linus/bec5eb6141308a30a73682330cb045a40e442b8c (commit)] = Networking = * Add getsockopt support for TCP thin-streams [http://git.kernel.org/linus/3c0fef0b7d36e5f8d3ea3731a8228102274e3c23 (commit)] * Enable 64-bit net device statistics on 32-bit architectures [http://git.kernel.org/linus/be1f3c2c027cc5ad735df6a45a542ed1db7ec48b (commit)] * Optimize Berkeley Packet Filter (BPF) processing [http://git.kernel.org/linus/01f2f3f6ef4d076c0c10a8a7b42624416d56b523 (commit)] * Netfilter * Add CHECKSUM target [http://git.kernel.org/linus/edf0e1fb0d0910880881523cfaaabcec06a2c0d5 (commit)] * Add xt_cpu match [http://git.kernel.org/linus/e8648a1fdb54da1f683784b36a17aa65ea56e931 (commit)] * ipt_LOG/ip6t_LOG: add option to print decoded MAC header [http://git.kernel.org/linus/7eb9282cd0efac08b8377cbd5037ba297c77e3f7 (commit)] * xtables: idletimer target implementation [http://git.kernel.org/linus/0902b469bd25065aa0688c3cee6f11744c817e7c (commit)] * xt_ipvs (netfilter matcher for IPVS) [http://git.kernel.org/linus/9c3e1c39679144c250dda95098333ecb5f1f407a (commit)] * 9p: Define and implement TLINK for 9P2000.L [http://git.kernel.org/linus/09d34ee5f93b2e53b64ffba27bc18731e31154e1 (commit)], [http://git.kernel.org/linus/652df9a7fd03cb47a3f663f0c08a2bd086505e9b (commit)], define and implement TSYMLINK for 9P2000.L [http://git.kernel.org/linus/50cc42ff3d7bc48a436c5a0413459ca7841b505f (commit)], getattr client implementation for 9P2000.L protocol. [http://git.kernel.org/linus/f085312204f384a0277a66c3c48ba8f9edcd58f2 (commit)], client side of setattr for 9P2000.L protocol. [http://git.kernel.org/linus/87d7845aa0b157a62448dd3e339856f28befe1f4 (commit)], implement LOPEN [http://git.kernel.org/linus/ef56547efa3c88609069e2a91f46e25c31dd536e (commit)], implement TMKDIR [http://git.kernel.org/linus/01a622bd7409bb7af38e784cff814e5e723f7951 (commit)], implement TMKNOD [http://git.kernel.org/linus/4b43516ab19b748b48322937fd9307af17541c4d (commit)], readdir implementation for 9p2000.L [http://git.kernel.org/linus/7751bdb3a095ad32dd4fcff3443cf8dd4cb1e748 (commit)], implement attrwalk 9p call [http://git.kernel.org/linus/0ef63f345c48afe5896c5cffcba57f0457d409b9 (commit)], implement TXATTRCREATE 9p call [http://git.kernel.org/linus/eda25e46161527845572131b37706a458d9270ef (commit)] * bonding: allow user-controlled output slave selection [http://git.kernel.org/linus/bb1d912323d5dd50e1079e389f4e964be14f0ae3 (commit)] * ipv4: add LINUX_MIB_IPRPFILTER snmp counter [http://git.kernel.org/linus/b5f7e7554753e2cc3ef3bef0271fdb32027df2ba (commit)] * IPVS: make FTP work with full NAT support [http://git.kernel.org/linus/7f1c407579519e71a0dcadc05614fd98acec585e (commit)], one-packet scheduling [http://git.kernel.org/linus/26ec037f9841e49cc5c615deb8e1e73e5beab2ca (commit)] * nl80211: Add option to adjust transmit power [http://git.kernel.org/linus/98d2ff8bec82fc35fe2008a187a5fef9241dab10 (commit)] * syncookies: add support for ECN [http://git.kernel.org/linus/172d69e63c7f1e8300d0e1c1bbd8eb0f630faa15 (commit)] * vlan: allow TSO setting on vlan interfaces [http://git.kernel.org/linus/a204b48ed4dc31acf61090e530430ce3272b6aab (commit)] = DM = * delay: support discard [http://git.kernel.org/linus/3fd5d48027181168ce85e8094b926aeb9f34c556 (commit)] * linear support discard [http://git.kernel.org/linus/5ae89a8720c28caf35c4e53711d77df2856c404e (commit)] * mpath: support discard [http://git.kernel.org/linus/959eb4e5592cc0b0b07db0ca30d2b1efd790020f (commit)] * dm stripe: support discards [http://git.kernel.org/linus/7b76ec11fec40203836b488496d2df082d5b2022 (commit)] * snapshot: implement merge method for the snapshot origin to improve read performance [http://git.kernel.org/linus/b1d5552838334c600b068c9c8cc18638e5a8cb47 (commit)]