#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.25 development WARNING: This document may not be completely finished at the time of the release. Sorry. You can look at the LWN list of 2.6.25 features ([http://lwn.net/Articles/266721 1], [http://lwn.net/Articles/267849/ 2], and [http://lwn.net/Articles/268923/ 3]) Linux kernel version 2.6.25 Released ([http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.25 full SCM git log]) [[TableOfContents()]] = Short overview (for news sites, etc) = = Important things (AKA: the cool stuff) = == RCU Preempt support == Recommended LWN article: [http://lwn.net/Articles/253651/ The design of preemptible read-copy-update] [http://en.wikipedia.org/wiki/Read-copy-update RCU] is a very powerful locking scheme used in Linux to scale to [http://lkml.org/lkml/2007/5/4/314 very large] number of CPUs on a single system. However, it wasn't well suited for the Real Time patchsets that have been developed to make Linux a RT OS, because some parts weren't preemptible, causing latencies too big for RT workloads. In 2.6.25, RCU can be preempted, eliminating that source of latencies and making Linux a bit more RT-ish. == EXT4 update == Recommended article: [http://lwn.net/Articles/266274/ "A better ext4"] EXT4 mainline snapshot gets an update with a bunch of features: Multi-block allocation, large blocksize up to PAGEZIZE, journal checksumming, large file and filesystem support, inode versioning and allow in-inode extended attributes on the root inode. These features should be the last ones that require on-disk format changes. Other features that don't affect the disk format, like delayed allocation, have still to be merged. * Allow in-inode extended attributes on the root inode [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0040d9875dcccfcb2131417b10fbd9841bc5f05b (commit)] * ext4: Add multi block allocator for ext4 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9de560ded61faa5b754137b7753da252391c55a (commit)] * ext4: Add support for 48 bit inode i_blocks. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fc1b451471dfc3cabd6e99ef441df9804616e63 (commit)] * ext4: Add EXT4_IOC_MIGRATE ioctl [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c14c6fd5c56a0d0495d8a7c0f2bc330be658663e (commit)] * ext4: Add inode version support in ext4 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25ec56b518257a56d2ff41a941d288e4b5ff9488 (commit)] * ext4: Introduce ext4_lblk_t [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=725d26d3f09ccb5bac4b4293096b985a312a0d67 (commit)] * vfs: Add 64 bit i_version support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a224228ed79d587ece2304869000aad1b8e97dd (commit)] * ext4: Support large files [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8180a5627d126362c2f64e4fa886d6f608d9632a (commit)] * ext4: Add the journal checksum feature [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=818d276ceb83aa9fdebb5e0a53188290312de987 (commit)] * jbd2: jbd2 stats through procfs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e85fb3f305b24b79c6d9cb7a56d22b062335ad3 (commit)] * ext4: Support large blocksize up to PAGESIZE [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afc7cbca5bfd556c3e12d3acefbee5ab0cbd4670 (commit)]