#pragma section-numbers on #pragma keywords Linux, Kernel, Operative System, Changes, changelog, File system, Linus Torvalds, Open Source, drivers #pragma description Summary of the changes and new features merged in the Linux Kernel during the 3.1 development cycle '''''Summary''''': [[TableOfContents()]] = Prominent features = == == '''''Working on it''''' = Driver and architecture-specific changes = All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.1_DriverArch Linux_3.1_DriverArch page] = VFS = '' Scalability improvements '': This release includes a new round of scalability improvements * Convert the inode_stat.nr_unused counter to a per-cpu counter [http://git.kernel.org/linus/fcb94f72d3e0f4f34b326c2986da8e5996daf72c (commit)] * Convert the global LRU list of unused inodes to a per-superblock LRU list [http://git.kernel.org/linus/98b745c647a5a90c3c21ea43cbfad9a47b0dfad7 (commit)], [http://git.kernel.org/linus/09cc9fc7a7c3d872065426d7fb0f0ad6d3eb90fc (commit)], [http://git.kernel.org/linus/b0d40c92adafde7c2d81203ce7c1c69275f41140 (commit)], [http://git.kernel.org/linus/0e1fdafd93980eac62e778798549ce0f6073905c (commit)], [http://git.kernel.org/linus/8ab47664d51a69ea79fe70bb07ca80664f74f76b (commit)] * As a consecuence of the per-superblock LRU list of unused inodes, remove the iprune_sem semaphore [http://git.kernel.org/linus/4f8c19fdf3f97402b68f058b1c72a6c7166c9e59 (commit)] * Kill i_alloc_sem and replace its functionality with a simpler scheme (see commit for details) [http://git.kernel.org/linus/bd5fe6c5eb9c548d7f07fe8f89a150bb6705e8e3 (commit)] * Mount lock scalability for filesystems that don't have a mount point (e.g. sockfs and pipefs) [http://git.kernel.org/linus/423e0ab086ad8b33626e45fa94ac7613146b7ffa (commit)] * Avoid taking inode_hash_lock on pipes and sockets [http://git.kernel.org/linus/f2ee7abf4c40c8e6bffced923a7c01ea2d1f6c97 (commit)] = Process scheduler = = Memory management = * Memory control group: add memory.vmscan_stat [http://git.kernel.org/linus/82f9d486e59f588c7d100865c36510644abda356 (commit)] * Extend memory hotplug API to allow memory hotplug in virtual machines [http://git.kernel.org/linus/9d0ad8ca43ce8023bb834a409c2258bd7197fb05 (commit)] * page allocator: fix significant stalls while copying large amounts of data on NUMA machines [http://git.kernel.org/linus/cd38b115d5ad79b0100ac6daa103c4fe2c50a913 (commit)], [http://git.kernel.org/linus/76d3fbf8fbf6cc78ceb63549e0e0c5bc8a88f838 (commit)] = Networking = * AF_PACKET: add 'cpu' fanout policy. [http://git.kernel.org/linus/95ec3eb417115fbb2c73b59e2825f6dd5d2f6cf6 (commit)], [http://git.kernel.org/linus/dc99f600698dcac69b8f56dda9a8a00d645c5ffc (commit)], [http://git.kernel.org/linus/7736d33f4262d437c51ed7a28114eacbfca236ff (commit)] * B.A.T.M.A.N: improved client announcement mechanism [http://git.kernel.org/linus/a73105b8d4c765d9ebfb664d0a66802127d8e4c7 (commit)], [http://git.kernel.org/linus/cc47f66e6b9ec7e7d465f74739a6fc9844593894 (commit)] * Add support for skb zero-copy buffers [http://git.kernel.org/linus/1cdebb423202e255366a321814fc6df079802a0d (commit)], [http://git.kernel.org/linus/a6686f2f382b13f8a7253401a66690c3633b6a74 (commit)], [http://git.kernel.org/linus/97bc3633bec7ed0fdfbda6b9cf86c51e4f58f8e2 (commit)] * Compute protocol sequence numbers and fragment IDs using MD5 instead of MD4, as is inline with both RFC1948 and other OS [http://git.kernel.org/linus/6e5714eaf77d79ae1c8b47e3e040ff5411b717ec (commit)] * Add multicast group for DCB [http://git.kernel.org/linus/314b4778ed579f29b6d46ba90dbf31314c13805f (commit)] * Netfilter * BPF 'JIT' compiler for PPC64 [http://git.kernel.org/linus/0ca87f05ba8bdc6791c14878464efc901ad71e99 (commit)] * Add SELinux context support to AUDIT target [http://git.kernel.org/linus/131ad62d8fc06d9d0a5c61d9526876352c2f2bbd (commit)] * ipset: support range for IPv4 at adding/deleting elements for hash:*net* types [http://git.kernel.org/linus/d0d9e0a5a8db05b2179c2ffb25d1c2850cce3c8e (commit)] * SCTP: Add Auto-ASCONF (RFC5061) support [http://git.kernel.org/linus/9f7d653b67aed2d92540fbb0a8adaf32fcf352ae (commit)], [http://git.kernel.org/linus/dd51be0f5484b450b8d48c9226ed86ce3dd5102e (commit)], [http://git.kernel.org/linus/8a07eb0a50aebc8c95478d49c28c7f8419a26cef (commit)], [http://git.kernel.org/linus/7dc04d712203eecdc1435a4cd135935c4a297be5 (commit)] * inetpeer microoptimization: reduce the false sharing effect by reordering the members of a struct [http://git.kernel.org/linus/2b77bdde97ae8241dcc23110a4e837acfbc83438 (commit)] * ipv4 microoptimization: save cpu cycles from check_leaf(), with route cache disabled this saves ~2% of cpu in udpflood bench [http://git.kernel.org/linus/5c74501f76360ce6f410730b9b5e5976f38e8504 (commit)] * 9P: Add 9P2000.L renameat operation [http://git.kernel.org/linus/9e8fb38e7d7a00e5f63bbb331f0ea4c02286d5e6 (commit)], add 9P2000.L unlinkat operation [http://git.kernel.org/linus/48e370ff93769ee6e592ddef3bb38686b8147c67 (commit)] = File systems = '' BTRFS '' * Improve ls readdir() performance significantly [http://git.kernel.org/linus/44396f4b5cb8566f7118aec55eeac99be7ad94cb (commit)], [http://git.kernel.org/linus/b4aff1f874f679320c03e3d97b60fc7babfd4623 (commit)] * Switch the btrfs tree locks to reader/writer (see commit link for details) [http://git.kernel.org/linus/bd681513fa6f2ff29aa391f01e413a2d1c59fd77 (commit)] '' NFS '' * NFS 4.1: pnfs IPv6 support [http://git.kernel.org/linus/c9895cb69b07a4b17d8fdae26667f9a9fba5183b (commit)] * Remove deprecated nfsctl system call and related code. [http://git.kernel.org/linus/49b28684fdba2c84a3b8e54aaa0faa9ce2e4f140 (commit)] '' XFS '' * Performance improvements [http://git.kernel.org/linus/8daaa83145ef1f0a146680618328dbbd0fa76939 (commit)], [http://git.kernel.org/linus/1d8c95a363bf8cd4d4182dd19c01693b635311c2 (commit)] '' FAT '' * Fat16 support maximum 4GB file/vol size as WinXP or 7 [http://git.kernel.org/linus/710d4403a45c4040a9aa86971d50958f5ae6ed40 (commit)] '' HFSplus '' * Lift the 2TB size limit [http://git.kernel.org/linus/c6d5f5fa658f2569a7baaff5acda261a1316cee9 (commit)] '' SQUASHFS'' * Make ZLIB compression support optional [http://git.kernel.org/linus/cc6d3497141adedb71de8ddce62bf4cd4817832d (commit)] = Block layer = * Strict CPU affinity, by writting the value 2 to /sys/block//queue/rq_affinity [http://git.kernel.org/linus/5757a6d76cdf6dda2a492c09b985c015e86779b1 (commit)] * CFQ I/O scheduler: performance tuning [http://git.kernel.org/linus/7700fc4f675fa38094e78e345b594363a2fd895b (commit)], [http://git.kernel.org/linus/f5f2b6ceb23e02ff35c6dbc6a39aa776ace99cda (commit)] * loop: add BLK_DEV_LOOP_MIN_COUNT=%i to allow distros 0 pre-allocated loop devices [http://git.kernel.org/linus/d134b00b9acca3fb054d7c88a5f5d562ecbb42d1 (commit)], [http://git.kernel.org/linus/770fe30a46a12b6fb6b63fbe1737654d28e84844 (commit)] '' Device Mapper'' * flakey target: add corrupt_bio_byte feature [http://git.kernel.org/linus/a3998799fb4df0b0af8271a7d50c4269032397aa (commit)], add drop_writes [http://git.kernel.org/linus/b26f5e3d7127487e934758c1fbe05d683b082cb0 (commit)] * Support the MD RAID1 personality through the dm-raid target [http://git.kernel.org/linus/327372797c88b24953f454cd51a3734c02697bdd (commit)] * raid: Support metadata devices [http://git.kernel.org/linus/b12d437b73d32203a41fde0d407e91812c866844 (commit)] = Crypto = * Add ablkcipher support [http://git.kernel.org/linus/acdca31dba86c4f426460aa000d13930a00549b7 (commit)] * s390: support hardware accelerated SHA-224 [http://git.kernel.org/linus/e3b4f515c43553a9950017d8d052541ccb8081fa (commit)] * ecryptfs: Add mount option to check uid of device being mounted = expect uid [http://git.kernel.org/linus/764355487ea220fdc2faf128d577d7f679b91f97 (commit)] * encrypted-keys: add key format support [http://git.kernel.org/linus/4e561d388feff18e4b798cef6a1a84a2cc7f20c2 (commit)], add ecryptfs format support [http://git.kernel.org/linus/79a73d188726b473ca3bf483244bc96096831905 (commit)] = Virtualization = '' KVM '' * Nested VMX (AMD virtualization) support [http://git.kernel.org/linus/823e396558e509b7c3225cd76806f3d6643ff5f8 (commit)] * Enable ERMS feature support (can enhance fast strings attempts to move as much of the data with larger size load/stores as possible) [http://git.kernel.org/linus/a01c8f9b4e266df1d7166d23216f2060648f862d (commit)] * "Steal time" guest/host interface [http://git.kernel.org/linus/9ddabbe72e41ca6794cb4947c70929c9410e6752 (commit 1], [http://git.kernel.org/linus/3c404b578fab699c4708279938078d9404b255a4 2], [http://git.kernel.org/linus/c9aaa8957f203bd6df83b002fb40b98390bed078 3], [http://git.kernel.org/linus/e6e6685accfa81f509fadfc9624bc7c3862d75c4 4] [http://git.kernel.org/linus/d910f5c1064d7ff09c31b0191564f9f99e210f91 5)] * vhost TX zero-copy support [http://git.kernel.org/linus/bab632d69ee48a106e779b60cc01adfe80a72807 (commit)] * Lockless walking shadow page table [http://git.kernel.org/linus/c2a2ac2b563ccc3a69540965b5a994c19e3817d7 (commit)] * mmio page fault support [http://git.kernel.org/linus/ce88decffd17bf9f373cc233c961ad2054965667 (commit)] * PPC: e500: Add shadow PID support [http://git.kernel.org/linus/dd9ebf1f94354b010f2ac7a98bf69168636cb08e (commit)], add support for Book3S processors in hypervisor mode [http://git.kernel.org/linus/de56a948b9182fbcf92cb8212f114de096c2d574 (commit)], book3s_hv: Add support for PPC970-family processors [http://git.kernel.org/linus/9e368f2915601cd5bc7f5fd638b58435b018bbd7 (commit)] '' XEN '' * Memory hotplug support for Xen balloon driver [http://git.kernel.org/linus/080e2be7884322daffe75a831e879fbe7de383ab (commit)] * Xen pci backend driver. [http://git.kernel.org/linus/30edc14bf39afde24ef7db2de66c91805db80828 (commit)] '' VMWARE '' * vmxnet3: Enable GRO support. [http://git.kernel.org/linus/213ade8ca8c854435d99e4d2927655b2ae4191e9 (commit)] = Security = '' TOMOYO '' * Add auditing interface. [http://git.kernel.org/linus/eadd99cc85347b4f9eb10122ac90032eb4971b02 (commit)] * Add ACL group support. [http://git.kernel.org/linus/32997144fd9925fc4d506a16990a0c405f766526 (commit)] * Add policy namespace support. [http://git.kernel.org/linus/bd03a3e4c9a9df0c6b007045fa7fc8889111a478 (commit)] * Add built-in policy support. [http://git.kernel.org/linus/efe836ab2b514ae7b59528af36d452978b42d266 (commit)] * Make several options configurable. [http://git.kernel.org/linus/0e4ae0e0dec634b2ae53ac57d14141b140467dbe (commit)] * Allow using the following properties as conditions: argv[]/envp[] of execve() [http://git.kernel.org/linus/5b636857fee642694e287e3a181b523b16098c93 (commit)], executable's realpath and symlink's target [http://git.kernel.org/linus/2ca9bf453bdd478bcb6c01aa2d0bd4c2f4350563 (commit)], owner/group etc. of file objects [http://git.kernel.org/linus/8761afd49ebff8ae04c1a7888af090177441d07d (commit)], UID/GID etc. of current thread [http://git.kernel.org/linus/2066a36125fcbf5220990173b9d8e8bc49ad7538 (commit)] = Tracing/profiling = * perf probe: Support adding probes on offline kernel modules [http://git.kernel.org/linus/614243181050436785f5a621749a7da2336a7916 (commit)], [http://git.kernel.org/linus/14a8fd7ceea6915c613746203d6e9a2bf273f16c (commit)] * perf_events: Add Intel Sandy Bridge offcore_response low-level support [http://git.kernel.org/linus/ee89cbc2d48150c7c0e9f2aaac00afde99af098c (commit)] * perf report/annotate/script: Add option to specify a CPU range [http://git.kernel.org/linus/5d67be97f8903d05ce53597fb5f3bc25a45e8026 (commit)] * perf tools: Add inverted call graph report support. [http://git.kernel.org/linus/d797fdc5c5c245fbb05f553e68cb95d962fbdd01 (commit)] * perf, x86: Add model 45 SandyBridge support [http://git.kernel.org/linus/a34668f6beb4ab01e07683276d6a24bab6c175e0 (commit)] = Various core changes = * Add lock-less NULL terminated single list [http://git.kernel.org/linus/f49f23abf3dd786ddcac1c1e7db3c2013b07413f (commit)] * crc8: add new library module providing crc8 algorithm [http://git.kernel.org/linus/7150962d637cf38617924f7f72ea00612283eb89 (commit)] * Make gen_pool memory allocator lockless. This makes it safe to use in NMI handlers and other special unblockable contexts that could otherwise deadlock on locks [http://git.kernel.org/linus/7f184275aa306046fe7edcbef3229754f0d97402 (commit)] * ptrace: implement PTRACE_INTERRUPT [http://git.kernel.org/linus/fca26f260c528ee51a2e451b5b200aeb528f3e09 (commit)], PTRACE_LISTEN [http://git.kernel.org/linus/544b2c91a9f14f9565af1972203438b7f49afd48 (commit)], PTRACE_SEIZE [http://git.kernel.org/linus/3544d72a0e10d0aa1c1bd59ed77a53a59cdc12f7 (commit)], TRAP_NOTIFY [http://git.kernel.org/linus/fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd (commit)] * module: add /sys/module//uevent files [http://git.kernel.org/linus/88bfa3247961fe5f3623f4d2cf1cd5dc72457598 (commit)] * Add SEEK_HOLE and SEEK_DATA flags in lseek() [http://git.kernel.org/linus/982d816581eeeacfe5b2b7c6d47d13a157616eff (commit)] ---- CategoryReleases