[[TableOfContents()]] == Short overview (for news sites, etc) == KVM (http://kvm.sourceforge.net) Support for relocatable kernels, for backups with kernel panics. == Important things (AKA: ''the cool stuff'') == === Sony Playstation 3 support === You may like the Wii or the 360 more, but only the PS3 is gaining official Linux support, written by Sony engineers. Notice that this adds support for basical aspects of the console but it doesn't support the devices included like the graphics card, etc. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f58a9d171a346afb1b09190427e6c28c6118703e (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e4ed915d133aaa2802d11914a7e80b3e31304e6 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6cec72b7ca05822688a952df97b1c24e69a0ef6 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82a527f0bd84977d7e85f15fb1f987c42cc0a68d 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e74b38a7ffa6b69f287ae629aae91e725916e6f 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2832a81df7f3cb7e7f912a256c156ddbd3450265 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00a3e2e93cd3ce73ab2d200fff22a62548da06d6 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=261efc3f178c8c5b55d76208aee1f39ce247f723 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de91a53429952875740692d1de36ae70d4cf81da 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a3d4d6435b56eb0b6ff4f88e5a513cfccfb3e770 10], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74e95d5de9d8eb243cda68b546bdb29f6ef0f01c 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=797c7b56d28e800947c66d1c324a6bfc83289b7a 12)] === Virtualization support through KVM === KVM ([http://kvm.sourceforge.net project page] adds a driver for Intel's and AMD's hardware virtualization extensions to the x86 architecture (KVM will not work in CPUs without virtualization capabilities). The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Each virtual machine is a process on the host; a virtual cpu is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation. 32 and 64 bits guests are supported (but not x86-64 guests on x86-32 hosts!). For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported, SMP guests aren't (support will be added in the future). You also can start multiple virtual machines in a host. Performance currently is non-stellar, it will be improved by a lot with the future inclusion of [http://lkml.org/lkml/2007/1/5/205 KVM paravirtualization]. The Windows install currently bluescreens due to a problem with the virtual APIC, a fix is being worked on and will be added in future releases. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work either. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 (commit)] === Relocatable kernel support for x86 === This feature (enabled with CONFIG_RELOCATABLE) isn't very noticeable for end-users but it's quite interesting from a kernel POV. Until now, it was a requeriment that a i386 kernel was loaded at a fixed memory address in order to work, loading it in a different place wouldn't work. This feature allows to compile a kernel that can be loaded at different 4K-aligned addresses, but always below 1 GB, with no runtime overhead. Kdump users (a feature introduced in [http://kernelnewbies.org/Linux_2_6_13 2.6.13] that it triggers [http://lwn.net/Articles/108595/ kexec] in a kernel crash in order to boot a kernel that has been previously loaded at a 'empty' address, then runs that kernel, saves the memory where the crashed kernel was placed, dumps it in a file and continues booting the system) will benefit from this because until now the "rescue kernel" need to be compiled with different configuration options in order to make it bootable at a different address. With a relocatable kernel, the same kernel can be boot at different addresses. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=968de4f02621db35b8ae5239c8cfc6664fb872d8 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e69f202d0a1419219198566e1c22218a5c71a9a6 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be274eeaf20b4c7155242645d5e2c48b023e609b (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd593d12770d4a0d1ff095d44b96436c18479ee8 (commit)] === Paravirtualization support for i386 === The basic hooks for replacing all non virtualizable instructions on x86 are in. This currently only runs on native hardware, but will allow to link in modules for paravirtualized Xen/Vmware/lhype. There are limitations like no SMP support yet. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da181a8b3916aa7f2e3c5775d2bd2fe3454cf82d (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfbea0ad50e08c52539bddce977b07f77a762ba4 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bbf54725467d604698721384d858b5983b87e8f 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f205fd45a5c192907188d6f8f6d7e66db859248 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6020c8f315709a508b027ef6749e85b125190947 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8542b200cbe5609edd7aae0c304c091a1c290452 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ecb8950695e907ed25acffec9e98c6806e311c8 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2952d8949bb0b37c1be92a89c4f180c74292857 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd472c794bbf6771c3fc1c58f188bc16c393d2fe 9], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9ccf30d77f04064fe5436027ab9d2230c7cdd94 10] [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3561b7fa0fb0fc583bab0eeda32bec9e4c4056d 11], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=13623d79309dd82e1964458fa017979d16f33fa8 12], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=139ec7c416248b9ea227d21839235344edfee1e0 13)] === Sleazy FPU optimization === This is a x86-32 port of the x86-64 feature implemented in [http://kernelnewbies.org/Linux_2_6_19 2.6.19]. It doesn't gives huge performance except a very small improvement in FPU-intensive programs, but it's also a interesting optimization. Right now the kernel has a 100% lazy fpu behavior: after *every* context switch a trap is taken for the first FPU use to restore the FPU context lazily. This is of course great for applications that have very sporadic or no FPU use (since then you avoid doing the expensive save/restore all the time). However for very frequent FPU users you take an extra trap every context switch. This feature adds a simple heuristic to this code: After 5 consecutive context switches of FPU use, the lazy behavior is disabled and the context gets restored every context switch. If the app indeed uses the FPU, the trap is avoided (the chance of the 6th time slice using FPU after the previous 5 having done so are quite high obviously). After 256 switches, this is reset and lazy behavior is returned (until there are 5 consecutive ones again). The reason for this is to give apps that do longer bursts of FPU use still the lazy behavior back after some time. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acc207616a91a413a50fdd8847a747c4a7324167 (commit)] === Fault injection === This is a debugging feature that 'injects' failures in several layers in the kernel (kmalloc() failures, alloc_pages() failures, disk IO errors). By 'injecting' them on purpose, a developer can test how their code reacts to errors that are very difficult to find in the real world, where things does not fail so often. For example, a filesystem could not be handling correctly an error triggered by a broken hard disk. Because those error code paths are exercised very rarely the code may contain bugs that could be hit by an user some day. This feature 'injects' those errors on purpose so testing can find bugs much faster. Enabled by the following configuration options: CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC and CONFIG_MAKE_REQUEST. If you also want to configure them via debugfs you must enable CONFIG_FAULT_INJECTION_DEBUG_FS. Read the documentation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/fault-injection/fault-injection.txt;hb=HEAD here]. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de1ba09b214056365d9082982905b255caafb7a2 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6ff1cb355e628f8fc55fa2d01e269e5e1bbc2fe9 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a8b6502fb669c3a0638a08955442814cedc86b1 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=933e312e73f8fc39652bd4d216a5393cc3a014b9 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6 5], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4f154fd920b2178382a6a24a236348e4429ebc1 6], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=329409aeda064c4aff00c51f837fcd3bbdaeeba6 7], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ab8509a31187998615e6dd7f53cc02db5be594c 8], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d0ffa2b84e6f0fdc5bf96c0de6178f3d2779544 9)] === Architecture-specific changes === * i386 * Use %gs as the PDA base-segment in the kernel [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f95d47caae5302a63d92be9a0292abc90e2a14e1 (commit)] * Implement "current" with the PDA [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 (commit)] * i386: Initialize the per-CPU data area [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62111195800d80c66cdc69063ea3145878c99fbf (commit)] * i386: Store the interrupt regs pointer in the PDA [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70463daca852db396ce17f179d2404b257ba0f66 (commit)] * PPC * Enable DEEPNAP power savings mode on 970MP [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b43d20a4d12d94f258bbbca5fa4df8ff8a17848 (commit)] Without this patch, on an idle system I get: cpu-power-0:21.638 cpu-power-1:27.102 cpu-power-2:29.343 cpu-power-3:25.784 Total: 103.8W. With this patch: cpu-power-0:11.730 cpu-power-1:17.185 cpu-power-2:18.547 cpu-power-3:17.528 Total: 65.0W. Lower HZ to 100, it can get it as low as 60.2W. Another (older) Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Nap takes 40-70 cycles longer than coming back from just Nap (which already takes quite a while). * Cell * Add support for adding/removing spu sysfs attributes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0344c6c5387ba335bba5a66fd44714b94c98573f (commit)], remove /spu_tag_mask file [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1182e1d351d2a910bc0fb53c00277c62235333de (commit)], cell iommu support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=165785e5c0be3ad43e8b8eadfbd25e92c2cd002a (commit)], add oprofile support for cell [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=18f2190d796198fbb5d4bc4c87511acf3ced7d47 (commit)], add isolated-mode SPE recycling support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=099814bb1f9bd9081d7c85867f8eb8c049abc1b9 (commit)], native cell support for MPIC in southbridge [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21fb5a1d9f554970c680b801ba32184bc7c34aa0 (commit)], add a sd command (spu dump) to xmon to dump spu local store [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24a24c85d3c35790a355138d7cd34c074cb1b3ac (commit)], add cpufreq driver for Cell BE processor [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36ca4ba4b9728f3c420a589a3322c2fbd7ec88b7 (commit)], prepare for spu disassembly in xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c4c8723684b1b2cd0dfdf5e0685f35642bde253 (commit)], add support for nonschedulable contexts [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5737edd1ddbde5ab7f63bb3cb36015edbdb7c295 (commit)], implement /mbox_info, /ibox_info, and /wbox_info. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69a2f00ce5d3a19a70b36f08eaf9049677277710 (commit)], add support for dumping spu info from xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a898497088f46252e6750405504064e2dce53117 (commit)], import spu disassembly code into xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae06e374c15c5d62e08c19c15f2c247a86e240d4 (commit)], add spu disassembly to xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af89fb8041562508895c8f3ba04790d7c2f4338c (commit)], add temperature to SPU and CPU sysfs entries [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d7dc1967d1303d4897ff9537d29f6e077de147 (commit)], add /lslr, /dma_info and /proxydma files [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9e3bd774bb1a90fee9b90f461a51e4ba295fe6d (commit)], add SPU elf notes to coredump. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf1ab978be2318c5a564de9aa0f1a217b44170d4 (commit)], add shadow registers for pmd_reg [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bffd4927ba4377aa38be5450e20e0fecd2523fe3 (commit)], add low-level performance monitoring code [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8bf96e0793f9576da545bac333b2de304958d68 (commit)], add support for registering sysfs attributes to spus [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e570beb6bb1a623849901efbf939063ec4775c9e (commit)], add support for stopping spus from xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff8a8f25976aa58bbae7883405b00dcbaf4cc823 (commit)], * Add 'Generic' BUG for powerpc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73c9ceab40b1269d6195e556773167c078ac8311 (commit)] * Add non-OF serial console support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c176fa80fdfa9b4e0753e37223b056994c818d2 (commit)], add Kurobox(HG)/Linkstation-I NAS systems by Buffalo Technology support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04d76b937bdf60a8c9ac34e222e3ca977ab9ddc8 (commit)], support ibm,dynamic-reconfiguration-memory nodes [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0204568a088fecd5478153504f9476ee2c46d5bf (commit)], add xserve cpu-meter driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e00a5aec3d6af687e37f4e7482f5c7ecdcabd0b (commit)], add lite5200 board support to arch/powerpc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b64253139a20b7db1f701a9117bc5174eb878bc (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6d4d657c2f11fe3b33dd8303f57a8b8d55323d6 (commit)], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6065170cf75c64267f6edec5fd359ce8444bd13d (commit)], allow CONFIG_BOOTX_TEXT on iSeries [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80814be40e1f0e7e6fc00fdfe0af16268670e0b4 (commit)], import updated version of ppc disassembly code for xmon [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=897f112bb42ed9e220ce441e7e52aba3a144a7d6 (commit)], allow xmon to build on legacy iSeries [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbb681779012fae778c0a53081bbb19cf43bca4e (commit)], make 970MP detectable by oprofile [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fecb352f6bb86564b24ecbf7e5bfec09346b9327 (commit)], lazy interrupt disabling for 64-bit machines [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d04c56f73c30a5e593202ecfcf25ed43d42363a2 (commit)], support for DCR based MPIC [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbf0274e43b7e17ee740fee2d693932be093d56d (commit)] * ARM * Add iop13xx support. The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz PCI-X interface, a x8 PCI-Express interface, and other peripherals to form a system-on-a-chip RAID subsystem engine. The iop342 processor replaces the SAS controller with a second Xscale core for dual core embedded applications. The developer's manual is available here: ftp://download.intel.com/design/iio/docs/31503701.pdf [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=285f5fa7e9a35e75d9022f9b036ed709721c5cdf (commit)] * AT91: Initial support for AT91SAM9261 and AT91SAM9260 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62c1660d908c44663c63ad6c679f6afa1d33c5f6 (commit)], SAM9 platform devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86ad76bb2db7029343f681359c4b328fd8c36ae8 (commit)], Update drivers for new headers [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=55d8baee4a0b4709061104f7a56f53a310de76ac (commit)], split up system header file [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6171de8f57e80873436345a9c7ba8bae800e577b (commit)], rename user peripheral header files [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5c474580b8b7cc8b7b2cca9a2bd27ff5c065e70 (commit)], support for Atmel AT91SAM9260-EK board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b85a8914033d81077e8276df1956bf3307bb31bd (commit)], hardware headers for SAM9 perhipherals [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eaa595cb881bba043e79638c37cb357f296a7714 (commit)], support for Atmel AT91SAM9261-EK board [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=022cbd7376fcdf030fe821636f1c910c45a9356a (commit)], final SAM9 intergration patches. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05043d08045271eb5655308371dd285a852ef855 (commit)], SAM9 timer driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a0ed732afdbd4b960a4b93f78fddc71b8076e61 (commit)] * clocksource driver for netx [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a815aed1e03c73fcd0390109c7da9c69dc97490 (commit)] and pxa2xx [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c80204e5d67d1452ac0b761d980f1651dc2c66dc (commit)] * H1940: suspend to RAM support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9073341c2ba5d5e77b3d05d84cf9e3a16e8a7902 (commit)] * MX/MX1 CPU Frequency scaling support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c8cd0cce9ab8a25dbcf519cb0de00d2716f8379 (commit)] * ep93xx: add cirrus logic edb9302a board support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47d7e524b7d51aa77b381fbc9b9c5d3f309e434e (commit)], add ads sphere support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5283304bdcb4af47c46280ac21100d037d31fcf0 (commit)] * RX3715: suspend to RAM support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbf6f2809dbadc2bacfd73a052d8b0893dbf1762 (commit)] * Add sys_*at syscalls support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bca0b8e75f6b7cf52cf52c967286b72d84f9b37e (commit)] * S390 * Runtime switch for qdio performance statistics [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34249d0f9243fce773c2fa352934ba108320e234 (commit)] * Virtual memmap for s390. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4eb07c17df2e6cf9bd58bfcd9cc9e05e9489d07 (commit)] * Dynamic subchannel mapping [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ec2298412e1ab4674b3780005058d4f0b8bd858 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=529192f3b90682e37c5fcab461d968d062f1e0e4 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7674da77cb2d27ae6559c55151da171ceb02beb4 3], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7b5a4c94f49131811112526f7d404a50f0b5ca7 4], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f090145a14afc35844dce80174c9c24f9e66ec5 5)] === Various subsystems === === Drivers === ==== Graphics ==== * Add support for secondary vertical blank interrupt to DRM core and add support to i915 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68815bad7239989d92f315c10d9ef65a11945a75 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=776c9443e28dddbde9b513db6cb8221c45b3a269 2)] * i915: Add ioctl for scheduling buffer swaps at vertical blanks. [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6b54f3f5050c0cbc0c35dd48064846c6302706b (commit)] ==== V4L/DVB ==== Add support for remote control of Hauppauge HVR1110 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=177aaaf826856cd8c82e790cf125186b5634f492 (commit)], add support for both DVB frontends of the Lifeview Trio [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1f683cd8bc8512c02a7d1b8358d71937d4c5134b (commit)], add support ptv-305 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d90fa4412549faa3830789ca606b77827cde827 (commit)], add support for AverMedia AverTV Studio 507 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ac706d2f77fd7bbef037a6137d08a72d7dc8334 (commit)], add support for the Terratec Cinergy HT PCMCIA module [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=550a9a5e5f8086ae410832f134a5d80b9bd7fdb6 (commit)], add support for Pinnacle 310i [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=587d2fd7f296dfb5ccf348e48d6d751bcc6a423a (commit)], add working dib7000m-module [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69ea31e7debdefcf1412e8d590ae9bd90cf9253f (commit)], dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c5be74c86f102c2d4e123bc51d2fa93155fd794 (commit)], add usbvision driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=781aa1d1ab7ba13314af0af6c5d70c0eb0e96bf4 (commit)], add support for a ASUSTEK P7131 Dual DVB-T variant [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8364681766cc18b948cf9d7bd46d1b92f343743b (commit)], add support for Leadtek Winfast DTV Dongle (STK7700P based) [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8637a8759585b97ec1d54ff4a4f33f34be4f5b1c (commit)], add initial DiB7000M-demod driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91bb9be6ff4101652bb104f9f083f340e73ba6dd (commit)], add support for DiBcom DiB7000PC [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a75763ffff4175bd8c115c217a39fbf445612aae (commit)], remove the broken VIDEO_ZR36120 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af249982dc385b18ea340323f50f585e989b76e5 (commit)], add OmniVision OV7670 driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=111f33564e19b2b5f70e3df9a8f92c08c1c91fd9 (commit)], adds support for Pinnacle PCTV 400e DVB-S [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc2e3913c786d7387e21ee0818c1a3b66a571703 (commit)], add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6e53daffc2c6e66069304b3970256744074abec (commit)], add support for the Compro Videomate DVB-T200A [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbb94521cff24c98c2dbee28fb95e007c6bcaa43 (commit)], Implement IR reception for 24xxx devices [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cc75aede1b1ce29a478911ad7dadee94ecd45bbf (commit)], add Marvell 88ALP01 "cafe" driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d905b382d797a213e15868cbf3204f50ed52e30b (commit)], add support for new revision of Nova-T Stick [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9aeba45000423cdf1211736592cb02c25f28437 (commit)] ==== libata ==== * Add power management (suspend/resume) support for libata drivers: pata_ali [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34d8dfb1e6b51dbd6eefcb449b531c7ee773664c (commit)], pata_serverworks [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=38e0d56e67849720d306e2d7cd1a2793deec9644 (commit)], pata_via suspend/resume support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=627d2d3261a42c9b5b0a02a1f8d0ae5414729cb9 (commit)], pata_sis and pata_pdc202xx [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62d64ae0ec76360736c9dc4ca2067ae8de0ba9f2 (commit)], pata_marvell [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75742cb41e4b5c7913f385b9688aad69c9fa7ada (commit)], pata_cmd64x [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f72a379146913dc5f2751383722cdedb8998bc9 (commit)], pata_cs5520 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8501120f1df1aa6abe38b51ab91df08ccaa1b971 (commit)], pata_sil680 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8550c1637ba7dd96a76353eb52d31088f9c2f5fe (commit)], pata_hpt3x3 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aff0df0593f4beea42800115c0658f58c03dfe9f (commit)], pata_amd [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c304193a005b5262671c1389b1cae96d7afc952a (commit)], pata_jmicron [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d39ca896fb9a25f80465d3e52872cf5c510762a8 (commit)], pata_it821x [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f535d53f3f8bc8243ad2167d7127f6efba9b46cb (commit)], pata_cs5530 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f7e37ba83fd3e92411dfc97d08eaf9d85dfac2ee (commit)], pata_atiixp, pata_cs5535, pata_cypress, pata_efar, pata_marvell, pata_mpiix, pata_netcell, pata_ns87410, pata_oldpiix, pata_opti, pata_optidma, pata_radisys, pata_sc1200, pata_triflex [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30ced0f0d211999f316930eff7287aa5a9995bef (commit)] * Winbond 83759A support [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e45b0e5f6f68d04311ba7813f5f5457c9119640 (commit)] * Generic platform_device libata driver [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a20c9e820864e18b59d2a4f2f04e8b6053986c95 (commit)] * Add 40pin "short" cable support, honour drive side speed detection [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc085150b491bfc186efbca90a14cf907a3060a9 (commit)] * sata_nv ADMA/NCQ + 64 bit DMA support for nForce4 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbbb262d9ea9bdbd79d7058271560e9990bc62d3 (commit)] * Add ixp4xx PATA driver for ARM platforms [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0df0d0a0ea9ffcee4e56f96cd9d9e32b0644eb21 (commit)] * sata_sis: slave support on SiS965 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4adccf6f447dfa7af6f3af7e12f87829a6fac8dd (commit)] * node-aware skb allocation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b30973f877fea1a3fb84e05599890fcc082a88e5 (commit)] Node-aware allocation of skbs for the receive path. Details: - __alloc_skb gets a new node argument and cals the node-aware slab functions with it. - netdev_alloc_skb passed the node number it gets from dev_to_node to it, everyone else passes -1 (any node) * Asynchronous SCSI scanning * New 300Hz option. Good because it evenly divides PAL and NTSC framerates * HID Layer split: Allows things other than USB to use the HID layer (Bluetooth) * Relative atime support (only updates the atime if the previous atime is older than the mtime or ctime) * I/O Accounting * Work struct split into delayable and nondelayable events. Saves space for Nondelayable events. == Drivers == * Add notification of bus events * Removal of the crusty FTape driver * Add support for Moxa SmartIO multiport serial cards * ohci1394: steps to implement suspend/resume * allow usb hubs to have up to 31 children * Add support for Korenix 16C950-based PCI cards (serial cards) * Improvements to Apple Books touchpad to reduce jumpiness of mouse. * SCSI: lpfc: Add MSI (Message Signalled Interrupts) support === HW Mon === * Add support for the Fintek F71872F/FG chip * New Winbond W83793 hardware monitoring driver * New National Semiconductor PC87427 hardware monitoring driver === Network === * Atmel MACB support * Add NetXen 1G/10G ethernet driver. * e1000 * New hardware support * Performance improvements (and start up time improvements) * forcedeth: power management support * bcm43xx * output proper link quality with scans * add PCI-E code * Increased support for Marvel products * Netfilter * Better SIP helper * AddNFLOG target * Add --snat-arp support, now possible to change the source mac address in both the mac and arp header with one rule * nf_conntrack: add NAT support * Add many NAT helper ports === libata === * Add support for Winbond, Marvel, and others * Some suspend/resume support added * sata_nv ADMA/NCQ support for nForce4 * implement ATA_EHI_SETMODE and ATA_EHI_POST_SETMODE * ahci: do not powerdown during initialization: fixes weird initializaion issues === Sensors === * Add support for Apple Motion Sensors * Support for National Semiconductor PC87427 Super-I/O chip * Support for Winbond W83793 sensors === Audio === * Remove obsolete OSS drivers that already have ALSA replacements === Video === * Add support for DMC TSC-10/25 devices * Add support for Philips UCB1400 touchscreen * Framebuffer support for IBM GXT4500P adaptor * Ability to set Geode framebuffer size * DRM i915 updates * V4L * Add support for Pinnacle 310i * Added support for a ASUSTEK P7131 Dual DVB-T variant * Add support for the Compro Videomate DVB-T200A == Other stuff == * Add sysrq_always_enabled boot option * Make sure the initroot filesystem is populatated late enough === Arch-independent changes in the kernel core === * Add support for Log2 mechanism [http://lwn.net/Articles/203596/] * Driver core: add notification of bus events [http://lkml.org/lkml/2006/12/1/297] * sched: optimize activate_task for RT task * move kallsyms data to .rodata * Remove support for stack unwinding. It caused more problems than it solved; enabled frame pointers for debugging purposes. === Architecture-specific changes === * rtc-sh: alarm support *ARM * Support to change MX1 CPU frequency at runtime. * Support for Atmel AT91SAM9260-EK (and 61) boards * Some more suspend to RAM support * i386 * Add support to compile for Core2 * MIPS * Use "long" for 64-bit values on 64-bit kernel. * Fancy magic to reduce module size by ~ 10%. * IRQ cleanups * PowerPC * Refactor 64 bit DMA operations * Add support for EFIKA boards * Add support for the Sony Playstation 3 * Enable DEEPNAP power savings mode on 970MP * DCR support * More Cell support * Xserve cpu-meter driver * S390 * cpu shutdown rework * New DASD feature for ERP related logging: no longer have to recompile to change ERP logging on/off * x86_64 * Add support to compile for Core2 * Altix: Some ACPI support === Filesystems === * Relative atime support for ocfs2 * DebugFS: inotify support * optimize o_direct on block devices * Fix nasty bug that would sometimes cause corruption with rtorrent and debian's apt === Networking === * TCP communications support for DLM * SELinux support for DCCP === CPU Freq === * Add support for CN400 when ACPI C3 isn't available. * A bunch of stuff into acpi-cpufreq that allows it to do better