#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.27 development The linux 2.6.27 kernel ([http://kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.27 full SCM git log]) is neither released nor finished. Its merge window has officially been closed by the [http://marc.info/?l=linux-kernel&m=121730204732684&w=2 2.6.27-rc1 release on July 28th 2008.] '''Summary''': 2.6.27 adds support for ... [[TableOfContents()]] = Important features (the cool stuff) = == UBIFS == UBIFS is a new filesystem designed to work with flash devices, developed by Nokia with help of the University of Szeged. It's important to understand that UBIFS is very different to any traditional filesystem: UBIFS does not work with block based devices, but pure flash based devices, handled by the MTD subsystem in Linux. Hence, UBIFS does not work with what many people considers flash devices like flash-based hard drives, SD cards, USB sticks, etc; because those devices use a block device emulation layer called FTL (Flash Translation Layer) that make they look like traditional block-based storage devices to the outside world. UBIFS instead is designed to work with flash devices that do not have a block device emulation layer and that are handled by the MTD subsystem and present themselves to userspace as MTD devices. UBIFS works on top of UBI volumes. UBI is a LVM-like layer which was included in [http://kernelnewbies.org/Linux_2_6_22 Linux 2.6.22], which itself works on top of MTD devices. UBIFS offers various advantages to JFFS2: faster and scalable mount times (unlike JFFS2, UBIFS does not have to scan whole media when mounting), tolerance to unclean reboots (UBIFS is a journaling filesystem), write-back (which improves dramatically the performance), and support of on-the-flight compression. Documentation: UBIFS [http://www.linux-mtd.infradead.org/faq/ubifs.html FAQ], more [http://www.linux-mtd.infradead.org/doc/ubifs.html documentation] Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d7eff873caaeac84de01a1acdca983d2c7ba3fe (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e56a99d5a42dcb91e622ae7a0289d8fb2ddabffb (commit)] == Ext4: Delayed Allocation == In this release, Ext4 is adding one of its most important planned features: Delayed allocation, also called [http://en.wikipedia.org/wiki/Allocate-on-flush "Allocate-on-flush"]. It doesn't changes the disk format in any way, but it improves the performance in a wide range of workloads. This is how it works: When an application {{{write()}}}s data to the disk, the data is usually not written immediately to the disk, it's cached in RAM for a while. But despite of not being written immediately to the disk, the filesystem allocates the neccesary disk structures for it immediately. Delayed allocation consists on not allocating space for that cached data - instead, only the free space counter is updated when {{{write()}}} is called. The on-disk blocks and structures are allocated only when the cached data is finally written to the disk - not when a process writes something (IOW: "delayed allocation"). This approach, used by filesystems such as XFS, btrfs, ZFS, or Reiser 4, improves noticeably the performance on many workloads. It also results in better block allocation decisions, because when allocation decisions are done at {{{write()}}}-time, the block allocator can not know if any other {{{write()}}}s are going to be done. Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29a814d2ee0e43c2980f33f91c1311ec06c0aa35 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64769240bd07f446f83660bb143bb609d8ab4910 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2a1763791a634e315ec926b62829c1e88842c86 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1aac32923a9c8adcc0ae85e33c1ca0c5855838 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd919b9822c5fd9fd72f95a602440130297c3857 5)] There's also a new implementation of the default {{{data=ordered}}} journaling mode based in {{{inodes}}}, not in {{{jbd}}} buffer heads. Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c851ed540173736e60d48b53b91a16ea5c903896 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=678aaf481496b01473b778685eca231d6784098b 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87c89c232c8f7b3820c33c3b9bc803e9358027da 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=772cb7c83ba256a11c7bf99a11bef3858d23767c 4)] == ftrace, sysprof support, == Ftrace is a very simple function tracer -unrelated to kprobes/SystemTap- which was born in the -rt patches. It uses a compiler feature to insert a small, 5-byte No-Operation instruction to the beginning of every kernel function, which NOP sequence is then dynamically patched into a tracer call when tracing is enabled by the administrator. If it's disabled, the overhead of the instructions is very small and not measurable even in micro-benchmarks. Although ftrace is the function tracer, it also includes an plugin infrastructure that allows for other types of tracing. Some of the tracers that are currently in ftrace include a tracer to trace context switches, the time it takes for a high priority task to run after it was woken up, how long interrupts are disabled, the time spent in preemption off critical sections. The interface to access ftrace can be found in /debugfs/tracing, which are documented in Documentation/ftrace.txt. There's also a sysprof plugin that can be used with a development version of sysprof - "svn checkout http://svn.gnome.org/svn/sysprof/branches/ftrace-branch sysprof" Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c731e0a495e25e79dc1e9e68772a67a55721a65 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=502825282e6f79c975a644afc124432ec1744de4 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e766410c4babd37bc7cd5e25009c179781742c8 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16444a8a40d4c7b4f6de34af0cae1f76a4f6c901 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc0c38d139ec7fcd5c030aea16b008f3732e42ac 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b29b01887e6032dcaf818c14999c7a39593b4e7 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35e8e302e5d6e32675df2fc1dd3a53dfa6630dc1 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=352ad25aa4a189c667cb2af333948d34692a2d27 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=81d68a96a39844853b37f20cc8282d9b65b78ef3 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6cd8a4bb2f97527a9ceb30bc77ea4e959c6a95e3 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d0833953e1b98b79ddf491dd49229eef9baeac1 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0fc494fae96a7089f3651cb451f461c7291244c 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e491d14f2506b218d678935c25a7027b79178b1 13] [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f06c38103ea9dbca27c3f4d77f444ddefb5477cd 14], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f984b51e0779a6dd30feedc41404013ca54e5d05 15)] == Lockless page cache and get_user_pages() == The page cache is the place where the kernel keeps in RAM a copy of a file to improve performance by avoiding disk I/O when the data that needs to be read is already on RAM. Each "mapping", which is the data structure that keeps track of the correspondence between a file and the page cache, is SMP-safe thanks to its own lock. So when different processes in different CPUs access different files, there's no lock contention, but if they access the same file (shared libraries for example), they can hit some contention on that lock. In 2.6.27, thanks to some rules on how the page cache can be used and the usage of RCU, the page cache will be able to do lookups (ie., "read" the page cache) without needing to take the mapping lock, and hence improving scalability. Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47feff2c8eefe85099f87c43d3096855f0085ca0 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e286781d5f2e9c846e012a39653a166e9d31777d 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a60637c85893e7191faaafa6a72e197c24386727 3)] Lockless get_user_pages(): get_user_pages() is a function used in direct I/O operations to pin the userspace memory that is going to be transferred. It's a complex function that requires to hold the mmap_sem semaphore in the mm_struct struct of the process and the page table lock. This is a scalability problem when there're several processes using get_user_pages in the same address space (for example, databases that do Direct I/O), because there will be lock contention. In 2.6.27, a new get_user_pages_fast() function has been introduced, which does the same work that get_user_pages() does, but its simplified to speed up the most common workloads that exercise those paths within the same address space. This new function can avoid taking the mmap_sem semaphore and the page table locks in those cases. Benchmarks showed a 10% speedup running a OLTP workload with a IBM DB2 database in a quad-core system Code: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21cc199baa815d7b3f1ace4be20b9558cbddc00f (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8174c430e445a93016ef18f717fe570214fa38bf 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5dd33c494a427b1d1a3b574de5c9e511c888864 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc40d73c950146725e9e768e856a416ec8949065 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=652ea695364142b2464744746beac206d050ef19 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30002ed2e41830ec03ec3e577ad83ac6b188f96e 6)] = Architecture-specific changes = * SPARC * Implement IRQ stacks. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f70f7a91bffdcc39f088748dc678953eb9a3fbd (commit)] * Add Niagara2 RNG driver. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce087150211412afd901a3fa16b1aab5b54d1bcb (commit)] * Add ftrace support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d05f5f9906740474eb768823004ffcd775b12ca6 (commit)] * ARM * Orion: add QNAP TS-409 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47e9cffde663eafd5f78987036429fc0994d90e8 (commit)], add 88F5181L (Orion-VoIP) support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2b2a6bbc020e5a9a244f318d28515081e922882 (commit)], add Linksys WRT350N v2 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42452b77a1fba2fee89350be2a9c03b54b27c218 (commit)], add HP Media Vault mv2120 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b08d5af39616fd32a1fafbcb51c36d4c99c4e02f (commit)], add Technologic Systems TS-78xx support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7171d8672bb0bcb744935bd2c6108378b5c6c6ad (commit)], add Maxtor Shared Storage II support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ec753ccc10ad552c8ec2d40e0edbe3a9c562f30 (commit)], add Netgear WNR854T support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f8209788d774c66efb5e2991affc06b1d1c7314 (commit)], add RD88F5181L-FXO support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b5cdf0f6d4dc3d98de20d6b0abe8500046f1cb1 (commit)], add RD88F5181L-GE support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70129132322cdbb6683ab9e90419cd5a6f8294d3 (commit)] * AT91: UDPHS driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53d7168026a440c4cba25468a3d926ddd7ab030a (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c8cf66529ebf95f1a5f34d1b69504d442b42630 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ba45ca435060614e595a107ac323a36b52619d7d (commit)], Calao Systems [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0a789ab9c83d8fdf28f5c2700b316cd5dec2f0 (commit)] * Initial machine support for Logitech Jive [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9db829f485c553a0e677a165b37f877bf74f36ff (commit)] * pcm990: Add framebuffer and backlight support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0f7edb3099d538017c52556aab596b857dc92ee (commit)] * pxa: Add generic PWM backlight driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42796d37da6ef4fd851dc6d5d0387baf7e2b0c3c (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75540c1ac3c7bd72ac8e092058f9714875239995 (commit)], * Latencytop support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f76e9154736e9ab47b64940d0062f19c80225b7f (commit)] * Add Marvell Loki (88RC8480) SoC support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=777f9bebad3476b7dbf5cd8abbd3414139ca0e48 (commit)] * Add Marvell Kirkwood (88F6000) SoC support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=651c74c74bf84ba966b52588ba3329606f3fd8d4 (commit)] * Add Marvell 78xx0 ARM SoC support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=794d15b25df5dda10efba600d6dd6cd74a7aa9cb (commit)] * Support Toshiba TC6393XB Mobile I/O Controller. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6315949ac5527efd00d48283a9e33361c86e8e9 (commit)] * Core MFD support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa613de676986f136fa6f48a4d709b5d264f4f38 (commit)] * tc6393xb: tmio-nand support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f024ff10b1ab13da4d626366019fd05c49721af7 (commit)] * Tosa: support TC6393XB device [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf0116e54e185fd63025f2b975f0f1616ffe41f1 (commit)], tmio-nand data [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5289fecda021828af85fccc8cc2613a85d0fcf52 (commit)], support built-in bluetooth power-up [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16b32fd0a35b30cbd67395cfcbd360354db44f39 (commit)] * S3C2440: Add AT2440EVB board support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ab9897172b7ff3a1a37b65b53f71c5795a577b0 (commit)] * AT2440EVB: Add DM9000A network controller support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66493c2d88d5086399c5a485d6e41cb76b241a1f (commit)] * Acer n30: Add support for n35 and related devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9579087331ee0cd220d29aa5bda79ff55b33c228 (commit)] * ixp4xx: Add support for the Freecom FSG-3 board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e36e2f5355ab87f8946041d044b34cda01e2077 (commit)] * Remove ARCH_CO285 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e055d5bff318845f99c0fbf93245767fab8dce88 (commit)] * SH * Initial ELF FDPIC support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bc24a1a5441ef621daf737ec93b0a10e8999d59 (commit)] * Support variable page sizes on nommu. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74fcc77982e703fe85d8bd5437130fd94c61daee (commit)] * Add support for 16kB PAGE_SIZE. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66dfe18114839a7297f56f43f03125f4121de79b (commit)] * Add support Renesas Solutions AP-325RXA board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04e917b606ffe6ec10fb75c21447162cba31f6b6 (commit)] * Add SCIF2 support for SH7763. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c63847a3621d2bac054f5709783860ecabd0ee7e (commit)] * RSK+ 7203 board support. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3787aa112c653b34b6f901b2eaae2b62f9582569 (commit)] * Renesas Solutions SH7763RDP board support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cec1a37ba7d9dce6ed5d8259b95272100a98b1f (commit)] * Solution Enginge 7710/7712 SH-Ether support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ffb91ad2751723bcc9925cd38e37013e2169e256 (commit)] * Renesas R0P7785LC0011RL board support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbe9da029d9cc4fff59d559789885079a84a0af8 (commit)] * Add SuperH Mobile LCDC platform data for Migo-R [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b1285f1c192e7e84ba28cc25eb0e9bcf2dadb17 (commit)], add SuperH Mobile CEU platform data for Migo-R [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1765534c23596794385f309609c09642f33846e4 (commit)] * AP325RXA support: [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6968980a1bc0ba56dd8ef21c14577af3f2f9992b (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4875ea224af0215635f18c2c1b060fb023c7602f (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b2224dc6a5b46cfa1d54ab1fe82107351c66443 (commit)] * IA64 * Allow ia64 to CONFIG_NR_CPUS up to 4096 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1339df1f46d10e0396c1470f371b0d1b23295ba (commit)] * Paravirt_ops support for IA64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90aeb169c03a96e22674741f08054023c33d595b (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0879deb700f322f6c81ab34f056fc72d15ec02 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ff730b52f0c3e4e3846c3ff345c5526b2633ba9 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e39d80a5957eab9dfdd7490d5c5cee272c34aa7 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e92e8c68a61ae7d845c1be0a58a081e7756b0735 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02e32e36f42f8ea7ee6060d02f2d69ad5bad6d50 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=498c5170472ff0c03a29d22dbd33225a0be038f4 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4df8d22bbbb16ccfa4e10cc068135183c9e5e006 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=213060a4d6991a95d0b9344406d195be3464accf (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e51835d58a5abdf82211f36f500f666ca7ef9aee (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33b39e84209b0308b572dce017df7ee9b63f086c (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00d21d82b8a9e290286e09d8eedc20bfc33b0eee (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a2f2ccc7a6bfbdb8b484198e190d6805d979700 (commit)] * Blackfin * Use the generic platform nand driver to support nand flash on bf53x board which do not have on-chip nand flash controller [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc68911ee379bff429c2f8dfc0a4d3277eb193ec (commit)] * Functional power management support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1efc80b53eb54770139219f99657abd92595fc86 (commit)] * Apply Bluetechnix CM-BF527 board support patch [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9db144fe897bb09838294aab2229cb423ab40988 (commit)] * Add support for the BlackStamp board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130de7cebe20a74261a75bb0c6026a3199cdb980 (commit)] * AVR32 * Add support for ATSTK1006 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e150d6e725c014d72106a8610be40b7b08beb77a (commit)] * Power Management support ("standby" and "mem" modes) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02a00cf672a37292c31bbdde191712bfa40a4f1d (commit)] * POWERPC * Enable tracehook for the architecture [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dec2b0d0cc64e495a3c9c5700fa7a3b397b5e855 (commit)] * Support multiple hugepage sizes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d9ea75443dc7e37843e656b8ebc947a6d16d618 (commit)], define support for 16G hugepages [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91224346aa8c1cdaa660300a98e0b074a3a95030 (commit)] * POWER7 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e952e6c4d6635b36c212c056a9427bd93460178c (commit)],[http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=635f5a6354eaf2cf7d72116086175b82b12ac80a (commit)] * Vector Scaler extensions (Power 7 processors) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6e6771b87d4e339d27f1383c8a808ae9b4ee5b8 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b962ce9d26fd6677e6720949642420ceb029a102 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=72ffff5b1792b0fa4d40a8e2f3276fff999820ec (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce48b2100785e5ca629fb3aa8e3b50aca808f692 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96d5b52c8473ae6ee63d592474bcc1255df06102 (commit)] * Add Strong Access Ordering support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=379070491e1e744a59e69e5bcf3765012d15ecb4 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aba46c5027cb59d98052231b36efcbbde9c77a1d (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef3d3246a0d06be622867d21af25f997aeeb105f (commit)] * mpc5121: Add clock driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=137e95906e294913fab02162e8a1948ade49acb5 (commit)], Update device tree for MPC5121ADS evaluation board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4df64c3e58d28ffc5c61bdbdd733c5d0303b9f3c (commit)], add generic board support for MPC5121 platforms [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb1803224ea145e3424d6295d4aaa8e9fef70642 (commit)], add support for CPLD on MPC5121ADS board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1879f711d8c3960e0fd927f38ff885017a77291b (commit)] * 85xx: add board support for the TQM8548 modules [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6dd1b64a26d9209c09488e9fa257e7744823bf29 (commit)], add DOZE/NAP support for e500 core [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc4033b2f8b1482022bff3d05505a1b1631bb6de (commit)], enable MSI support for 85xxds board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741edc494978bc2770e891b8cfadbca3246a3d1a (commit)], add support for MPC8536DS [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f3804edf971d2080243d2b4552bfd61ddfbf969 (commit)] * 83xx: new board support: MPC8360E-RDK [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b13e930906b313d787f4dd07fe78b74a3a8c22c4 (commit)], add support for Analogue & Micro ASP837E board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59d13f9dba56c444e5356b42d3d57b46e44ef975 (commit)], Power Management support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d49747bdfb2ddebea24d1580da55b79d093d48a9 (commit)] * 86xx: Enable MSI support for MPC8610HPCD board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0023352f56f90d01de67f995e248fe4c5308a497 (commit)] * virtex: add Xilinx 440 cpu to the cputable [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23e7237e096aa69e1061294c8af2b592f7802808 (commit)], add Xilinx Virtex 5 ppc440 platform support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39fd0e92b3dc864f36c1253006b8b831844d36f1 (commit)] * 4xx: Sam440ep support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6014e15bc38a33cf9591d33674dd870027cb623 (commit)] * C2K board driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46388c0d88add1c39926cd415039fe931edd5829 (commit)] * ibmveth: enable driver for CMO [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1096d63d8e7d226630706e15648705d0187787e4 (commit)] * ibmvscsi: driver enablement for CMO [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7912a0ac5907df1f8b214b3ca15ccf96129daae0 (commit)] * ibmvfc: Add support for collaborative memory overcommit [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39c1ffecc6aabcc8105602a95ce769f27bcf6048 (commit)] * Implement FSL GTM support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83ff9dcf375c418ca3b98eb950711525ca1269e2 (commit)] * powerpc/QE: add support for QE USB clocks routing [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e41486c408eb4206aee09303631427f57771691 (commit)] * booke: Add kprobes support for booke style processors [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f82796214a95b1ec00c2f121c1080d10f2b099a1 (commit)], BookE hardware watchpoint support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6a61bfc06d6f2248f3e75f208d64e794082013c (commit)], add support for new e500mc core [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3dfa8773674e16f95f70a0e631e80c69390d04d7 (commit)] * powerpc: Remove arch/ppc and include/asm-ppc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=917f0af9e5a9ceecf9e72537fabb501254ba321d (commit)] * fsl: PCIe MSI support for 83xx/85xx/86xx processors. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34e36c1541fe70e5b3842a3278c0e7631d31f4cb (commit)] * pseries: Add collaborative memory manager [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84af458bb23bf5f0ba1af4320dd2a57f7c4363e5 (commit)], add CMO paging statistics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ffa5abbd0c399b32fc13a1b4718d87ee7a716999 (commit)], iommu enablement for CMO [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6490c4903d12f242bec4454301f76f6a7520e399 (commit)], vio bus support for CMO [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a90ab95a9576d35de0d05f9f4fc435edcccafaa9 (commit)] * Add driver for Barrier Synchronization Register [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe9e8d53772b5ea9ccf8ea4e8f0f009a6885eb70 (commit)] * Support for latencytop [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01f4b8b8b8db09b88be7df7e51192e4e678b69d3 (commit)] * cell: Add spu aware cpufreq governor [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=880e710580c09bf86cddac687fc492a8318934fe (commit)]. add support for power button of future IBM cell blades [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4795b7801b07e1b7286edb0d9321433fc0eac6cc (commit)] * Delete unused fec_8xx net driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=54ef0ec22a39071a4e7fbedd201cecac9ac6e8a7 (commit)] = Drivers = == Sound == * Add EM-X270 ASoC driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=142054a389ebf7972b4eee822ad7c55ff852b649 (commit)] * hda: Add ALC663 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6dda9f4a95905f2b38e79e3737da5e25397e6acb (commit)], add ICH9 controller support (8086:2911) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abbc9d1b25637b1948a4718fa8f7b257233136bc (commit)], add support of Teradici controller [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f269002e61446ed3410d8ca5f06ebca1e2760cb5 (commit)], add support for 92HD73xxx codecs [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aafc4412be31306e5c38bd4e4581066507503adc (commit)], add MacBook 3.1 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7e0757a461db87157bbf92c4f5afda87cbe05f6 (commit)], add missing Thinkpad Z60m support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=470eaf6be78424fc499a5039e5d5fe58bace2bc3 (commit)], add support for Lenovo 3000 N200 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be321a890c25272965129ffe4b3b59a519fcf583 (commit)], add support of ASUS Eeepc P90* [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f53281e62a41ac176f050307c0d746a1183a68e8 (commit)], support new AMD HDMI Audio (1002:970f) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e6dd47bf365f8f7bccea10f22fbbdbecce429e8 (commit)], added support for Asus V1Sn [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2522d7359301efadfb5744ebd3c623c3af4a7b30 (commit)], support intel DG33 motherboards [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17bba1b72d190742c99a140154f0abac9c1996c3 (commit)], add Toshiba dynabook SS RX1 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36ca6e133ae3a57318a3ad8a41b2f005e3934c29 (commit)] * ASoC drivers: Add AK4535 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=796d2ca84859d1fdb11ff06cd9707ffab5642fca (commit)], AC97 codec PM [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f775987030cf7ff922765c18ddd0d311b4b46ef (commit)], add Digital Audio Interface (DAI) control functions. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c6529dbf881303920a415c2d14a500218661949 (commit)], add Digital Audio Interface (DAI) control functions. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64105cfd65df74fdf82c1d053b2c9953304a94ea (commit)], Au12x0/Au1550 PSC Audio support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4a161d235b68eb7234f40106560c488a1bdb3851 (commit)], AT32 ASoC [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9aaca9683b014c4d718f32cbddb42e5b36ea3c0f (commit)], UDA1380 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7482f52789266e2548be5d0f6420c9fc12428d8 (commit)], WM8510 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d421516670e8009436e299bd25cff1a6d3a4707 (commit)], WM8990 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f10485e79882bf09cf442a673511154987b43e3b (commit)] * Driver for SGI HAL2 audio device [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=787dba37a6ff5c80c67f37c081712a6e4af92e25 (commit)] and SGI O2 audio board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=862c2c0a61c515f2e9f63f689215bcf99a607eaf (commit)] * virtuoso: add Xonar D1 support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5430c72b14a06b12e8fe46bca18ca0d7095fb717 (commit)] * oxygen: add PM support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4a4bc53bc52978dd6c918531921da925fd047d95 (commit)] * opti93x: add support for Opti93x codec in cs4231-lib [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abf1f5aafc1939db1f252e33914a3689e0f5830f (commit)] * ca0106 - Add entry for another MSI K8N Diamond MB [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f52845ad771a2b62bc06bc940f16c8f6296654ec (commit)] = External Links = If you want to know what is waited before this kernelnewbies summary is completed, you can read * a review of what went into the merge window at the Linux Weather Forecast : [http://linux-foundation.org/weblogs/lwf/2008/07/29/the-2627-merge-window-closes/ The 2.6.27 merge window closes] * feature lists on LWN *[http://lwn.net/Articles/289990/ 2.6.27: what's coming (part 1)] *[http://lwn.net/Articles/291033/ 2.6.27 merge window, part 2] *[http://lwn.net/Articles/291630/ 2.6.27 - the rest of the story] * A wireless 2.6.27 feature-list at [http://wireless.kernel.org/News/kernel-2.6.27 Linux Wireless] ---- CategoryReleases