4060
Comment: introduce libata based PATA drivers
|
114703
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
2.6.19 will be started after the 2.6.18 release Libata PATA (Parallel ATA) merge By "Parallel ATA" we just mean all the ATA/IDE controllers and drives that we have been using for years before SATA. Almost from the start, one of the objectives of some kernel hackers was to [http://marc.theaimsgroup.com/?l=linux-kernel&m=115514409104283&w=2 replace the IDE drivers available in drivers/ide] (everything under the "Device drivers -> ATA/ATAPI/MFM/RLL support" configuration menu) by a re-implementation on top of libata, ie: the "SATA layer". Drivers/ide suffers from many ugly and obscure problems, and re-implementing it on top of libata has been much easier than fixing the unfixable drivers/ide mess. Alan Cox has been doing most of this porting work, and as consequence, the support for numerous IDE drivers has been reimplemented on top of SATA. (Another consequence of this PATA merge is that libata and all its SATA drivers have also been moved from drivers/scsi (available in the "Device drivers -> SCSI device support -> SCSI low-level drivers" submenu) to drivers/ata (now "Device drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers"), and all the CONFIG_SCSI_FOOBAR options for the individual SATA drivers have been changed to CONFIG_FOOBAR, so this means you may need to reconfigure your SATA configuration options) |
[[TableOfContents()]] == Important things (AKA: ''the cool stuff'') == === GFS2 === GFS2 is a clustering filesystem developed mainly by Red Hat (after [http://www.theregister.co.uk/2003/12/18/red_hat_sweetens_q3/ purchasing Sistina] and opening the source code). It's not the first: OCFS2, another clustering filesystem developed by Oracle, was already merged in [http://kernelnewbies.org/Linux_2_6_16 Linux 2.6.16]. Clustering filesystems allow to share a filesystem between several machines with no compromises. GFS includes his own DLM (distributed locking manager) and a userspace API interface for that DLM. Like OCFS2 and like any other filesystem that wants to be merged in the linux kernel, GFS2 developers asked for submission long time ago. They were asked to fix things (even considering that GFS2 had already been developed at Sistina and it was already a stable final product), they submitted it again, they were asked to fix more things, and so on, for a long period of time. Their developers have fixed every thing they were asked to fix. Because of their hard work, GFS2 is now ready to be merged, and everyone is happy. And nobody flames the kernel or GFS2 developers. Amazing, isn't? [http://sources.redhat.com/cluster/ GFS2 project page]; Source code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/gfs2 for GFS2] (840 KB) and [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/dlm for the DLM] (384 KB) === EXT 4 === [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/jbd2 JBD2], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/ext4 EXT 4] === ECRYPTFS === Coming from IBM, ecryptfs aims to bring "enterprise level" file encryption to the masses. "Oh no, another filesystem!". No, Ecryptfs is not a traditional filesystem: it doesn't implements his own disk format. From [http://lwn.net/Articles/156921/ this LWN article]: ''The eCryptfs developers took the stacking approach, meaning that, rather than implement its own platter-level format, eCryptfs sits on top of another filesystem. It is, essentially, a sort of translation layer which makes encrypted file capabilities available. The system administrator can thus create encrypted filesystems on top of whatever filesystem is in use locally, or even over a network-mounted filesystem. [...] Rather than encrypt the filesystem as a whole, eCryptfs deals with each file individually'' (Reading the rest of the [http://lwn.net/Articles/156921 LWN article] is recommended. There's also a [http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf Ecryptfs paper from the 2005 Ottawa Symposium] - page 209 and onwards) Is it better to encrypt the whole disk using cryptoloop/dmcrypt, or use ecryptfs? You decide. Ecryptfs avoids the overhead of a fully encrypted filesystem by only encrypting the files you really want to encrypt, and it also allows to encrypt different files in different ways. Ecryptfs tries to make file encryption available in a easy way for the masses. It ''"aims to combine the flexibility of GnuPG encryption with the transparency of a kernel service" [...] "Think of eCryptfs as a sort of 'gnupgfs'"''. If you're interested, you will find the userspace tools and more information available in the [http://ecryptfs.sourceforge.net/ ecryptfs sourceforge site]. You can also read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/ecryptfs.txt Ecryptfs documentation] and the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=237fead619984cc48818fe12ee0ceada3f55b012 Ecryptfs code] (232 KB). === Libata PATA (Parallel ATA) merge === By "Parallel ATA" we mean all the ATA/IDE controllers and drives that we have been using for years before SATA. Almost from the start, one of the objectives of some kernel hackers was to [http://marc.theaimsgroup.com/?l=linux-kernel&m=115514409104283&w=2 replace the IDE drivers available in drivers/ide] (everything under the "Device drivers -> ATA/ATAPI/MFM/RLL support" configuration menu) with a reimplementation on top of libata (i.e.: the "SATA layer"). Drivers/ide suffers from many ugly and obscure problems, and re-implementing it on top of libata has been much easier than fixing the unfixable drivers/ide mess - most of the porting work has been done by Alan Cox (a consequence of this PATA merge is that libata and all its SATA drivers have also been moved from drivers/scsi (available in the "Device drivers -> SCSI device support -> SCSI low-level drivers" submenu) to drivers/ata (now "Device drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers"), and all the CONFIG_SCSI_FOOBAR options for the individual SATA drivers have been changed to CONFIG_FOOBAR, so this means you may need to reconfigure your SATA configuration options) |
Line 11: | Line 32: |
What one must you choose? Well, the safe option is using the old driver: The old drivers will continue working just as they did before. No changes for you if you choose those drivers, no behaviour changes at all. | What one must you choose? Well, the safe option is using the old driver: The old drivers will continue working just as they did before. There'll be no changes if you continue using the old drivers. |
Line 14: | Line 35: |
* First of all, because they're libata-based and libata is a very well engineered and sane infraestructure, the drivers have much better quality, they're more clean, much better error handling (much better behaviour when one of your drives stops working or finds broken sectors), and they don't have some of the know design issues that the old drivers have (this is why people did all the work to move away from drivers/ide, they didn't it just for fun) * Because they're newer, there're inevitably bugs on them. For now, they're "experimental". If you want to be safe, use the old drivers. * They support some chipsets not supported by drivers/ide (jmicron, newer VIA, mpiix, netcell, efar, etc). The cleaner design of libata allows easier driver development and mainteinance. * However, some IDE controllers are not supported or they aren't fully supported. Some of them because not all the IDE drivers have been ported to libata, but others because they're old and undocumented or because the libata PATA layer still doesn't support some of their features. There's no support for certain old serialized devices, for prehistoric CMD640 controllers or for host-protected-area yet. * Drives appear as /dev/sda, /dev/sr0, the old devices names won't work. You may need to change your boot parameters and your /etc/fstab parameters in order to get a working system with the new drivers. * Eventually, the new libata-based PATA drivers will get stabler. The old drivers in drivers/ide may get deleted as the new drivers fullfill all needs of the IDE users and gets feature-complete, but this certainly won't happen anytime soon. And no old drivers will be deleted if there's not a working libata that can replace it. You can find the latest [http://zeniv.linux.org.uk/~alan/IDE/STATUS.txt status report] written by Alan Cox. It'd be certainly useful if you could give it a try and report back how it works for you to linux-kernel@vger.kernel.org or bugzilla.kernel.org - even if it works fine, it'll be useful to know what systems do work (be sure to include the neccesary information mentioned in the previous status report) * |
* First of all, because they're libata-based and libata is a well engineered and sane infrastructure, the drivers have much better quality, they're cleaner, they've much better error handling (much better behaviour when one of your drives dies suddenly or finds broken sectors), and they don't have some of the known design issues that the old drivers have (this is why people did all the work to move away from drivers/ide, they didn't do it just for fun) * Because they're newer, there are more bugs. For this release, they're "experimental". If you want to be safe, use the old drivers. * Really. There is a risk that the new drivers won't work for you, or may harm your data (unlikely, but not impossible). If you want to be safe, use the old drivers. * They support some chipsets not supported by drivers/ide. The cleaner design of libata allows for easier driver development and maintenance. In some cases it supports features that the old driver doesn't, for the same reasons. * Some IDE controllers are not supported or they aren't fully supported. Some of them because not all the IDE drivers have been ported to libata, but others because they're old and undocumented or because the libata PATA layer still doesn't support some of their features. There's no support for certain old serialized devices, for prehistoric CMD640 controllers or for host-protected-area yet. * Drives appear as /dev/sda, /dev/sr0, the old devices names won't work. You will need to change your boot parameters and your /etc/fstab parameters in order to get a working system with the new drivers. Again, this only happens if you use the new drivers, the old drivers continue working as they did before. Eventually, the new libata-based PATA drivers will get more stable, so the old drivers in drivers/ide may get deleted as the new drivers fulfill all needs of the IDE users and becomes feature-complete. But this certainly won't happen anytime soon. No old drivers will be deleted if there's not a working libata-based replacement. You can read the latest [http://zeniv.linux.org.uk/~alan/IDE/STATUS.txt status report] written by Alan Cox. It'd certainly be useful if you could give it a try and report back how well it works to linux-kernel@vger.kernel.org or bugzilla.kernel.org - even if it works fine, it'll be useful to know what systems do work (be sure to include the necessary information mentioned in the previous status report). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/ata (libata PATA code)] === Removal of selected OSS drivers === Since 2.6 was released, ALSA has been the "official" sound subsystem. OSS drivers were kept for compatibility - ALSA also implements a OSS compatibility layer. However, there's a big number of ALSA drivers and OSS drivers targetting exactly the same hardware. Usually, the OSS ones are undermaintained (or no maintained at all). And ALSA already implements OSS compatibility. So.... ...it's possible to remove old OSS drivers, as long as there's a equivalent ALSA driver, and as long as that driver has no regressions that don't allow users to migrate (drivers with no ALSA equivalent or with know regressions have NOT been deleted). In 2.6.19, those OSS drivers are being removed. If when migrating users find something wrong in the ALSA drivers, they should report it in the [https://bugtrack.alsa-project.org ALSA bug tracking system] and work with developers to fix them. Yes, we know there're users that feel just fine with the OSS drivers, but it doesn't helps to the kernel to keep those old drivers around. By forcing people to migrate to ALSA drivers, the ALSA drivers will be improved and fixed. Overall, the linux sound subsystem will only get better. Many thanks to all the hackers that coded them. A total of 1.79 MB of OSS drivers will be removed. To see a list of source files being removed, see [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d56b9b9c464a10ab1ee51a4c6190a2b57b8ef7a6 the commit link]. Hardware that is forced to use ALSA drivers include: * AD1980 AC97 plugin; ALI 5455; Alchemy Au1000 (MIPS); AWE32/SB32/AWE64 WaveTable driver; C-Media; Cirrus Logic-Crystal CS4281; Ensoniq ES1370/Asahi Kasei AK4531; ESS Technology Solo1 (ES1946); ForteMedia FM801; Gravis Ultrasound; ASP's and Lasi's Harmony sound chip; ICS2101 mixer of GUS v3.7; OPTi MAD16 compatible audio chips; ESS Maestro/Maestro-2/Maestro-2E/Maestro3/Allegro; Turtle Beach Maui and Tropez; Yamaha YMF701B aka OPL3-SA; RME9652/36 "Hammerfall" Driver; Aztech Sound Galaxy cards; S3 Sonic Vibes; Turtle Beach WaveFront Series (Maui, Tropez, Tropez Plus); WaveFront ICS2115 MIDI; Yamaha YMF7xx === AVR32 Architecture === 2.6.19 adds support for the Atmel AVR32 architecture, implemented and supported by Atmel Corporation. AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular emphasis on low power consumption and high code density. The AVR32 architecture description, including the instruction set, can be found in the [http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf AVR32 Architecture Manual]. The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture; it features a 7-stage pipeline, 16KB instruction and data caches and a full Memory Management Unit and a large set of integrated peripherals ([http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf full data sheet]); while the CPU core implementation including caches and MMU is documented by the [http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf AVR32 AP Technical Reference]. Information about the AT32STK1000 development board can be found [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918 here], including a BSP CD image, development tools (binaries and source/patches) and a root filesystem image suitable for booting from SD card. Alternatively, there's a preliminary "getting started" guide available at http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links to the sources and patches you will need in order to set up a cross-compiling environment for avr32-linux Source code can be found [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/avr32 here (arch/av32)] == Other stuff == === Architecture-specific changes === ==== x86 32/64 ==== * Add SMP support on x86_64 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2802e7f571c05f9a901b1f5bd144aa730ccc88e (commit)] * Add SMP support on i386 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7471c6da94d30d3deadc55986cc38d1ff57f9ca (commit)] * x86: Add abilty to enable/disable nmi watchdog with sysctl (/proc/sys/kernel/nmi) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=407984f1af259b31957c7c05075a454a751bb801 (commit)] * i386: Utilize performance counter reservation framework in oprofile [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb9c448c661d40ce2efbce8e9c19cc4d420d8ccc (commit)] * x86: Add abilty to enable/disable nmi watchdog from procfs (/proc/sys/kernel/nmi_watchdog) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e33e89ab1a8d295de0500b697f4f31c3ceee9aa2 (commit)] * [PATCH] x86: Add performance counter reservation framework for UP kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=828f0afda123a96ff4e8078f057a302f4b4232ae (commit)] * [PATCH] Add the vgetcpu vsyscall: This patch adds a vgetcpu vsyscall, which depending on the CPU RDTSCP capability uses either the RDTSCP or CPUID to obtain a CPU and node numbers and pass them to the program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c08c820508233b424deab3302bc404bbecc6493a (commit)] * [PATCH] x86: Allow users to force a panic on NMI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8da5adda91df3d2fcc5300e68da491694c9af019 (commit)] * [PATCH] x86: Add portable getcpu call [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cfc348bf90ffaa777c188652aa297f04eb94de8 (commit)] * [PATCH] i386: Support physical cpu hotplug for x86_64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73fea175303926055440c06bc8894f0c5c58afc8 (commit)] * [PATCH] i386: Enable NMI watchdog by default for systems newer than 2004 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de84979dfc527c422abf63f27beabe43892989b (commit)] * [PATCH] hot-add-mem x86_64: memory_add_physaddr_to_nid enable: The api for hot-add memory already has a construct for finding nodes based on an address, memory_add_physaddr_to_nid. This patch allows the fucntion to do something besides return 0. It uses the nodes_add infomation to lookup to node info for a hot add event. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4942e998b40b8f6080930ec16442444e9930aee5 (commit)] * [PATCH] hot-add-mem x86_64: memory_add_physaddr_to_nid node fixup: In cases where the acpi memory-add event does not containe the pxm (node) infomation allow the driver to look up node info based on the address. The acpi_get_node call returns -1 if it can't decode the pxm info, this causes add_memory to panic. acpi_get_node would have to decode the resource from the handle (a lenghty proposition). This seems to be the cleanist point to interject the hook. [kamezawa.hiroyu@jp.fujitsu.com: build fixes] [y-goto@jp.fujitsu.com: build fixes] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c2676a5870ab15cbeea9f826266bc946fe3cc26 (commit)] * [PATCH] hot-add-mem x86_64: Kconfig changes: Create Kconfig namespace for MEMORY_HOTPLUG_RESERVE and MEMORY_HOTPLUG_SPARSE. This is needed to create a disticiton between the 2 paths. Selecting the high level opiton of MEMORY_HOTPLUG will get you MEMORY_HOTPLUG_SPARSE if you have sparsemem enabled or MEMORY_HOTPLUG_RESERVE if you are x86_64 with discontig and ACPI numa support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec69acbb1191df671ff8e07c8e146619a5c53f70 (commit)] * [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_SPARSE: Migate CONFIG_MEMORY_HOTPLUG to CONFIG_MEMORY_HOTPLUG_SPARSE where needed. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53947027ad90542ddb2bb746e3175827c270610a (commit)] * [PATCH] hot-add-mem x86_64: fixup externs: Fix up externs in memory_hotplug.c. Cleanup. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f28c5edc06ecd8068b38b7662ad19f4d20d741af (commit)] * [PATCH] hot-add-mem x86_64: Enable SPARSEMEM in srat.c: Enable x86_64 srat.c to share code between both reserve and sparsemem based add memory paths. Both paths need the hot-add area node locality infomration (nodes_add). This code refactors the code path to allow this. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71efa8fdc55e70ec6687c897a30759f0a2c2ad7e (commit)] * [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_RESERVE: The api for hot-add memory already has a construct for finding nodes based on an address, memory_add_physaddr_to_nid. This patch allows the fucntion to do something besides return 0. It uses the nodes_add infomation to lookup to node info for a hot add event. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45e0b78b0532f92c01e363dd4287617c5be4574f (commit)] * [PATCH] convert i386 NUMA KVA space to bootmem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91023300057e96de7f46e95166a3e02394ae72f9 (commit)] * [PATCH] x86: enable VMSPLIT for highmem kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=753b9f86e7aef76c2beda32668ce528f90cb1733 (commit)] * [PATCH] x86: add a bootparameter to reserve high linear address space: Add a boot parameter to reserve high linear address space for hypervisors. This is necessary to allow dynamically loaded hypervisor modules, which might not happen until userspace is already running, and also provides a useful tool to benchmark the performance impact of reduced lowmem address space. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=461a9afff5e731d6337c0f5b08a1e727ccd57e0a (commit)] * [PATCH] Add the canary field to the PDA area and the task struct: This patch adds the per thread cookie field to the task struct and the PDA. Also it makes sure that the PDA value gets the new cookie value at context switch, and that a new task gets a new cookie at task creation time. CC: Andi Kleen <ak@suse.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4254058037eb172758961d0a5b94f4320a1425 (commit)] * [PATCH] Add the Kconfig option for the stackprotector feature: This patch adds the config options for -fstack-protector. CC: Andi Kleen <ak@suse.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b62a5c740df1e3d49a97349fce0c6a23f633d7fe (commit)] * [PATCH] Add the __stack_chk_fail() function: GCC emits a call to a __stack_chk_fail() function when the stack canary is not matching the expected value. Since this is a bad security issue; lets panic the kernel rather than limping along; the kernel really can't be trusted anymore when this happens. CC: Andi Kleen <ak@suse.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3162f751d04086a9d006342de63ac8f44fe0f72a (commit)] * [PATCH] non lazy "sleazy" fpu implementation: Right now the kernel on x86-64 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. The patch below 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. [akpm@osdl.org: place new task_struct field next to jit_keyring to save space] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e07e23e1fd3000289fc7ccc6c71879070d3b19e0 (commit)] * [PATCH] Add the -fstack-protector option to the CFLAGS: Add a feature check that checks that the gcc compiler has stack-protector support and has the bugfix for PR28281 to make this work in kernel mode. The easiest solution I could find was to have a shell script in scripts/ to do the detection; if needed we can make this fancier in the future without making the makefile too complex. CC: Andi Kleen <ak@suse.de> CC: Sam Ravnborg <sam@ravnborg.org> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f7fd4d7a79193ceda4ce77f75e22917d33fa154 (commit)] * [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1: Some buggy systems can machine check when config space accesses happen for some non existent devices. i386/x86-64 do some early device scans that might trigger this. Allow pci=noearly to disable this. Also when type 1 is disabling also don't do any early accesses which are always type1. This moves the pci= configuration parsing to be a early parameter. I don't think this can break anything because it only changes a single global that is only used by PCI. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0637a70a5db98182d9ad3d6ae1ee30acf20afde9 (commit)] * [PATCH] x86 microcode: add sysfs and hotplug support: Add sysfs support. Currently each CPU has three microcode related attributes. One is 'version' which shows current ucode version of CPU. Tools can use the attribute do validation or show CPU ucode status. one is 'reload' which allows manually reloading ucode. Another is 'processor_flags', which exports processor flags, so we can write tools to check if CPU has latest ucode. Also add suspend/resume and CPU hotplug support. [akpm@osdl.org: cleanups, build fix] [bunk@stusta.de: Kconfig fixes] Acked-by: Tigran Aivazian <tigran@veritas.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a4b9efa1d39d7d31bed08fbe5a9b2a03b2759d4 (commit)] ==== PPC ==== * PA Semi PWRficient platform support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e76875e51266a5c43f601ecf08a92be5769228c (commit)] * Cpufreq support for Xserve G5 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ed14c2177694ce086180eb9ca9ca4c6cd72c7ef (commit)] * Add support for briq machines [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26c5032eaa64090b2a01973b0c6ea9e7f6a80fa7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a45b83957deabbdac9a3d908c6ca4c25f05ce1ad (commit)] * Emulate power5 popcntb instruction on non-power5 machines [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3412dcb75ff4d64b44bedc72761d5707d19edf7 (commit)] * A new iSeries console [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bff05b052db7a4cfaaf0eee7f8145600548e9c9 (commit)] * Cell interrupt rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e194583125bfea94d1ceaa6a32e891643befa7d (commit)], add NUMA support to the the spufs scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a68cf983f635930ea35f9e96b27d96598550dea0 (commit)], add infrastructure needed for gang scheduling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6263203ed6e9ff107129a1ebe613290b342a4465 (commit)] * Add MPC8360EMDS board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc141deafb81f2efa453081e9d52d602a8cec766 (commit)], add initial support for the Freescale e300c2 core found in the MPC832x processor line [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c4a2501d0b9fe90882efea5541275a46cda2a1a (commit)], add support for the mpc832x mds board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9020fc960b8f5fbca0de6e4d11881ddc827aa61d (commit)], add support for the mpc8560 eval board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=902f392d011d0a781ea4695c464345faa6664540 (commit)] * Enable XMON on PPC 4xx boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7e89214aadf82fa5eaff28f50f2078fa6ae773c (commit)] * Direct yield of spinlocks for powerpc [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdc39363d33506b0e067d41fc91f89d186bdf7f7 (commit)] ==== S390 ==== * Add kprobes support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ba069b802c29eee066385f9826e2d83716626b4 (commit)] * Remove old z90crypt driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7561b974e0cbbdca1bb880b55200afd9a1a20737 (commit)], replace it with the shiny new zcrypt device driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe3a1be59c851aba2330387596c6134bc5ec8397 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dbc2418bac32a18a372ae9aec386f0fe9174389 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1534c3820c26aca4e2567f97b8add8bea40e7e2b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=963ed931c3fd18082bfde0e8704a28955663abf4 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6684af1a07a1f88f3970bc90e5aed173d39168db (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5432114baf0300286a6ca1b0aea549492a379432 (commit)] * Kernel stack overflow handling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9514e2311be97a01e8669c4de78e9fea37489f09 (commit)] * Linux API for writing z/VM APPLDATA Monitor records collected by the *MONITOR System Service of z/VM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31b58088292c7f00f0b81088bfb557285b0b6247 (commit)] * Direct yield of spinlocks for s390 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c1fcfe229e99752c74efb945a4a3f560be04204 (commit)] ==== PARISC ==== * Allow nested interrupts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7085689ed135f94108e46c372015c6f5cd3372a3 (commit)], allow overriding personality with sys_personality to allow running linux 32 bits userspace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75a4958154f5d0028d5464f2479b4297d55cf4a3 (commit)]; add support for Quicksilver AGPGART [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08a6436816f7a16113c73be767ee8d50440e494e (commit)] ==== IA64 ==== * Add support for making ESI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ab561a116e16cdee3ae0e13d51910634c15aee9 (commit)] ==== MIPS ==== * Remove EV96100 as previously announced [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d48f1de2d8170814fb64effa320848410c466f95 (commit)] ==== ARM ==== * Add ARM irqtrace support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ad1bcb25c5623f1f87c50fdf2272f58ff91db5a (commit)] * Add support for: thecus n2100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e60d07b6cd38a7afb85f2cf51aebcb3359b63819 (commit)], AML M5900 series [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da56c949261d462452a68cf05bfc645445bee830 (commit)], IO-Data GLAN Tank [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c92e830bd39f3e6cf7b151dffecafbdc623496c (commit)], ARM9TDMI core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f5f0146ef5c3a3421ea53a0708fd37edcb8905 (commit)], Apollon MMC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abc45e1d69542281fb2b40968e5d112f51976623 (commit)], Locomo SPI Device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2025e7f73ae5eab0a25dad88c60aba67e3ae690 (commit)], ARM740T core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b731c3118d87f26c8bf3f358ffbbc24450af50a6 (commit)], power management for AML M5900 series [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26f908186f923291999833e9d563259834bdca06 (commit)], ARM940T core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d60674eb5d961b2421db16cc373dc163f38cc105 (commit)], OMAP2 dmtimer power management [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39020842b3d8a450e80724a71d5df676535d249e (commit)], ARM7TDMI core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07e0da78abdc679714a12e7a60137d950c346681 (commit)], ARM946E-S core support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f37f46eb1c0bd0b11c34ef06c7365658be989d80 (commit)] ==== SH ==== * Big SH update: prefetch()/prefetchw() support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e86d6b66f5b38680746b2cb71186d90af17f150f (commit)], optimized cache handling for SH-4/SH-4A caches [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b638d0b921dc95229af0dfd09cd24850336a2f75 (commit)], math-emu support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b565680d16300acab0ff167e24f0ea289a6bd5d (commit)], implement pselect6 and ppoll [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f23e7e94f7083d9705b595cbd6b30972be6fbbb (commit)], stack debugging support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d153ea88dccf003173315b5d21acabebb897fb4a (commit)], APM/PM support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3aa770e7972723f479122cf66b529017d2175289 (commit)], enable /proc/kcore support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2cb7ce3bb384f30a377f66336c78546b834604df (commit)], support for 4K stacks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6a31139897a5e539efe7ad3b7bd351fa9673ce8 (commit)] and vsyscall page support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19f9a34f87c48bbd270d617d1c986d0c23866a1a (commit)] * Add support for SH7770 and SH7780 SH-4A subtypes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b19c9081fbd0882c936ec087bf9055a20251dec (commit)], titan board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a09749dd86e9e93de10f12ab4ce4e90815b5650a (commit)], add support for R7780RP and R7780MP boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5283ecb5ccbdb90d49fce6488d3944bba63a591c (commit)], SH-4A Privileged Space Mapping Buffer (PMB) support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c7b1df69c62209db19d1279dd882b37c04c5c2f (commit)], sandisk board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94c0fa520cc169ccf661e9c03b5b95f74d1520b8 (commit)], add support for SH7706/SH7710/SH7343 CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5723e0eeb2dc16629e86d66785024ead9169000 (commit)], voyagerGX 8250 UART support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade2b3f6ed199dc4a7a0be53edf20f9399023640 (commit)], SH7710VoIPGW board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91b91d01416afba8d3f230a62b5d2784bd7af94a (commit)], solution Engine SH7343 board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc8fb5d0471473f775378d09db712dcb8eeece75 (commit)] and SHMIN board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51e22e7a05c1c6f2e38ac7459d3404e32e543b75 (commit)]. === KBUILD AND OTHER STUFF === * New 'make headers_install_all' target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d71627581e96efb3717960b79fc2167a4617977 (commit)] * make V=2 tell why a target is rebuilt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45d506bd65e2e35881d8276c111b647807823d19 (commit)] === SUspend === Add write-speed instrumentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a4f7577c9ef393ca80c783f02ffbc125de771c7 (commit)] and read-speed instrumentation to see what bandwith we're achieving [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c002494b55119a3fd1dddee83b4fb75cfda47e5 (commit)], implement async read for faster swsusp resuming [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=546e0d271941dd1ff6961e2a1f7eac75f1fc277e (commit)], switch the swsusp writeout code from 4k-at-a-time to 4MB-at-a-time to speed up suspending [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab954160350c91c77ae03740ef90458c3ad5412c (commit)], introduce memory bitmaps for more efficient memory usage [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b788db79896ef2a5817b9395ad63573b254a6d93 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940864ddabdb180e02041c4dcd46ba6f9eee732f (commit)], suspend infrastructure cleanup and extension [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c8265f51073bc8632a99de78d5fd19117ed78b7 (commit)] === MM === * Allow the removal of ZONE_DMA32 for non x86_64 architectures and ZONE_HIGHMEM for arches not using highmem (like 64 bit architectures). While they're not used on those arches, they eat some memory and they've no sense on those platforms anyway [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=776ed98b842ee8551793f842fe028c8091f3633e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb0e7942bdcbbd2f90e61cb4cfa4fa892a873f8a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53ef38d05dd59ed281a35590e4a5b64d8ff4c52 (commit)] * Tracking of dirty pages in shared writeable mmap()s [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d08b3851da41d0ee60851f2c75b118e1f7a5fc89 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=edc79b2a46ed854595e40edcf3f8b37f9f14aa3f (commit)] * Add a new gfp flag __GFP_THISNODE to avoid fallback to other nodes. This flag is essential if a kernel component requires memory to be located on a certain node [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b819d204cf602eab1a53a9ec4b8d2ca51e02a1d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=765c4507af71c39aba21006bbd3ec809fe9714ff (commit)], and use it in sys_move_pages() for not allowing fallbacks to another nodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d99cfb5f46191fc68f1343feeb2cf835001f7d7 (commit)] * Zoned counters: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=972d1a7b140569084439a81265a0f15b74e924e0 (commit)] * zone_reclaim: dynamic slab reclaim: Currently slab reclaim is enabled by setting an explicit option in /proc/sys/vm/zone_reclaim_mode and its used as a final option if the freeing of unmapped file backed pages is not enough to free enough pages to allow a local allocation. However, that means that the slab can grow excessively and that most memory of a node may be used by slabs. This implements slab reclaim during zone reclaim (zone reclaim occurs if there is a danger of an off node allocation). At that point we: 1. Shrink the per node page cache if the number of pagecache pages is more than min_unmapped_ratio percent of pages in a zone. 2. Shrink the slab cache if the number of the nodes reclaimable slab pages (patch depends on earlier one that implements that counter) are more than min_slab_ratio (a new /proc/sys/vm tunable). The default for the min_slab_ratio is 5%, and the slab option from /proc/sys/vm/zone_reclaim_mode is removed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ff38490c836dc379ff7ec45b10a15a662f4e5f6 (commit)] * [PATCH] Have ia64 use add_active_range() and free_area_init_nodes: Size zones and holes in an architecture independent manner for ia64. [bob.picco@hp.com: fix ia64 FLATMEM+VIRTUAL_MEM_MAP] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05e0caad3b7bd0d0fbeff980bca22f186241a501 (commit)] * [PATCH] Account for holes that are outside the range of physical memory: absent_pages_in_range() made the assumption that users of the API would not care about holes beyound the end of physical memory. This was not the case. This patch will account for ranges outside of physical memory as holes correctly. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c7cd6877cf8db15269163deda69392263124c1e (commit)] * [PATCH] mspec driver: Implement the special memory driver (mspec) based on the do_no_pfn approach. The driver is currently used only on SN2 hardware with special fetchop support but could be beneficial on other architectures using the uncached mode. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17a3b05047119b7fc72ef03962e202becc659579 (commit)] * Introduce a architecture-independent mechanism for registering active regions of memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c713216deebd95d2b0ab38fef8bb2361c0180c2d (commit)] * [PATCH] Account for memmap and optionally the kernel image as holes: The x86_64 code accounted for memmap and some portions of the the DMA zone as holes. This was because those areas would never be reclaimed and accounting for them as memory affects min watermarks. This patch will account for the memmap as a memory hole. Architectures may optionally use set_dma_reserve() if they wish to account for a portion of memory in ZONE_DMA as a hole. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e0b864e069c52a7b3e4a7da56e29b03a012fd75 (commit)] * [PATCH] vm: add per-zone writeout counter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e129b5c23c2b471d47f1c5d2b8b193fc2034af43 (commit)] * [PATCH] Allow an arch to expand node boundaries: Arch-independent zone-sizing determines the size of a node (pgdat->node_spanned_pages) based on the physical memory that was registered by the architecture. However, when CONFIG_MEMORY_HOTPLUG_RESERVE is set, the architecture expects that the spanned_pages will be much larger and that mem_map will be allocated that is used lated on memory hot-add. This patch allows an architecture that sets CONFIG_MEMORY_HOTPLUG_RESERVE to call push_node_boundaries() which will set the node beginning and end to at *least* the requested boundary. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb01439c5b778d5974a488c5d4fe85e6d0e18a68 (commit)] * [PATCH] vm: add per-zone writeout counter: The VM is supposed to minimise the number of pages which get written off the LRU (for IO scheduling efficiency, and for high reclaim-success rates). But we don't actually have a clear way of showing how true this is. So add `nr_vmscan_write' to /proc/vmstat and /proc/zoneinfo - the number of pages which have been written by the vm scanner in this zone and globally. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e129b5c23c2b471d47f1c5d2b8b193fc2034af43 (commit)] === BLOCK === * [PATCH] Split struct request ->flags into two parts: Right now ->flags is a bit of a mess: some are request types, and others are just modifiers. Clean this up by splitting it into ->cmd_type and ->cmd_flags. This allows introduction of generic Linux block message types, useful for sending generic Linux commands to block devices. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aff5e2333c9a1609662f2091f55c3f6fffdad36 (commit)] * [PATCH] elevator: move the backmerging logic into the elevator core: Right now, every IO scheduler implements its own backmerging (except for noop, which does no merging). That results in duplicated code for essentially the same operation, which is never a good thing. This patch moves the backmerging out of the io schedulers and into the elevator core. We save 1.6kb of text and as a bonus get backmerging for noop as well. Win-win! [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9817064b68fef7e4580c6df1ea597e106b9ff88b (commit)] * [PATCH] Allow file systems to differentiate between data and meta reads: We can use this information for making more intelligent priority decisions, and it will also be useful for blktrace. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5404bc7a87b9949cf61e0174b21f80e73239ab25 (commit)] * [PATCH] cfq-iosched: use metadata read flag: Give meta data reads preference over regular reads, as the process often needs to get that out of the way to do the io it was actually interested in. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=374f84ac39ec7829a57a66efd5125d3561ff0e00 (commit)] * [PATCH] ext3: make meta data reads use READ_META: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caa38fb0f481a3cb732b115cb59bfa6b59b6daaf (commit)] * [PATCH] blktrace: support for logging metadata reads: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7457e6e2d7406c7009e9ad03db1335fe93b5fb71 (commit)] * [PATCH] BLOCK: Move functions out of buffer code [try #6]: Move some functions out of the buffering code that aren't strictly buffering specific. This is a precursor to being able to disable the block layer. (*) Moved some stuff out of fs/buffer.c: (*) The file sync and general sync stuff moved to fs/sync.c. (*) The superblock sync stuff moved to fs/super.c. (*) do_invalidatepage() moved to mm/truncate.c. (*) try_to_release_page() moved to mm/filemap.c. (*) Moved some related declarations between header files: (*) declarations for do_invalidatepage() and try_to_release_page() moved to linux/mm.h. (*) __set_page_dirty_buffers() moved to linux/buffer_head.h. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf9a2ae8d49948f861b56e5333530e491a9da190 (commit)] * [PATCH] BLOCK: Remove duplicate declaration of exit_io_context() [try #6]: Remove the duplicate declaration of exit_io_context() from linux/sched.h. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d67a46df0125e20d14f12dbd3646f1f1bf23e8c (commit)] * [PATCH] BLOCK: Stop fallback_migrate_page() from using page_has_buffers() [try #6]: Stop fallback_migrate_page() from using page_has_buffers() since that might not be available. Use PagePrivate() instead since that's more general. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b398f6bff93a247d2a7099e92905374966e4558f (commit)] * [PATCH] BLOCK: Dissociate generic_writepages() from mpage stuff [try #6]: Dissociate the generic_writepages() function from the mpage stuff, moving its declaration to linux/mm.h and actually emitting a full implementation into mm/page-writeback.c. The implementation is a partial duplicate of mpage_writepages() with all BIO references removed. It is used by NFS to do writeback. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=811d736f9e8013966e1a5a930c0db09508bdbb15 (commit)] * [PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]: Create a new header file, fs/internal.h, for common definitions local to the sources in the fs/ directory. Move extern definitions that should be in header files from fs/*.c to fs/internal.h or other main header files where they span directories. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07f3f05c1e3052b8656129b2a5aca9f888241a34 (commit)] * [PATCH] BLOCK: Separate the bounce buffering code from the highmem code [try #6]: Move the bounce buffer code from mm/highmem.c to mm/bounce.c so that it can be more easily disabled when the block layer is disabled. !!!NOTE!!! There may be a bug in this code: Should init_emergency_pool() be contingent on CONFIG_HIGHMEM? [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=831058dec3735665fe91bd0d37b6a8cf56b91abd (commit)] * [PATCH] BLOCK: Remove dependence on existence of blockdev_superblock [try #6]: Move blockdev_superblock extern declaration from fs/fs-writeback.c to a headerfile and remove the dependence on it by wrapping it in a macro. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b0de42d7c5a471741ede4e71727d88000e6ea59 (commit)] * [PATCH] BLOCK: Don't call block_sync_page() from AFS [try #6]: The AFS filesystem no longer needs to override its sync_page() op. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65e6f5bc8149165efb9d7bdbd142bb837d5edfeb (commit)] * [PATCH] BLOCK: Move __invalidate_device() to block_dev.c [try #6]: Move __invalidate_device() from fs/inode.c to fs/block_dev.c so that it can more easily be disabled when the block layer is disabled. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b71e8a4ce03b3098c7801ee5e6e08d1a39a226c2 (commit)] * [PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]: Move common FS-specific ioctls from linux/ext2_fs.h to linux/fs.h as FS_IOC_* and FS_IOC32_* and have the users of them use those as a base. Also move the GETFLAGS/SETFLAGS flags to linux/fs.h as FS_*_FL macros, and then have the other users use them as a base. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36695673b012096228ebdc1b39a6a5850daa474e (commit)] * [PATCH] BLOCK: Move the ReiserFS device ioctl compat stuff to the ReiserFS driver [try #6]: Move the ReiserFS device ioctl compat stuff from fs/compat_ioctl.c to the ReiserFS driver so that the ReiserFS header file doesn't need to be included. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52b499c438ff60991eb3855ca090782569b3e8cf (commit)] * [PATCH] BLOCK: Move the Ext2 device ioctl compat stuff to the Ext2 driver [try #6]: Move the Ext2 device ioctl compat stuff from fs/compat_ioctl.c to the Ext2 driver so that the Ext2 header file doesn't need to be included. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e322ff07fb2d0f05c02d85e7c6b30d23f308c20f (commit)] * [PATCH] BLOCK: Move the msdos device ioctl compat stuff to the msdos driver [try #6]: Move the msdos device ioctl compat stuff from fs/compat_ioctl.c to the msdos driver so that the msdos header file doesn't need to be included. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=188f83dfe0eeecd1427d0d255cc97dbf7ef6b4b7 (commit)] * [PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]: Move the Ext3 device ioctl compat stuff from fs/compat_ioctl.c to the Ext3 driver so that the Ext3 header file doesn't need to be included. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52a700c5675f399c07e6e57328291e57f13ef3bb (commit)] * [PATCH] BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6]: Move the loop device ioctl compat stuff from fs/compat_ioctl.c to the loop driver so that the loop header file doesn't need to be included. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=863d5b822c02d0e7215fb84ca79e9f8c3e35f04e (commit)] * [PATCH] BLOCK: Remove no-longer necessary linux/buffer_head.h inclusions [try #6]: Remove inclusions of linux/buffer_head.h that are no longer necessary due to the transfer of a number of things out of there. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d366e40a1cabd453be6e2609caa7e12f9ca17b1f (commit)] * [PATCH] BLOCK: Remove no-longer necessary linux/mpage.h inclusions [try #6]: Remove inclusions of linux/mpage.h that are no longer necessary due to the transfer of generic_writepages(). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cb50dc2eaeddb0bc20bc4cd108c4fec99f5045a (commit)] * [PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]: This makes CONFIG_USB_STORAGE depend on CONFIG_SCSI rather than selecting it, as selecting it makes CONFIG_USB_STORAGE override the dependencies of SCSI, causing it to turn on even if they aren't all met. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65934a9a028b88e83e2b0f8b36618fe503349f8e (commit)] === Filesystems === ==== OCFS2 ==== * Add ext2 attributes - immutable, sync, append, noatime, dirsync - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca4d147e62df370c334898464023aa7f9126abe1 (commit)]; implement directory read-ahead [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa9588741db907785e4d92c8b768dd6c9077e6f0 (commit)] ==== CIFS ==== * Legacy time handling for Win9x and OS/2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1bd5bbcb6531776a8f73e2cc6287fc4dd542e1c7 (commit)]; support deep tree mounts (e.g. mounts to //server/share/path) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fe87f02a04ad6e7075023a87fe38eb458a4bb9d (commit)] ==== NFS ==== * Add server and volume lists to /proc [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6aaca566503296a73f956908ec98173946134fe2 (commit)] * Support of rsize/wsize of up to 1MB, over TCP (the limit over UDP remains at 32K) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7adae489fe794e3e203ff168595f635d0b845e59 (commit)] === SELinux === * [MLSXFRM]: Define new SELinux service routine: This defines a routine that combines the Type Enforcement portion of one sid with the MLS portion from the other sid to arrive at a new sid. This would be used to define a sid for a security association that is to be negotiated by IKE as well as for determing the sid for open requests and connection-oriented child sockets. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08554d6b33e60aa8ee40bbef94505941c0eefef2 (commit)] * [MLSXFRM]: Add security context to acquire messages using PF_KEY: This includes the security context of a security association created for use by IKE in the acquire messages sent to IKE daemons using PF_KEY. This would allow the daemons to include the security context in the negotiation, so that the resultant association is unique to that security context. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e2ba18eae7f370c7c3ed96eaca747cc9b39f917 (commit)] * [MLSXFRM]: Granular IPSec associations for use in MLS environments: The current approach to labeling Security Associations for SELinux purposes uses a one-to-one mapping between xfrm policy rules and security associations. This doesn't address the needs of real world MLS (Multi-level System, traditional Bell-LaPadula) environments where a single xfrm policy rule (pertaining to a range, classified to secret for example) might need to map to multiple Security Associations (one each for classified, secret, top secret and all the compartments applicable to these security levels). This patch set addresses the above problem by allowing for the mapping of a single xfrm policy rule to multiple security associations, with each association used in the security context it is defined for. It also includes the security context to be used in IKE negotiation in the acquire messages sent to the IKE daemon so that a unique SA can be negotiated for each unique security context. A couple of bug fixes are also included; checks to make sure the SAs used by a packet match policy (security context-wise) on the inbound and also that the bundle used for the outbound matches the security context of the flow. This patch set also makes the use of the SELinux sid in flow cache lookups seemless by including the sid in the flow key itself. Also, open requests as well as connection-oriented child sockets are labeled automatically to be at the same level as the peer to allow for use of appropriately labeled IPSec associations. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51bd39860ff829475aef611a3234309e37e090d9 (commit)] * [MLSXFRM]: Add security sid to flowi: This adds security to flow key for labeling of flows as also to allow for making flow cache lookups based on the security label seemless. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6340fcd761acf9249b3acbc95c4dc555d9beb07 (commit)] * [MLSXFRM]: Auto-labeling of child sockets: This automatically labels the TCP, Unix stream, and dccp child sockets as well as openreqs to be at the same MLS level as the peer. This will result in the selection of appropriately labeled IPSec Security Associations. This also uses the sock's sid (as opposed to the isec sid) in SELinux enforcement of secmark in rcv_skb and postroute_last hooks. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4237c75c0a35535d7f9f2bfeeb4b4df1e068a0bf (commit)] * [MLSXFRM]: Add flow labeling: This labels the flows that could utilize IPSec xfrms at the points the flows are defined so that IPSec policy and SAs at the right label can be used. The following protos are currently not handled, but they should continue to be able to use single-labeled IPSec like they currently do. ipmr ip_gre ipip igmp sit sctp ip6_tunnel (IPv6 over IPv6 tunnel device) decnet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=beb8d13bed80f8388f1a9a107d07ddd342e627e8 (commit)] * [MLSXFRM]: Flow based matching of xfrm policy and state: This implements a seemless mechanism for xfrm policy selection and state matching based on the flow sid. This also includes the necessary SELinux enforcement pieces. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e0d1caa7b0d5f02e4f34aa09c695d04251310c6c (commit)] * [MLSXFRM]: Add security context to acquire messages using netlink: This includes the security context of a security association created for use by IKE in the acquire messages sent to IKE daemons using netlink/xfrm_user. This would allow the daemons to include the security context in the negotiation, so that the resultant association is unique to that security context. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d681623d30c6565e8b62889f3aa3f4d4662c3e8 (commit)] * [MLSXFRM]: Add security sid to sock: This adds security for IP sockets at the sock level. Security at the sock level is needed to enforce the SELinux security policy for security associations even when a sock is orphaned (such as in the TCP LAST_ACK state). This will also be used to enforce SELinux controls over data arriving at or leaving a child socket while it's still waiting to be accepted. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=892c141e62982272b9c738b5520ad0e5e1ad7b42 (commit)] * [MLSXFRM]: Default labeling of socket specific IPSec policies: This defaults the label of socket-specific IPSec policies to be the same as the socket they are set on. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb969f072b6d67770b559617f14e767f47e77ece (commit)] * [MLSXFRM]: Fix build with SECURITY_NETWORK_XFRM disabled.: The following patch will fix the build problem (encountered by Andrew Morton) when SECURITY_NETWORK_XFRM is not enabled. As compared to git-net-selinux_xfrm_decode_session-build-fix.patch in -mm, this patch sets the return parameter sid to SECSID_NULL in selinux_xfrm_decode_session() and handles this value in the caller selinux_inet_conn_request() appropriately. Acked-by: James Morris <jmorris@namei.org> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a51c64f1e5c2876eab2a32955acd9e8015c91c15 (commit)] * [PATCH] selinux: add support for range transitions on object classes: Introduces support for policy version 21. This version of the binary kernel policy allows for defining range transitions on security classes other than the process security class. As always, backwards compatibility for older formats is retained. The security class is read in as specified when using the new format, while the "process" security class is assumed when using an older policy format. Acked-by: James Morris <jmorris@namei.org> Acked-by: Eric Paris <eparis@redhat.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3f8771420737004da55159c2f2dc0b6f483a4ef (commit)] * [PATCH] selinux: enable configuration of max policy version: Enable configuration of SELinux maximum supported policy version to support legacy userland (init) that does not gracefully handle kernels that support newer policy versions two or more beyond the installed policy, as in FC3 and FC4. [bunk@stusta.de: improve Kconfig help text] Acked-by: James Morris <jmorris@namei.org> Acked-by: Eric Paris <eparis@redhat.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=016b9bdb81d9c9c7800e4e224ade38d8b37669d3 (commit)] * [PATCH] SELinux: support mls categories for context mounts: Allows commas to be embedded into context mount options (i.e. "-o context=some_selinux_context_t"), to better support multiple categories, which are separated by commas and confuse mount. For example, with the current code: mount -t iso9660 /dev/cdrom /media/cdrom -o \ ro,context=system_u:object_r:iso9660_t:s0:c1,c3,c4,exec The context option that will be interpreted by SELinux is context=system_u:object_r:iso9660_t:s0:c1 instead of context=system_u:object_r:iso9660_t:s0:c1,c3,c4 The options that will be passed on to the file system will be ro,c3,c4,exec. The proposed solution is to allow/require the SELinux context option specified to mount to use quotes when the context contains a comma. This patch modifies the option parsing in parse_opts(), contained in mount.c, to take options after finding a comma only if it hasn't seen a quote or if the quotes are matched. It also introduces a new function that will strip the quotes from the context option prior to translation. The quotes are replaced after the translation is completed to insure that in the event the raw context contains commas the kernel will be able to interpret the correct context. Acked-by: Stephen Smalley <sds@tycho.nsa.gov> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3528a95322b5c1ce882ab723f175a1845430cd89 (commit)] === Networking === * [IPV4]: Use Protocol Independant Policy Routing Rules Framework: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1ef4bf23b1ced0bf78a1c98289f746486e5c912 (commit)] * [NetLabel]: core network changes: Changes to the core network stack to support the NetLabel subsystem. This includes changes to the IPv4 option handling to support CIPSO labels. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11a03f78fbf15a866ba3bf6359a75cdfd1ced703 (commit)] * [NetLabel]: core NetLabel subsystem: Add a new kernel subsystem, NetLabel, to provide explicit packet labeling services (CIPSO, RIPSO, etc.) to LSM developers. NetLabel is designed to work in conjunction with a LSM to intercept and decode security labels on incoming network packets as well as ensure that outgoing network packets are labeled according to the security mechanism employed by the LSM. The NetLabel subsystem is configured through a Generic NETLINK interface described in the header files included in this patch. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d15c345fe3b8dfda0fa5a1d2143a35fffa746a43 (commit)] * [NetLabel]: documentation: Documentation for the NetLabel system, this includes a basic overview of how NetLabel works, how LSM developers can integrate it into their favorite LSM, as well as documentation on the CIPSO related sysctl variables. Also, due to the difficulty of finding expired IETF drafts, I am including the IETF CIPSO draft that is the basis of the NetLabel CIPSO implementation. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8802f616f6de8576805f32e47602816f141118f2 (commit)] * [NetLabel]: SELinux support: Add NetLabel support to the SELinux LSM and modify the socket_post_create() LSM hook to return an error code. The most significant part of this patch is the addition of NetLabel hooks into the following SELinux LSM hooks: * selinux_file_permission() * selinux_socket_sendmsg() * selinux_socket_post_create() * selinux_socket_sock_rcv_skb() * selinux_socket_getpeersec_stream() * selinux_socket_getpeersec_dgram() * selinux_sock_graft() * selinux_inet_conn_request() The basic reasoning behind this patch is that outgoing packets are "NetLabel'd" by labeling their socket and the NetLabel security attributes are checked via the additional hook in selinux_socket_sock_rcv_skb(). NetLabel itself is only a labeling mechanism, similar to filesystem extended attributes, it is up to the SELinux enforcement mechanism to perform the actual access checks. In addition to the changes outlined above this patch also includes some changes to the extended bitmap (ebitmap) and multi-level security (mls) code to import and export SELinux TE/MLS attributes into and out of NetLabel. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7420ed23a4f77480b5b7b3245e5da30dd24b7575 (commit)] * [NetLabel]: tie NetLabel into the Kconfig system: Modify the net/Kconfig file to enable selecting the NetLabel Kconfig options. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8161327311fe4da1684ed08015e141feb9a0a737 (commit)] * [NetLabel]: CIPSOv4 engine: Add support for the Commercial IP Security Option (CIPSO) to the IPv4 network stack. CIPSO has become a de-facto standard for trusted/labeled networking amongst existing Trusted Operating Systems such as Trusted Solaris, HP-UX CMW, etc. This implementation is designed to be used with the NetLabel subsystem to provide explicit packet labeling to LSM developers. The CIPSO/IPv4 packet labeling works by the LSM calling a NetLabel API function which attaches a CIPSO label (IPv4 option) to a given socket; this in turn attaches the CIPSO label to every packet leaving the socket without any extra processing on the outbound side. On the inbound side the individual packet's sk_buff is examined through a call to a NetLabel API function to determine if a CIPSO/IPv4 label is present and if so the security attributes of the CIPSO label are returned to the caller of the NetLabel API function. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446fda4f26822b2d42ab3396aafcedf38a9ff2b6 (commit)] * [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE: Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose checksum still needs to be completed) and CHECKSUM_COMPLETE (for incoming packets, device supplied full checksum). Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84fa7933a33f806bbbaae6775e87459b1ec584c0 (commit)] * Add the framework to support multiple IPv6 routing tables [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c71099acce933455123ee505cc75964610a209ad (commit)] * [NETFILTER]: Get rid of HW checksum invalidation: Update hardware checksums incrementally to avoid breaking GSO. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cf411de49c65140b3c259748629b561c0d3340f (commit)] * Extend netlink messaging interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe4944e59c357f945f81bc67edb7ed1392e875ad (commit)] * Protocol Independant Policy Routing Rules Framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14c0b97ddfc2944982d078b8e33b088840068976 (commit)] * [NetLabel]: CIPSOv4 and Unlabeled packet integration: Add CIPSO/IPv4 and unlabeled packet management to the NetLabel subsystem. The CIPSO/IPv4 changes allow the configuration of CIPSO/IPv4 within the overall NetLabel framework. The unlabeled packet changes allows NetLabel to pass unlabeled packets without error. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96cb8e3313c7a12e026c1ed510522ae6f6023875 (commit)] * [IPV6]: Policy Routing Rules: Adds support for policy routing rules including a new local table for routes with a local destination. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=101367c2f8c464ea96643192673aa18d88e6336d (commit)] * [NET]: Round out in-kernel sockets API: This patch implements wrapper functions that provide a convenient way to access the sockets API for in-kernel users like sunrpc, cifs & ocfs2 etc and any future users. Acked-by: James Morris <jmorris@namei.org> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac5a488ef252ed673cb067843e411f8cc43f7ab9 (commit)] * [IPV6]: Increase number of possible routing tables to 2^32: Increase number of possible routing tables to 2^32 by replacing iterations over all possible table IDs by hash table walking. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b43af5480c351dbcb2eef478bafe179cbeb6e83 (commit)] * [XFRM] STATE: Introduce route optimization mode.: Route optimization is used with routing header and destination options header for Mobile IPv6. At outbound it makes header space like IPsec transport. At inbound it does nothing because exhdrs.c functions have responsibility to update skbuff information for these headers. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d71627d699eca831c1fbfb66ea67bb1fba41415 (commit)] * [IPV4]: Increase number of possible routing tables to 2^32: Increase the number of possible routing tables to 2^32 by replacing the fixed sized array of pointers by a hash table and replacing iterations over all possible table IDs by hash table walking. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1af5a8c4a11cfed0c9a7f30fcfb689981750599c (commit)] * [DECNET]: Increase number of possible routing tables to 2^32: Increase the number of possible routing tables to 2^32 by replacing the fixed sized array of pointers by a hash table and replacing iterations over all possible table IDs by hash table walking. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abcab268303c22d24fc89fedd35d82271d20f5da (commit)] * replace IPv4 dscp match by address family independent (x_tables) version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ba1627617d396135a4d679542a3623d5819e628 (commit)] * replace IPv4 DSCP target by address family independent (x_tables) version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a468701db58a8b3e08e3f55fa6ac66db42014922 (commit)] * [XFRM] POLICY: Add Kconfig to support sub policy.: Add Kconfig to support sub policy. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c11f1a15c522ddd3bbd2c32b5ce3e0b1831b22f2 (commit)] * [DCCP]: Introduce tx buffering [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97e5848dd39e7e76bd6077735ebb5473763ab9c5 (commit)] * [XFRM] POLICY: sub policy support.: Sub policy is introduced. Main and sub policy are applied the same flow. (Policy that current kernel uses is named as main.) It is required another transformation policy management to keep IPsec and Mobile IPv6 lives separate. Policy which lives shorter time in kernel should be a sub i.e. normally main is for IPsec and sub is for Mobile IPv6. (Such usage as two IPsec policies on different database can be used, too.) Limitation or TODOs: - Sub policy is not supported for per socket one (it is always inserted as main). - Current kernel makes cached outbound with flowi to skip searching database. However this patch makes it disabled only when "two policies are used and the first matched one is bypass case" because neither flowi nor bundle information knows about transformation template size. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e81bb8336a0ac50289d4d4c7a55e559b994ee8f (commit)] * [IPV6] NDISC: Add proxy_ndp sysctl.: We do not always need proxy NDP functionality even we enable forwarding. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbea49e1e2404baa2d88ab47e2db89e49551b53b (commit)] * [IPV6]: Add Kconfig to enable Mobile IPv6.: Add Kconfig to enable Mobile IPv6. Based on MIPL2 kernel patch. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee53826801a8fa7a0e333895421ef6d0e5fbfbf0 (commit)] * [IPV6] ADDRCONF: Mobile IPv6 Home Address support.: IFA_F_HOMEADDRESS is introduced for Mobile IPv6 Home Addresses on Mobile Node. The IFA_F_HOMEADDRESS flag should be set for Mobile IPv6 Home Addresses for 2 purposes. 1) We need to check this on receipt of Type 2 Routing Header (RFC3775 Secion 6.4), 2) We prefer Home Address(es) in source address selection (RFC3484 Section 5 Rule 4). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b9f9a1c3903b64c38505f9fed3bb11e48dbc931 (commit)] * [IPV6] KCONFIG: Add subtrees support.: This is for developers only. Based on MIPL2 kernel patch. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e96c2b4180aff4f080b77314712073c6ca430e7 (commit)] * [TCP]: make cubic the default: Change default congestion control used from BIC to the newer CUBIC which it the successor to BIC but has better properties over long delay links. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=597811ec167fa01c926a0957a91d9e39baa30e64 (commit)] * [TCP]: default congestion control menu: Change how default TCP congestion control is chosen. Don't just use last installed module, instead allow selection during configuration, and make sure and use the default regardless of load order. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d2573f7ebe507e372a23cdd3c8b03305d6e90aa (commit)] * [NETFILTER]: ebt_mark: add or/and/xor action support to mark target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b18dfa90c008850e0f3bfd63638dd8fbe8e08701 (commit)] * [XFRM]: BEET mode: This patch introduces the BEET mode (Bound End-to-End Tunnel) with as specified by the ietf draft at the following link: http://www.ietf.org/internet-drafts/draft-nikander-esp-beet-mode-06.txt The patch provides only single family support (i.e. inner family = outer family). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a69452cb45add0841c2bc1e75c25f6bd4f1d8d9 (commit)] * [NetLabel]: add audit support for configuration changes: This patch adds audit support to NetLabel, including six new audit message types shown below. #define AUDIT_MAC_UNLBL_ACCEPT 1406 #define AUDIT_MAC_UNLBL_DENY 1407 #define AUDIT_MAC_CIPSOV4_ADD 1408 #define AUDIT_MAC_CIPSOV4_DEL 1409 #define AUDIT_MAC_MAP_ADD 1410 #define AUDIT_MAC_MAP_DEL 1411 Acked-by: James Morris <jmorris@namei.org> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=32f50cdee666333168b5203c7864bede159f789e (commit)] * [PKTGEN]: DSCP support: Anyway, I've been asked to add support for managing DSCP codepoints, so one can test DiffServ capable routers. It's very simple code and is working for me. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ca7768c87ac1393228857d576654f7e84c8cee6 (commit)] * [PKTGEN]: vlan support: The attached patch allows pktgen to produce 802.1Q and Q-in-Q tagged frames. I have used it for stress test a bridge and seems ok to me. Unfortunately I have no access to net-2.6.x git tree so the diff is against 2.6.17.13. Acked-by: Steven Whitehouse <steve@chygwyn.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34954ddc4f3e790fb6d5ed331513f54b38713234 (commit)] * [SCTP]: Enable Nagle algorithm by default.: This allows more aggressive bundling of chunks when sending small messages. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=208edef6a5b6c50363c77efcf34c4b4020681029 (commit)] === Crypto === * Add cryptomgr, a "cryptographic algorithm manager" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b8c19dbdc692e81243a328725a02efb77b144a5 (commit)] * Add block cipher type. Unlike current cipher algorithms which operate on a single block at a time, block ciphers operate on an arbitrarily long linear area of data. As it is block-based, it will skip any data remaining at the end which cannot form a block [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cde0af2a9825dd1edaca233bd9590566579ef21 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c64097aa0f6dc4f27718ef47ca9a12538d62860 (commit)]. Also switch some cipher users to use block type [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db131ef9084110d9e82549c0a627e157e8bb99d7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cba83564d112e4aec52227f68670f8dbd4d4ac89 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69affe7fc52c14e4b81408a2076e9e58ba4af60a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1806f6a97a536b043fe50e6d8a25b061755cf50 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f12cc2090d721647c23dfce20834f4306db3b77d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28ce728a90cce3a0c6c0ed00354299de52db94b1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=378c6697a282c383d89428380a3405bf95189347 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7326c8497f954c2cfcb4c49fe42be5b80887bc (commit)] * Support for SHA1 / SHA256 algorithms in VIA C7 processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c833275152b454d311f0e70b5e6bf028b4a2aaf (commit)], add twofish x86-64 assembly version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eaf44088ff467410dd15a033fef118888002ffe6 (commit)] and a i586 assembly version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9f535ffe38f7eb61ac2219d32d97c377b69f70d (commit)] === CPUFREQ === * add powersave_bias tunable. ondemand selects the minimum frequency that can retire a workload with negligible idle time -- ideally resulting in the highest performance/power efficiency with negligible performance impact. But on some systems and some workloads, this algorithm is more performance biased than necessary, and de-tuning it a bit to allow some performance impact can save measurable power. This patch adds a "powersave_bias" tunable to ondemand to allow it to reduce its target frequency by a specified percent. By default, the powersave_bias is 0 and has no effect. powersave_bias is in units of 0.1%, so it has an effective range of 1 through 1000, resulting in 0.1% to 100% impact. In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz:-) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05ca0350e8caa91a5ec9961c585c98005b6934ea (commit)] * Longhaul - Disable arbiter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=179da8e6e8903a8cdb19bb12672d50dc33f0fde6 (commit)], add voltage scaling to driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db44aaf3a2f599163c53ce96658aca688b3466f0 (commit)] * Longhaul - Add ignore_latency option [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6595413fc9453a211f4b5d5cc42f0bbf3daa615b (commit)] === Drivers and other subsystems === ==== Video ==== * Add a simple DRM memory manager from Tungsten Graphics. This is NOT the new memory manager, this is a replacement for the SIS and VIA memory managers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a1bd924f36da202e480a0e0174b2878c0924a05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce65a44de07f73ceda1749812b75086b7add408d (commit)] * Add support for the SiS 315 to the DRM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7981bf7d494a6c4d45e22c54b0da887e5a67e705 (commit)], for Intel i965G chipsets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c29b669caae4ed1630ef479e54bdde126a0378ec (commit)], allow detection of new VIA chipsets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd5af0781aed12b9707d238c17cf55d46f9bf98d (commit)], add support to Intel 965 Express [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65c25aadfa4e917060e99fe459f33a6a07db53cc (commit)], a suspend callback for i965 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08da3f413f6aa3eb48cfc5331c68e57393167fe5 (commit)]; and vsync interrupt and i2c support for intelfb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37bced38b3d09c3de7c871790eddde81a3ce57cb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7649757bd900bc900adcd95ab08903cdc28342fa (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=399fb4316ab4fe4c46d1e4ed8b12d56c94b4c251 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a5f019b1a9ea6a75ba36d7c312ff069006ed479 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f80d0d23f2010b7682e06449345e8199a2b2619c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183b1214402a205bf6eea2030686249c7d365fd1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1f6e8449e11fd79ee30456ce7ec973317b8dd6ae (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41c9480a1d22e8f28b8675a2d7ec7fd4c50bc900 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7627899b11ece118b46fbf652e944f9a239f6cd1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82c10f07c2d7baf6f280f206f9067a4715777962 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ce6fb4358bce6aced489f798138795163ad3f7c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd696ec852dc34c40e2a18cc426c8f462c0715a5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c37bb26654bb8981ea237076e333eb37d4aa2dc6 (commit)] ==== USB ==== * Add PlayStation 2 Trance Vibrator driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5638e4d92e7707bd037a36654f914c80ccd7161d (commit)] * Add driver for the Phidgets Inc., MotorControl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5176b413dcce85334e270021fc0d723d1714c84 (commit)] * Add AIRcable USB Bluetooth Dongle Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe70ba2272c123cf38e4c577bf220f8bcf25366 (commit)] * Moschip 7840 USB-Serial Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f5429746d91f21f60f68b14177c0d534d80240b (commit)] * Add basic infrastructure in usbcore for autosuspend/autoresume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=645daaab0b6adc35c1838df2a82f9d729fdb1767 (commit)] * New gmidi, a MIDI Gadget class driver - glue between the USB gadget interface and the ALSA MIDI interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2ebf92c9e1930a8f79b7eb49a32122931929014 (commit)] * ark3116: Add TIOCGSERIAL and TIOCSSERIAL ioctl calls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f430b4bbae7faa167730f954252eb7db4ac58dd (commit)] * asix - Add AX88178 support and many other changes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=933a27d39e0e57ba56cff2e4ebe92cf23f4cd815 (commit)] * Add support for many devices in the usbtouchscreen driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d8926658ce41b254fdfba7d057e6c9438c25cca (commit)] * Add ADU support for Ontrak ADU devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03270634e242dd10cc8569d31a00659d25b2b8e7 (commit)] * Add rio karma eject support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfe0d3ba20e860d0b9a16c4c6524180b8f93be05 (commit)] * ftdi-elan: client driver for ELAN Uxxx adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5c66e4b2418278786a025a5bd9625f485b2087a (commit)] ==== Input devices ==== * Implement a new Force Feedback interface for drivers (userspace interface is untouched) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=509ca1a9383601fdc5612d3d3ba5b981f6eb6c8b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d928a2b14eede1f333db7b7b684c57f7fa7f456 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6a01c85965c9e6fa8fb893c1fa5db16130d0ccb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff462551235d8d7d843a005950bc90924fcedede (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc76c912145febae8b62746d6f93e5edae342c9d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb3caf7f438a67452f5cf4773ca1bf82260bbbad (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=224ee88fe39564358ec99b46bf3ee6e6999ae17d (commit)] * Add driver for Touchwin serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11ea3173d5f2de71d037ef58ac43395795fed2bc (commit)], another for Penmount serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee4799997950e81437ef9055a4b104099e3272c4 (commit)], another for Touchright serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4003dff41e65ad338a60dde90019bffcb5531fb6 (commit)], another driver for stowaway serial keyboards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f35d0616bddf4efdfaedc5dfad2267202a3c739f (commit)]; and add support for non-pressure-sensitive touchscreens in elo driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fae3006e4b42eafbed4af714e93cf6c2b92ff793 (commit)], add support for Acer TravelMate 2424NWXCi in wistron driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb0885900de49b5822d7e8c91c1adf9a0fcc228b (commit)], and add support Microsoft Natural Elite Pro keyboards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9807879bfdc0c2b5106b4b378f5475c6a333d853 (commit)] ==== Sound ==== * HDA updates * MSI support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7376d013fc6d3a45d748e0ce758ca9412b01b9dd (commit)] * Add model entry for Samsung X10 laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a197f005a27766f5c9e0d960e7650748ec1ee4f (commit)], for Clevo m665n laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a053d012d0576e9306009939ca81a86547ef35a (commit)], support sigmatel 9205 family [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3302a59cf6961712658db63b66ea5902c17d5e1 (commit)], add model for ASUS M2NPV-VM mobo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=827a56ea3d9c3d5f80c5520ba9d487f9b7069238 (commit)], add support of Benq laptop with ALC262 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=304dcaac91f0d26543b31fd7e63726f096c826ee (commit)], add support for Sony Vaio AR 11B [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ccc560b73ff7381153dc1391d18391373931d3 (commit)], add hp-bpc model type for HP laptops [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d177ba7839dd7ed391c2f36b121eb09d1eaee4c (commit)], add model for Uniwill laptop with ALC861 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22309c3e0c8911865cad0aa94f53a9afadaad7ee (commit)], add support for LG LW25 laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd417d4fe89638a2848980cb389b9781d4913173 (commit)], support for SigmaTel 9872 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d8590650eb81d2c869c7adf4b469071cec11eee (commit)], add 5 stack audio support for Intel 965 systems [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93ed150375187ae7917ed1e3b9b830b9d4065bad (commit)], new pci id for Nvidia MCP61 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3838ba9204cd8af83c4358379221af66d77714e (commit)], add model entry for ASUS U5F laptop: Added a model entry for ASUS U5F laptop with AD1986A codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=264e6e3b0c5af44d8975153bf0c88ccf2cb10a2f (commit)], add ATI RS690 HDMI audio support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b15c95f889c7bc43cb759c27211c597c0ad9f05 (commit)], * Add snd-mts64 driver for ESI Miditerminal 4140 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68ab801e32bbe2caac8b8c6e6e94f41fe7d687ad (commit)], and add experimental support of aggressive AC97 power-saving mode (CONFIG_SND_AC97_POWER_SAVE)- it can be turned on/off on the fly via sysfs, too [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6dbe662874ba08585eaf732d126762c25ac8e3f7 (commit)] ==== libata/IDE ==== * Besides the libata/PATA changes already mentioned above, there're more changes in libata and in the old IDE subsystem: Increase lba48 max-sectors from 200 to 256 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b881b0410de0f72a43e814393abf3a4cb29ebb4 (commit)], add support for SATA attachment to SAS adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80289167fd3ebaeb7b2641e69cbec44b61165fe7 (commit)], implement Power Management support in ahci [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1332875cbe0c148c7f200d4f9b36b64e34d9872 (commit)], add SATA support for vt8237a in sata_via [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08be09b7c38a71b1677285c10a08725833ff9b95 (commit)], add CompactFlash support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b352e57dc3bb5033996adaa67c2f69b795eddd39 (commit)] * A non-libata driver for Jmicron devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbb3bbdb0f78cb02451daf5687a99627f7ad1140 (commit)], and make number of IDE interfaces configurable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83d7dbc4095a0c314b191c573be5fb4fa6ce0897 (commit)] ==== V4L/DVB ==== * V4L2 driver conversion: radio_aimslab [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46ff2c7250eece24974ddb2198421c83a69a6289 (commit)], radio_gemtek-pci [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52afbc2f4f1ab78c038bc0d56273ca68021bd3d5 (commit)], radio-rtrack2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8c559f8c066a045fb3f70bbb35f9e7c2064b8ae (commit)], radio_gemtek [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1c4ecdeec612a587e9b564839fc578f41d3049d (commit)], radio-typhoon [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30c48305ba3e785cef33ff90efcbf5d9bdc3cffe (commit)], radio_aztech [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4366af40d7d2021499b84b8311336c944a9a71c (commit)], radio-sf16fmi [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2ef73af4cd6cb46be13b11f9ce64d6b44f0350b (commit)], radio-maestro [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6055d7b1841e14ecc8c72a11490b42c85bf7bec (commit)], radio-terratec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=55ac7b690f086112ab8ac35764189269cdfae768 (commit)], radio-sf16fmr2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acda0e71857c8ec4e5348d08b53a52d35b92e6aa (commit)], radio-trust [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=982eddb911b772295d5efc11f7c2b34c7fd6e60e (commit)], radio-maxiradio [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e84fef6b4a9d36fea53354633c590a7800d9fd83 (commit)], radio-zoltrix [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ab652993623954c7bfdadeba311d15a3e1494c0 (commit)], radio-cadet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0c7fa096623c0cfdd9d253de9d874558066cdbb (commit)], saa5246a, saa5249, vino, hexium_orion, hexium_gemini [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b23056ef373c27a3bd089b40f45f4bc74674e71c (commit)] * Multi-input patch for DVB-USB device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d43e13f723e12734257277cc38497fab1efc605 (commit)] * Add WinTV-HVR3000 DVB-T support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76dc82ab57236105285fd8520895c1404b8b952f (commit)], add support for the md8800 quadro board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eda227fc622799a543dd7606f1037e89cd9e21b (commit)], add PCI ID for AverMedia DVB-T 777 with SAA7133 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e9bfb979bab6051c125f56230bfeeefe603f99e (commit)], added PCI ID of the Genius VideoWonder Dual Cardbus [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c591947b044513bcc42dd57ea61f41b5b462d93 (commit)], add support for Shenzhen Tungsten Ages Tech TE-DTV-250 OEM for Swann PCI TV Tuner Card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2acadefa311b480864d686fb3f7e5f79737d0187 (commit)], add support for Norwood PCI TV Tuner (non-pro) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1009bd733a9324baff74611e0635e17fce4dfa2 (commit)], add initial support for Hauppauge HVR3000 trimode card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad10c930e8857585cc316e96c15f02b42020bac6 (commit)], add drivers for tda10086 + tda826x chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6bca3580c3303451b65afc98276edf40628dffe0 (commit)], add support for Acorp TV134DS + FlyDVB-S cards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2ac28fa15696d3d9dc38923438ad39fe1235ecd (commit)], add autodetection support for AverMedia M150-D [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dbaa2cb757545f8238319d55aa75cc8fabc8212 (commit)], add dvb-pll support for MT352/ZL10353 based tuners [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c162dff6437d5f66c272b1811074ee32c53d17b9 (commit)], add tda10086 support for TT DVB-S-1401 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adc619ac6e3d3b4a175476b915befe37650ee109 (commit)], add support for PAL-Nc in cx24850 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=704fd4a5672a5447a7f177838236eb13232be3c1 (commit)], add support for dibcom mod3000p + mt2060 remote control [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a841e1f6d153c72e29802a33520f2c862792f7b0 (commit)], add support Grundig DVB-T tuner for sub-system 13c2:0001 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d90ee5e0e57b67e6e5c01cb14495fb69edccbbf (commit)], add support for LeadTek DVB-T USB clone [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7357a53ef4d59724ad80560e47102e0095555b6 (commit)], add support for the Artec T14 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb25a74d49f3589c7868422ec48d219246a4fca4 (commit)], add support for the Club 3D zap250mini USB dvb device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ded38d2806b508b0b0f95581c103958949403daf (commit)], add support for saa7111 and partial support for saa7118 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89f75ffc7e97d96ea76556671446d57d77c46beb (commit)], add driver for TUA6100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00be2e7c64157c845afff56f25677da706b151b6 (commit)], add support for MT2060 and thus for some DVB-USB-devices based on it [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a16bf5d5603184dc1db88f37051881b2eeacfd17 (commit)], add Compro PS39U USB ID to Vicam driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=81409ed08a7ecc6a3da08b9b0321fd070c57a721 (commit)], add basic DVB-T and analog TV support for the HVR1300 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa481a654771217645188b64d82acfc38c2da892 (commit)], add Nebula DigiTV USB RC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=774c0de4aed4d5171e8c3cb47402265d278d2591 (commit)], add card support for Proteus Pro 2309 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b04c1baf485f4c3a25d8dbc187156030f9247cb0 (commit)], add support for DViCO FusionHDTV DVB-T Dual Digital 2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=587c03d104c418a7958f24a03ac6239ac3f2e608 (commit)], add support for Hauppauge Nova-T 500 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6958effedb0dc709966c22e7fd0e8210b5401b84 (commit)], add module for DiB0700 based devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f54910ce018f93a74211136be46c09cefd80e2 (commit)], add support for the ASUS EUROPA2 OEM board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf146ca4c2d56f275235526d9ada6c007313c7c7 (commit)] ==== Network drivers ==== * New qla3xxx NIC driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a4faa873782d748960b02fdec95e3d4d2e3ae38 (commit)] * New IBM eHEA Ethernet Device Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a291083225af6e22ffaa46b3d91cfc1a1ccaab4 (commit)] * New cirrus Logic ep93xx ethernet driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d22e05df8183b36b3cc0760344774040abc74d5 (commit)] * Improved statistics for bcm43xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4221f980a4931364be7ffd81c4f16784990f6f8b (commit)], WE-19 capabilities for prism54 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab411f1e850af5acbd6ef278f4e669250f71915 (commit)], AL7230B RF support, implement SIOCGIWNICKN and add LED support for zd1211rw [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec62bd91bbb58254dfddca3d290f5fe4aa1cb769 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=089f99d8ac398905f6dc75dd2ce5796ced5dd943 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=583afd1e4f25c87000c85ad7d03f5299fd4155dc (commit)], mac address change support, basic MII ioctl support and hardware flow control for r8169 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2b98a697fa4e7564f78905b83db122824916cf9 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f787a1aca3705bdc6adbda36f8d6446380e85a6 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=623a1593c84afb86b2f496a56fb4ec37f82b5c78 (commit)], enable wireless extension passive scan for ipw2200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=094c4d2df6c17a37d9e1b88601990ab660c00c3e (commit)], add ethtool -S support for spidernet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b6b0b81f0de6a17ce57c818d1f403253c200e1f (commit)], NAPI implementation for pcnet32 and forcedeth [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e27cdba53b8ad5c12c9281b3737e07f2a536c3a2 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7de745e56244156233e5cdd62b462e52e638d408 (commit)]; and delete GT96100 driver - hasn't even compiled for years [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff2a2e0172fd11b1bfb9b45ee1b996d3f10669af (commit)] * WE-21 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baef186519c69b11cf7e48c26e75feb1e6173baa (commit)] and support for hostap [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fb08363f1f6d360dbaf6d7f51b9e7ca07c05ecd (commit)], atmel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a484db472e77218252025d31d4ef96dbc11ada9 (commit)], ipw2100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b63bae0ab750942e84bfb9b353e6222583457a2 (commit)], prism54 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bad04f2ce00da5aaa6c8e97b1b80ad2ebd755b8b (commit)], orinoco [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eeec9f1a931262d69811135092c8447d6dccc3e6 (commit)], airo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f8544cc95c7f521847fa760ce38d932e6ab4542 (commit)], wl3501 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de9621bc5637be5f9e3e3ff2fc1475b3de41132e (commit)], zd1211rw [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6082f4032a9667e844fecd974f17268249fb966 (commit)], bcm43xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b978d0278c3a4c41bda806743c6ef5dca86b4c61 (commit)], ray_cs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ced38ac48137e1928dd40de3cdc074ec31c059d (commit)], ipw2200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=919ee6ddcd3fcff09dee90c11af17a802196ad1f (commit)], zd1201 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22b99262f59ddf5d283e19047e37dbc3be907e93 (commit)] ==== SCSI drivers ==== * New aic94xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2908d778ab3e244900c310974e1fc1c69066e450 (commit)] * New arcmsr driver for the Areca Raid controller [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c57e86d75cf162bdadb3a5fe0cd3f65aa1a9ca3 (commit)] * Add Promise SuperTrak driver, supporting SuperTrak EX8350/8300/16350/16300 controllers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a25ba1677ab8d63890016a8c1bca68a3e0fbc7d (commit)] * Initial Commit of qla4xxx, a open-iSCSI driver for Qlogic Corporation's iSCSI HBAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afaf5a2d341d33b66b47c2716a263ce593460a08 (commit)] * SCSI and FC Transport: add netlink support for posting of transport events [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84314fd4740ad73550c76dee4a9578979d84af48 (commit)] * qla2xxx: Add support for fabric name FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90991c85d398fd46b2b07440b5639eb50dfacb2b (commit)], add support for system hostname FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a740a3f0407ed3344b28b05926b0ce61768e9893 (commit)], add support for host port state FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7047fcddb1bc96a80fc54ac3a88ea18ca3ae77f6 (commit)], add support for symbolic nodename FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1620f7c2d8e3fdd7dba04bfe5f9c42201eef1188 (commit)], add iIDMA (Intelligent Interleaved Direct Memory Access) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8b4521349274ab610d0b29384c704444e55cbca (commit)] ==== Various drivers ==== * [MTD] physmap: add power management support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17c2dae3aaff9b1e5d83996a5f098ad693f3aeca (commit)] * [MTD] Remove iq80310 map driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e417fcfb857b809e5dabc9b252ad70f090d553d1 (commit)] * [MTD] Add SSFDC (SmartMedia) read-only translation layer [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51197abf29657373bcf9803d87da3c3d8fc3a37e (commit)] * AVR32 MTD: Static Memory Controller driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc157b75960f1f33566074e820342690216629b9 (commit)] * AVR32 MTD: AT49BV6416 platform device for ATSTK1000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2514183dff2d5282cb745af34f56d1b98e5b2df8 (commit)] * RDMA: iWARP Connection Manager [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=922a8e9fb2e0711212badce47a41137e2ca04cb3 (commit)], add a driver for the Ammasso 1100 gigabit ethernet RNIC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f94b533d091a42da92d908eb7b3f9ade1923f90d (commit)], add driver for IBM eHCA InfiniBand adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fab97220c9e409a98b1956ba677ddd2dd43b0b95 (commit)], performance improvements via mmap of queues [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=373d9915803aebbbf7fd3841efd9dac31c32e148 (commit)], support revision 2 InfiniPath PCIE devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c9446a1d63f1ca570e92f89422595732efedf44 (commit)], support new PCIE device, QLE7142 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf3258ec418a008ab4672787ebff2c5837dd1e69 (commit)], driver support for userspace sharing of HW contexts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9929b0fb0f35f54371e9364bab809bcd753f9d3a (commit)] * rtc: New RTC driver for SuperH On-Chip RTC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a6104a99f87c0b35c0d9f19ec23ee7429b33e (commit)] * hwmon: Add fan speed control features to w83627ehf [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c79950a047dbaccf05d70a203db2ee75ac3bd8 (commit)] * it87: Add support for the IT8718F [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87673dd735b8e089b7f2830edd353aa5f5e743ad (commit)] * it87: Add support for the IT8716F [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17d648bf5786ba5b8cbf7cbd5cb18d3d8d2657ca (commit)] * [TG3]: Add 5709 self-test support.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b16250e3d1c55820f08f0296624a423122ea9805 (commit)] * hwmon: Add support for the temperature sensor(s) found in AMD K8 CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29fa06c1292f473ae51a84f55c8fe22179bc1080 (commit)] * abituguru: Add suspend/resume support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=360b9ab220aedaf346380fc2344729d9acc3b075 (commit)] * [TG3]: Add basic 5906 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5d3772ccbe0bc5ac8ffbb5356b74ca698aee28c (commit)] * hwmon: New driver for the VIA VT1211 Super-IO chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab41319eab3b5e600873dc77dff7756970424ca6 (commit)] * hwmon: Add individual alarm files to f71805f, lm63, lm83 and lm90 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d45771e6ea79f56a7d85e448f702f60ef86c228 (commit)] * [TG3] Add support for the 5709 10/100 PHY [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=715116a12610b67c1d301a9b845ce95f7247dad3 (commit)] * atiixp: ATI SB600 IDE support for various modes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b33b4dcbe5e09e683eef281f72aef951e17061c (commit)] * hdaps: support Lenovo ThinkPad T60 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=710b8b5f4341e72a5f5f6fa58d1f73a0db64bf93 (commit)] * cciss: support for >2TB logical volumes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00988a3514bbc0cce781c067cf52559741d88b80 (commit)] * synclink_gt: add bisync and monosync modes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb10dc9ac7eea2c891df6b79b9ef1fbe59cb5429 (commit)] * e1000: add multicast stats counters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49559854c9ea6d6950631d558d33faff49fa74f3 (commit)] * au1100fb: Add option to enable/disable the cursor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca27ac4cc6caa73740122a5f3d601c8a27b89e7c (commit)] * fbdev: Add generic ddc read functionality [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc5891c8a3ba284f13994d7bc1f1bfa8283982de (commit)] and port drivers to use it: nvidiafb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=346bc21026e7a92e1d7a4a1b3792c5e8b686133d (commit)], savagefb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=946c4eab86cc67dac6021b56f45495f59b3970b4 (commit)], i810fb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80987f8db7b9c33089bb395ed54cb96d55eae04 (commit)], radeonfb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a45093b7caa9d3d5421274b4ba80fba5da17e19 (commit)], rivafb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf5df0a2c54c2dc0fad619ac25d029119023610a (commit)] * dm: support ioctls on mapped devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa129a2247b164173d45da8ad43cca5de9211403 (commit)] * [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e0ea345ff542320882caa21ec2248e6c02d8b91 (commit)] * [WATCHDOG] w83697hf WDT driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9a8c8913a95aed91bfa81f7d4043c6430423bf8 (commit)] * [WATCHDOG] Winbond SMsC37B787 watchdog driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=485ae77dc7f484563707557ccf8c5d228980619f (commit)] * i2c: New bus driver for TI OMAP boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=010d442c4a295a73e90e93c5e42579cee61c5cc7 (commit)] * i2c-viapro: Add support for the VT8237A and VT8251 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c243353a90fae3a9a85d2bd79b1df06bb21c568a (commit)] |
Important things (AKA: ''the cool stuff'')
GFS2
GFS2 is a clustering filesystem developed mainly by Red Hat (after [http://www.theregister.co.uk/2003/12/18/red_hat_sweetens_q3/ purchasing Sistina] and opening the source code). It's not the first: OCFS2, another clustering filesystem developed by Oracle, was already merged in [http://kernelnewbies.org/Linux_2_6_16 Linux 2.6.16]. Clustering filesystems allow to share a filesystem between several machines with no compromises. GFS includes his own DLM (distributed locking manager) and a userspace API interface for that DLM.
Like OCFS2 and like any other filesystem that wants to be merged in the linux kernel, GFS2 developers asked for submission long time ago. They were asked to fix things (even considering that GFS2 had already been developed at Sistina and it was already a stable final product), they submitted it again, they were asked to fix more things, and so on, for a long period of time. Their developers have fixed every thing they were asked to fix. Because of their hard work, GFS2 is now ready to be merged, and everyone is happy. And nobody flames the kernel or GFS2 developers. Amazing, isn't?
[http://sources.redhat.com/cluster/ GFS2 project page]; Source code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/gfs2 for GFS2] (840 KB) and [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/dlm for the DLM] (384 KB)
EXT 4
[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/jbd2 JBD2], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=fs/ext4 EXT 4]
ECRYPTFS
Coming from IBM, ecryptfs aims to bring "enterprise level" file encryption to the masses.
"Oh no, another filesystem!". No, Ecryptfs is not a traditional filesystem: it doesn't implements his own disk format. From [http://lwn.net/Articles/156921/ this LWN article]:
The eCryptfs developers took the stacking approach, meaning that, rather than implement its own platter-level format, eCryptfs sits on top of another filesystem. It is, essentially, a sort of translation layer which makes encrypted file capabilities available. The system administrator can thus create encrypted filesystems on top of whatever filesystem is in use locally, or even over a network-mounted filesystem. [...] Rather than encrypt the filesystem as a whole, eCryptfs deals with each file individually
(Reading the rest of the [http://lwn.net/Articles/156921 LWN article] is recommended. There's also a [http://www.linuxsymposium.org/2005/linuxsymposium_procv1.pdf Ecryptfs paper from the 2005 Ottawa Symposium] - page 209 and onwards)
Is it better to encrypt the whole disk using cryptoloop/dmcrypt, or use ecryptfs? You decide. Ecryptfs avoids the overhead of a fully encrypted filesystem by only encrypting the files you really want to encrypt, and it also allows to encrypt different files in different ways. Ecryptfs tries to make file encryption available in a easy way for the masses. It "aims to combine the flexibility of GnuPG encryption with the transparency of a kernel service" [...] "Think of eCryptfs as a sort of 'gnupgfs'". If you're interested, you will find the userspace tools and more information available in the [http://ecryptfs.sourceforge.net/ ecryptfs sourceforge site]. You can also read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/ecryptfs.txt Ecryptfs documentation] and the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=237fead619984cc48818fe12ee0ceada3f55b012 Ecryptfs code] (232 KB).
Libata PATA (Parallel ATA) merge
By "Parallel ATA" we mean all the ATA/IDE controllers and drives that we have been using for years before SATA. Almost from the start, one of the objectives of some kernel hackers was to [http://marc.theaimsgroup.com/?l=linux-kernel&m=115514409104283&w=2 replace the IDE drivers available in drivers/ide] (everything under the "Device drivers -> ATA/ATAPI/MFM/RLL support" configuration menu) with a reimplementation on top of libata (i.e.: the "SATA layer"). Drivers/ide suffers from many ugly and obscure problems, and re-implementing it on top of libata has been much easier than fixing the unfixable drivers/ide mess - most of the porting work has been done by Alan Cox (a consequence of this PATA merge is that libata and all its SATA drivers have also been moved from drivers/scsi (available in the "Device drivers -> SCSI device support -> SCSI low-level drivers" submenu) to drivers/ata (now "Device drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers"), and all the CONFIG_SCSI_FOOBAR options for the individual SATA drivers have been changed to CONFIG_FOOBAR, so this means you may need to reconfigure your SATA configuration options)
This means 2.6.19 may have two drivers for your PATA-base device: The old IDE driver under "Device drivers -> ATA/ATAPI/MFM/RLL support" and an alternative driver under "Device drivers -> Serial ATA (prod) and Parallel ATA (experimental) drivers" (along with the rest of the SATA drivers)
What one must you choose? Well, the safe option is using the old driver: The old drivers will continue working just as they did before. There'll be no changes if you continue using the old drivers.
What do the new libata-base PATA drivers offer to you?
- First of all, because they're libata-based and libata is a well engineered and sane infrastructure, the drivers have much better quality, they're cleaner, they've much better error handling (much better behaviour when one of your drives dies suddenly or finds broken sectors), and they don't have some of the known design issues that the old drivers have (this is why people did all the work to move away from drivers/ide, they didn't do it just for fun)
- Because they're newer, there are more bugs. For this release, they're "experimental". If you want to be safe, use the old drivers.
- Really. There is a risk that the new drivers won't work for you, or may harm your data (unlikely, but not impossible). If you want to be safe, use the old drivers.
- They support some chipsets not supported by drivers/ide. The cleaner design of libata allows for easier driver development and maintenance. In some cases it supports features that the old driver doesn't, for the same reasons.
- Some IDE controllers are not supported or they aren't fully supported. Some of them because not all the IDE drivers have been ported to libata, but others because they're old and undocumented or because the libata PATA layer still doesn't support some of their features. There's no support for certain old serialized devices, for prehistoric CMD640 controllers or for host-protected-area yet.
- Drives appear as /dev/sda, /dev/sr0, the old devices names won't work. You will need to change your boot parameters and your /etc/fstab parameters in order to get a working system with the new drivers. Again, this only happens if you use the new drivers, the old drivers continue working as they did before.
Eventually, the new libata-based PATA drivers will get more stable, so the old drivers in drivers/ide may get deleted as the new drivers fulfill all needs of the IDE users and becomes feature-complete. But this certainly won't happen anytime soon. No old drivers will be deleted if there's not a working libata-based replacement. You can read the latest [http://zeniv.linux.org.uk/~alan/IDE/STATUS.txt status report] written by Alan Cox. It'd certainly be useful if you could give it a try and report back how well it works to linux-kernel@vger.kernel.org or bugzilla.kernel.org - even if it works fine, it'll be useful to know what systems do work (be sure to include the necessary information mentioned in the previous status report). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/ata (libata PATA code)]
Removal of selected OSS drivers
Since 2.6 was released, ALSA has been the "official" sound subsystem. OSS drivers were kept for compatibility - ALSA also implements a OSS compatibility layer. However, there's a big number of ALSA drivers and OSS drivers targetting exactly the same hardware. Usually, the OSS ones are undermaintained (or no maintained at all). And ALSA already implements OSS compatibility. So....
...it's possible to remove old OSS drivers, as long as there's a equivalent ALSA driver, and as long as that driver has no regressions that don't allow users to migrate (drivers with no ALSA equivalent or with know regressions have NOT been deleted). In 2.6.19, those OSS drivers are being removed. If when migrating users find something wrong in the ALSA drivers, they should report it in the [https://bugtrack.alsa-project.org ALSA bug tracking system] and work with developers to fix them. Yes, we know there're users that feel just fine with the OSS drivers, but it doesn't helps to the kernel to keep those old drivers around. By forcing people to migrate to ALSA drivers, the ALSA drivers will be improved and fixed. Overall, the linux sound subsystem will only get better. Many thanks to all the hackers that coded them.
A total of 1.79 MB of OSS drivers will be removed. To see a list of source files being removed, see [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d56b9b9c464a10ab1ee51a4c6190a2b57b8ef7a6 the commit link]. Hardware that is forced to use ALSA drivers include:
AD1980 AC97 plugin; ALI 5455; Alchemy Au1000 (MIPS); AWE32/SB32/AWE64 WaveTable driver; C-Media; Cirrus Logic-Crystal CS4281; Ensoniq ES1370/Asahi Kasei AK4531; ESS Technology Solo1 (ES1946); ForteMedia FM801; Gravis Ultrasound; ASP's and Lasi's Harmony sound chip; ICS2101 mixer of GUS v3.7; OPTi MAD16 compatible audio chips; ESS Maestro/Maestro-2/Maestro-2E/Maestro3/Allegro; Turtle Beach Maui and Tropez; Yamaha YMF701B aka OPL3-SA; RME9652/36 "Hammerfall" Driver; Aztech Sound Galaxy cards; S3 Sonic Vibes; Turtle Beach WaveFront Series (Maui, Tropez, Tropez Plus); WaveFront ICS2115 MIDI; Yamaha YMF7xx
AVR32 Architecture
2.6.19 adds support for the Atmel AVR32 architecture, implemented and supported by Atmel Corporation.
AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular emphasis on low power consumption and high code density. The AVR32 architecture description, including the instruction set, can be found in the [http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf AVR32 Architecture Manual]. The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture; it features a 7-stage pipeline, 16KB instruction and data caches and a full Memory Management Unit and a large set of integrated peripherals ([http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf full data sheet]); while the CPU core implementation including caches and MMU is documented by the [http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf AVR32 AP Technical Reference]. Information about the AT32STK1000 development board can be found [http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918 here], including a BSP CD image, development tools (binaries and source/patches) and a root filesystem image suitable for booting from SD card. Alternatively, there's a preliminary "getting started" guide available at http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links to the sources and patches you will need in order to set up a cross-compiling environment for avr32-linux
Source code can be found [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/avr32 here (arch/av32)]
Other stuff
Architecture-specific changes
x86 32/64
* Add SMP support on x86_64 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2802e7f571c05f9a901b1f5bd144aa730ccc88e (commit)]
* Add SMP support on i386 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7471c6da94d30d3deadc55986cc38d1ff57f9ca (commit)]
* x86: Add abilty to enable/disable nmi watchdog with sysctl (/proc/sys/kernel/nmi) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=407984f1af259b31957c7c05075a454a751bb801 (commit)]
* i386: Utilize performance counter reservation framework in oprofile [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb9c448c661d40ce2efbce8e9c19cc4d420d8ccc (commit)]
* x86: Add abilty to enable/disable nmi watchdog from procfs (/proc/sys/kernel/nmi_watchdog) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e33e89ab1a8d295de0500b697f4f31c3ceee9aa2 (commit)]
* [PATCH] x86: Add performance counter reservation framework for UP kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=828f0afda123a96ff4e8078f057a302f4b4232ae (commit)]
* [PATCH] Add the vgetcpu vsyscall: This patch adds a vgetcpu vsyscall, which depending on the CPU RDTSCP capability uses either the RDTSCP or CPUID to obtain a CPU and node numbers and pass them to the program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c08c820508233b424deab3302bc404bbecc6493a (commit)]
* [PATCH] x86: Allow users to force a panic on NMI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8da5adda91df3d2fcc5300e68da491694c9af019 (commit)]
* [PATCH] x86: Add portable getcpu call [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cfc348bf90ffaa777c188652aa297f04eb94de8 (commit)]
* [PATCH] i386: Support physical cpu hotplug for x86_64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73fea175303926055440c06bc8894f0c5c58afc8 (commit)]
* [PATCH] i386: Enable NMI watchdog by default for systems newer than 2004 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de84979dfc527c422abf63f27beabe43892989b (commit)]
* [PATCH] hot-add-mem x86_64: memory_add_physaddr_to_nid enable: The api for hot-add memory already has a construct for finding nodes based on
- an address, memory_add_physaddr_to_nid. This patch allows the fucntion to do something besides return 0. It uses the nodes_add infomation to lookup to node info for a hot add event.
* [PATCH] hot-add-mem x86_64: memory_add_physaddr_to_nid node fixup: In cases where the acpi memory-add event does not containe the pxm (node)
- infomation allow the driver to look up node info based on the address. The acpi_get_node call returns -1 if it can't decode the pxm info, this causes add_memory to panic. acpi_get_node would have to decode the resource from the handle (a lenghty proposition). This seems to be the cleanist point to interject the hook.
[kamezawa.hiroyu@jp.fujitsu.com: build fixes] [y-goto@jp.fujitsu.com: build fixes]
* [PATCH] hot-add-mem x86_64: Kconfig changes: Create Kconfig namespace for MEMORY_HOTPLUG_RESERVE and MEMORY_HOTPLUG_SPARSE.
- This is needed to create a disticiton between the 2 paths. Selecting the
- high level opiton of MEMORY_HOTPLUG will get you MEMORY_HOTPLUG_SPARSE if you have sparsemem enabled or MEMORY_HOTPLUG_RESERVE if you are x86_64 with discontig and ACPI numa support.
* [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_SPARSE: Migate CONFIG_MEMORY_HOTPLUG to CONFIG_MEMORY_HOTPLUG_SPARSE where needed.
* [PATCH] hot-add-mem x86_64: fixup externs: Fix up externs in memory_hotplug.c. Cleanup.
* [PATCH] hot-add-mem x86_64: Enable SPARSEMEM in srat.c: Enable x86_64 srat.c to share code between both reserve and sparsemem based
- add memory paths. Both paths need the hot-add area node locality infomration (nodes_add). This code refactors the code path to allow this.
* [PATCH] hot-add-mem x86_64: use CONFIG_MEMORY_HOTPLUG_RESERVE: The api for hot-add memory already has a construct for finding nodes based on
- an address, memory_add_physaddr_to_nid. This patch allows the fucntion to do something besides return 0. It uses the nodes_add infomation to lookup to node info for a hot add event.
* [PATCH] convert i386 NUMA KVA space to bootmem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91023300057e96de7f46e95166a3e02394ae72f9 (commit)]
* [PATCH] x86: enable VMSPLIT for highmem kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=753b9f86e7aef76c2beda32668ce528f90cb1733 (commit)] * [PATCH] x86: add a bootparameter to reserve high linear address space: Add a boot parameter to reserve high linear address space for hypervisors.
- This is necessary to allow dynamically loaded hypervisor modules, which might not happen until userspace is already running, and also provides a useful tool to benchmark the performance impact of reduced lowmem address space.
* [PATCH] Add the canary field to the PDA area and the task struct: This patch adds the per thread cookie field to the task struct and the PDA.
- Also it makes sure that the PDA value gets the new cookie value at context switch, and that a new task gets a new cookie at task creation time.
CC: Andi Kleen <ak@suse.de>
* [PATCH] Add the Kconfig option for the stackprotector feature: This patch adds the config options for -fstack-protector.
CC: Andi Kleen <ak@suse.de>
* [PATCH] Add the stack_chk_fail() function: GCC emits a call to a stack_chk_fail() function when the stack canary is
- not matching the expected value. Since this is a bad security issue; lets panic the kernel rather than limping along; the kernel really can't be trusted anymore when this happens.
CC: Andi Kleen <ak@suse.de>
* [PATCH] non lazy "sleazy" fpu implementation: Right now the kernel on x86-64 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. The patch below 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.
[akpm@osdl.org: place new task_struct field next to jit_keyring to save space]
* [PATCH] Add the -fstack-protector option to the CFLAGS: Add a feature check that checks that the gcc compiler has stack-protector
- support and has the bugfix for PR28281 to make this work in kernel mode. The easiest solution I could find was to have a shell script in scripts/ to do the detection; if needed we can make this fancier in the future without making the makefile too complex.
CC: Andi Kleen <ak@suse.de>
CC: Sam Ravnborg <sam@ravnborg.org>
[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f7fd4d7a79193ceda4ce77f75e22917d33fa154 (commit)] * [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1: Some buggy systems can machine check when config space accesses
- happen for some non existent devices. i386/x86-64 do some early device scans that might trigger this. Allow pci=noearly to disable this. Also when type 1 is disabling also don't do any early accesses which are always type1. This moves the pci= configuration parsing to be a early parameter. I don't think this can break anything because it only changes a single global that is only used by PCI.
* [PATCH] x86 microcode: add sysfs and hotplug support: Add sysfs support. Currently each CPU has three microcode related
- attributes. One is 'version' which shows current ucode version of CPU. Tools can use the attribute do validation or show CPU ucode status. one is 'reload' which allows manually reloading ucode. Another is 'processor_flags', which exports processor flags, so we can write tools to check if CPU has latest ucode. Also add suspend/resume and CPU hotplug support.
[akpm@osdl.org: cleanups, build fix] [bunk@stusta.de: Kconfig fixes]
Acked-by: Tigran Aivazian <tigran@veritas.com>
PPC
PA Semi PWRficient platform support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e76875e51266a5c43f601ecf08a92be5769228c (commit)]
Cpufreq support for Xserve G5 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ed14c2177694ce086180eb9ca9ca4c6cd72c7ef (commit)]
Add support for briq machines [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26c5032eaa64090b2a01973b0c6ea9e7f6a80fa7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a45b83957deabbdac9a3d908c6ca4c25f05ce1ad (commit)]
Emulate power5 popcntb instruction on non-power5 machines [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3412dcb75ff4d64b44bedc72761d5707d19edf7 (commit)]
A new iSeries console [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bff05b052db7a4cfaaf0eee7f8145600548e9c9 (commit)]
Cell interrupt rework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e194583125bfea94d1ceaa6a32e891643befa7d (commit)], add NUMA support to the the spufs scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a68cf983f635930ea35f9e96b27d96598550dea0 (commit)], add infrastructure needed for gang scheduling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6263203ed6e9ff107129a1ebe613290b342a4465 (commit)]
Add MPC8360EMDS board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc141deafb81f2efa453081e9d52d602a8cec766 (commit)], add initial support for the Freescale e300c2 core found in the MPC832x processor line [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c4a2501d0b9fe90882efea5541275a46cda2a1a (commit)], add support for the mpc832x mds board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9020fc960b8f5fbca0de6e4d11881ddc827aa61d (commit)], add support for the mpc8560 eval board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=902f392d011d0a781ea4695c464345faa6664540 (commit)]
Enable XMON on PPC 4xx boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7e89214aadf82fa5eaff28f50f2078fa6ae773c (commit)]
Direct yield of spinlocks for powerpc [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdc39363d33506b0e067d41fc91f89d186bdf7f7 (commit)]
S390
Add kprobes support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ba069b802c29eee066385f9826e2d83716626b4 (commit)]
Remove old z90crypt driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7561b974e0cbbdca1bb880b55200afd9a1a20737 (commit)], replace it with the shiny new zcrypt device driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe3a1be59c851aba2330387596c6134bc5ec8397 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dbc2418bac32a18a372ae9aec386f0fe9174389 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1534c3820c26aca4e2567f97b8add8bea40e7e2b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=963ed931c3fd18082bfde0e8704a28955663abf4 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6684af1a07a1f88f3970bc90e5aed173d39168db (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5432114baf0300286a6ca1b0aea549492a379432 (commit)]
Kernel stack overflow handling [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9514e2311be97a01e8669c4de78e9fea37489f09 (commit)]
Linux API for writing z/VM APPLDATA Monitor records collected by the *MONITOR System Service of z/VM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=31b58088292c7f00f0b81088bfb557285b0b6247 (commit)]
Direct yield of spinlocks for s390 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c1fcfe229e99752c74efb945a4a3f560be04204 (commit)]
PARISC
Allow nested interrupts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7085689ed135f94108e46c372015c6f5cd3372a3 (commit)], allow overriding personality with sys_personality to allow running linux 32 bits userspace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75a4958154f5d0028d5464f2479b4297d55cf4a3 (commit)]; add support for Quicksilver AGPGART [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08a6436816f7a16113c73be767ee8d50440e494e (commit)]
IA64
Add support for making ESI [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ab561a116e16cdee3ae0e13d51910634c15aee9 (commit)]
MIPS
Remove EV96100 as previously announced [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d48f1de2d8170814fb64effa320848410c466f95 (commit)]
ARM
Add ARM irqtrace support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ad1bcb25c5623f1f87c50fdf2272f58ff91db5a (commit)]
Add support for: thecus n2100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e60d07b6cd38a7afb85f2cf51aebcb3359b63819 (commit)], AML M5900 series [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da56c949261d462452a68cf05bfc645445bee830 (commit)], IO-Data GLAN Tank [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c92e830bd39f3e6cf7b151dffecafbdc623496c (commit)], ARM9TDMI core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43f5f0146ef5c3a3421ea53a0708fd37edcb8905 (commit)], Apollon MMC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abc45e1d69542281fb2b40968e5d112f51976623 (commit)], Locomo SPI Device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2025e7f73ae5eab0a25dad88c60aba67e3ae690 (commit)], ARM740T core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b731c3118d87f26c8bf3f358ffbbc24450af50a6 (commit)], power management for AML M5900 series [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26f908186f923291999833e9d563259834bdca06 (commit)], ARM940T core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d60674eb5d961b2421db16cc373dc163f38cc105 (commit)], OMAP2 dmtimer power management [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39020842b3d8a450e80724a71d5df676535d249e (commit)], ARM7TDMI core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07e0da78abdc679714a12e7a60137d950c346681 (commit)], ARM946E-S core support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f37f46eb1c0bd0b11c34ef06c7365658be989d80 (commit)]
SH
Big SH update: prefetch()/prefetchw() support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e86d6b66f5b38680746b2cb71186d90af17f150f (commit)], optimized cache handling for SH-4/SH-4A caches [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b638d0b921dc95229af0dfd09cd24850336a2f75 (commit)], math-emu support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b565680d16300acab0ff167e24f0ea289a6bd5d (commit)], implement pselect6 and ppoll [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f23e7e94f7083d9705b595cbd6b30972be6fbbb (commit)], stack debugging support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d153ea88dccf003173315b5d21acabebb897fb4a (commit)], APM/PM support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3aa770e7972723f479122cf66b529017d2175289 (commit)], enable /proc/kcore support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2cb7ce3bb384f30a377f66336c78546b834604df (commit)], support for 4K stacks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6a31139897a5e539efe7ad3b7bd351fa9673ce8 (commit)] and vsyscall page support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19f9a34f87c48bbd270d617d1c986d0c23866a1a (commit)]
Add support for SH7770 and SH7780 SH-4A subtypes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b19c9081fbd0882c936ec087bf9055a20251dec (commit)], titan board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a09749dd86e9e93de10f12ab4ce4e90815b5650a (commit)], add support for R7780RP and R7780MP boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5283ecb5ccbdb90d49fce6488d3944bba63a591c (commit)], SH-4A Privileged Space Mapping Buffer (PMB) support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c7b1df69c62209db19d1279dd882b37c04c5c2f (commit)], sandisk board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94c0fa520cc169ccf661e9c03b5b95f74d1520b8 (commit)], add support for SH7706/SH7710/SH7343 CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5723e0eeb2dc16629e86d66785024ead9169000 (commit)], voyagerGX 8250 UART support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade2b3f6ed199dc4a7a0be53edf20f9399023640 (commit)], SH7710VoIPGW board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91b91d01416afba8d3f230a62b5d2784bd7af94a (commit)], solution Engine SH7343 board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc8fb5d0471473f775378d09db712dcb8eeece75 (commit)] and SHMIN board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51e22e7a05c1c6f2e38ac7459d3404e32e543b75 (commit)].
KBUILD AND OTHER STUFF
New 'make headers_install_all' target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d71627581e96efb3717960b79fc2167a4617977 (commit)]
make V=2 tell why a target is rebuilt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45d506bd65e2e35881d8276c111b647807823d19 (commit)]
SUspend
Add write-speed instrumentation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a4f7577c9ef393ca80c783f02ffbc125de771c7 (commit)] and read-speed instrumentation to see what bandwith we're achieving [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c002494b55119a3fd1dddee83b4fb75cfda47e5 (commit)], implement async read for faster swsusp resuming [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=546e0d271941dd1ff6961e2a1f7eac75f1fc277e (commit)], switch the swsusp writeout code from 4k-at-a-time to 4MB-at-a-time to speed up suspending [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab954160350c91c77ae03740ef90458c3ad5412c (commit)], introduce memory bitmaps for more efficient memory usage [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b788db79896ef2a5817b9395ad63573b254a6d93 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940864ddabdb180e02041c4dcd46ba6f9eee732f (commit)], suspend infrastructure cleanup and extension [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c8265f51073bc8632a99de78d5fd19117ed78b7 (commit)]
MM
Allow the removal of ZONE_DMA32 for non x86_64 architectures and ZONE_HIGHMEM for arches not using highmem (like 64 bit architectures). While they're not used on those arches, they eat some memory and they've no sense on those platforms anyway [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=776ed98b842ee8551793f842fe028c8091f3633e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb0e7942bdcbbd2f90e61cb4cfa4fa892a873f8a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53ef38d05dd59ed281a35590e4a5b64d8ff4c52 (commit)]
Tracking of dirty pages in shared writeable mmap()s [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d08b3851da41d0ee60851f2c75b118e1f7a5fc89 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=edc79b2a46ed854595e40edcf3f8b37f9f14aa3f (commit)]
* Add a new gfp flag GFP_THISNODE to avoid fallback to other nodes. This flag is essential if a kernel component requires memory to be located on a certain node [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b819d204cf602eab1a53a9ec4b8d2ca51e02a1d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=765c4507af71c39aba21006bbd3ec809fe9714ff (commit)], and use it in sys_move_pages() for not allowing fallbacks to another nodes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d99cfb5f46191fc68f1343feeb2cf835001f7d7 (commit)] * Zoned counters: Support NR_SLAB_RECLAIMABLE / NR_SLAB_UNRECLAIMABLE [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=972d1a7b140569084439a81265a0f15b74e924e0 (commit)] * zone_reclaim: dynamic slab reclaim: Currently slab reclaim is enabled by setting an explicit option in /proc/sys/vm/zone_reclaim_mode and its used as a final option if the freeing of unmapped file backed pages is not enough to free enough pages to allow a local allocation. However, that means that the slab can grow excessively and that most memory of a node may be used by slabs. This implements slab reclaim during zone reclaim (zone reclaim occurs if there is a danger of an off node allocation). At that point we: The default for the min_slab_ratio is 5%, and the slab option from /proc/sys/vm/zone_reclaim_mode is removed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ff38490c836dc379ff7ec45b10a15a662f4e5f6 (commit)] * [PATCH] Have ia64 use add_active_range() and free_area_init_nodes: Size zones and holes in an architecture independent manner for ia64. [bob.picco@hp.com: fix ia64 FLATMEM+VIRTUAL_MEM_MAP] * [PATCH] Account for holes that are outside the range of physical memory: absent_pages_in_range() made the assumption that users of the API would not * [PATCH] mspec driver: Implement the special memory driver (mspec) based on the do_no_pfn * Introduce a architecture-independent mechanism for registering active regions of memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c713216deebd95d2b0ab38fef8bb2361c0180c2d (commit)] * [PATCH] Account for memmap and optionally the kernel image as holes: The x86_64 code accounted for memmap and some portions of the the DMA zone as * [PATCH] vm: add per-zone writeout counter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e129b5c23c2b471d47f1c5d2b8b193fc2034af43 (commit)] * [PATCH] Allow an arch to expand node boundaries: Arch-independent zone-sizing determines the size of a node (pgdat->node_spanned_pages) based on the physical memory that was registered by the architecture. However, when CONFIG_MEMORY_HOTPLUG_RESERVE is set, the architecture expects that the spanned_pages will be much larger and that mem_map will be allocated that is used lated on memory hot-add. This patch allows an architecture that sets CONFIG_MEMORY_HOTPLUG_RESERVE to call push_node_boundaries() which will set the node beginning and end to at *least* the requested boundary. * [PATCH] vm: add per-zone writeout counter: The VM is supposed to minimise the number of pages which get written off the
* [PATCH] Split struct request ->flags into two parts: Right now ->flags is a bit of a mess: some are request types, and ->cmd_type and ->cmd_flags. This allows introduction of generic Linux block message types, useful for sending generic Linux commands to block devices. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aff5e2333c9a1609662f2091f55c3f6fffdad36 (commit)] * [PATCH] elevator: move the backmerging logic into the elevator core: Right now, every IO scheduler implements its own backmerging (except for [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9817064b68fef7e4580c6df1ea597e106b9ff88b (commit)] * [PATCH] Allow file systems to differentiate between data and meta reads: We can use this information for making more intelligent priority * [PATCH] cfq-iosched: use metadata read flag: Give meta data reads preference over regular reads, as the process * [PATCH] ext3: make meta data reads use READ_META: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caa38fb0f481a3cb732b115cb59bfa6b59b6daaf (commit)] * [PATCH] blktrace: support for logging metadata reads: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7457e6e2d7406c7009e9ad03db1335fe93b5fb71 (commit)] * [PATCH] BLOCK: Move functions out of buffer code [try #6]: Move some functions out of the buffering code that aren't strictly buffering (*) BLOCK
set_page_dirty_buffers() moved to linux/buffer_head.h.
(*) Moved some related declarations between header files:
* [PATCH] BLOCK: Remove duplicate declaration of exit_io_context() [try #6]: Remove the duplicate declaration of exit_io_context() from linux/sched.h.
* [PATCH] BLOCK: Stop fallback_migrate_page() from using page_has_buffers() [try #6]: Stop fallback_migrate_page() from using page_has_buffers() since that might not
be available. Use PagePrivate() instead since that's more general.
* [PATCH] BLOCK: Dissociate generic_writepages() from mpage stuff [try #6]: Dissociate the generic_writepages() function from the mpage stuff, moving its
- declaration to linux/mm.h and actually emitting a full implementation into mm/page-writeback.c. The implementation is a partial duplicate of mpage_writepages() with all BIO references removed. It is used by NFS to do writeback.
* [PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]: Create a new header file, fs/internal.h, for common definitions local to the
- sources in the fs/ directory. Move extern definitions that should be in header files from fs/*.c to fs/internal.h or other main header files where they span directories.
* [PATCH] BLOCK: Separate the bounce buffering code from the highmem code [try #6]: Move the bounce buffer code from mm/highmem.c to mm/bounce.c so that it can be
- more easily disabled when the block layer is disabled. !!!NOTE!!! There may be a bug in this code: Should init_emergency_pool() be
- contingent on CONFIG_HIGHMEM?
* [PATCH] BLOCK: Remove dependence on existence of blockdev_superblock [try #6]: Move blockdev_superblock extern declaration from fs/fs-writeback.c to a
- headerfile and remove the dependence on it by wrapping it in a macro.
* [PATCH] BLOCK: Don't call block_sync_page() from AFS [try #6]: The AFS filesystem no longer needs to override its sync_page() op.
* [PATCH] BLOCK: Move invalidate_device() to block_dev.c [try #6]: Move invalidate_device() from fs/inode.c to fs/block_dev.c so that it can
- more easily be disabled when the block layer is disabled.
* [PATCH] BLOCK: Move common FS-specific ioctls to linux/fs.h [try #6]: Move common FS-specific ioctls from linux/ext2_fs.h to linux/fs.h as FS_IOC_*
- and FS_IOC32_* and have the users of them use those as a base. Also move the GETFLAGS/SETFLAGS flags to linux/fs.h as FS_*_FL macros, and then have the other users use them as a base.
* [PATCH] BLOCK: Move the ReiserFS device ioctl compat stuff to the ReiserFS driver [try #6]: Move the ReiserFS device ioctl compat stuff from fs/compat_ioctl.c to the
- ReiserFS driver so that the ReiserFS header file doesn't need to be included.
* [PATCH] BLOCK: Move the Ext2 device ioctl compat stuff to the Ext2 driver [try #6]: Move the Ext2 device ioctl compat stuff from fs/compat_ioctl.c to the Ext2
- driver so that the Ext2 header file doesn't need to be included.
* [PATCH] BLOCK: Move the msdos device ioctl compat stuff to the msdos driver [try #6]: Move the msdos device ioctl compat stuff from fs/compat_ioctl.c to the msdos
- driver so that the msdos header file doesn't need to be included.
* [PATCH] BLOCK: Move the Ext3 device ioctl compat stuff to the Ext3 driver [try #6]: Move the Ext3 device ioctl compat stuff from fs/compat_ioctl.c to the Ext3
- driver so that the Ext3 header file doesn't need to be included.
* [PATCH] BLOCK: Move the loop device ioctl compat stuff to the loop driver [try #6]: Move the loop device ioctl compat stuff from fs/compat_ioctl.c to the loop
- driver so that the loop header file doesn't need to be included.
* [PATCH] BLOCK: Remove no-longer necessary linux/buffer_head.h inclusions [try #6]: Remove inclusions of linux/buffer_head.h that are no longer necessary due to the
- transfer of a number of things out of there.
* [PATCH] BLOCK: Remove no-longer necessary linux/mpage.h inclusions [try #6]: Remove inclusions of linux/mpage.h that are no longer necessary due to the
- transfer of generic_writepages().
* [PATCH] BLOCK: Make USB storage depend on SCSI rather than selecting it [try #6]: This makes CONFIG_USB_STORAGE depend on CONFIG_SCSI rather than selecting it,
- as selecting it makes CONFIG_USB_STORAGE override the dependencies of SCSI, causing it to turn on even if they aren't all met.
Filesystems
OCFS2
Add ext2 attributes - immutable, sync, append, noatime, dirsync - [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca4d147e62df370c334898464023aa7f9126abe1 (commit)]; implement directory read-ahead [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa9588741db907785e4d92c8b768dd6c9077e6f0 (commit)]
CIFS
Legacy time handling for Win9x and OS/2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1bd5bbcb6531776a8f73e2cc6287fc4dd542e1c7 (commit)]; support deep tree mounts (e.g. mounts to //server/share/path) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fe87f02a04ad6e7075023a87fe38eb458a4bb9d (commit)]
NFS
Add server and volume lists to /proc [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6aaca566503296a73f956908ec98173946134fe2 (commit)]
Support of rsize/wsize of up to 1MB, over TCP (the limit over UDP remains at 32K) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7adae489fe794e3e203ff168595f635d0b845e59 (commit)]
SELinux
* [MLSXFRM]: Define new SELinux service routine: This defines a routine that combines the Type Enforcement portion of
- one sid with the MLS portion from the other sid to arrive at a new sid. This would be used to define a sid for a security association that is to be negotiated by IKE as well as for determing the sid for open requests and connection-oriented child sockets.
* [MLSXFRM]: Add security context to acquire messages using PF_KEY: This includes the security context of a security association created
- for use by IKE in the acquire messages sent to IKE daemons using PF_KEY. This would allow the daemons to include the security context in the negotiation, so that the resultant association is unique to that security context.
* [MLSXFRM]: Granular IPSec associations for use in MLS environments: The current approach to labeling Security Associations for SELinux
- purposes uses a one-to-one mapping between xfrm policy rules and security associations. This doesn't address the needs of real world MLS (Multi-level System,
traditional Bell-LaPadula) environments where a single xfrm policy rule (pertaining to a range, classified to secret for example) might need to map to multiple Security Associations (one each for classified, secret, top secret and all the compartments applicable to these security levels). This patch set addresses the above problem by allowing for the mapping of a single xfrm policy rule to multiple security associations, with each association used in the security context it is defined for. It also includes the security context to be used in IKE negotiation in the acquire messages sent to the IKE daemon so that a unique SA can be negotiated for each unique security context. A couple of bug fixes are also included; checks to make sure the SAs used by a packet match policy (security context-wise) on the inbound and also that the bundle used for the outbound matches the security context of the flow. This patch set also makes the use of the SELinux sid in flow cache lookups seemless by including the sid in the flow key itself. Also, open requests as well as connection-oriented child sockets are labeled automatically to be at the same level as the peer to allow for use of appropriately labeled IPSec associations.
* [MLSXFRM]: Add security sid to flowi: This adds security to flow key for labeling of flows as also to allow
- for making flow cache lookups based on the security label seemless.
* [MLSXFRM]: Auto-labeling of child sockets: This automatically labels the TCP, Unix stream, and dccp child sockets
- as well as openreqs to be at the same MLS level as the peer. This will result in the selection of appropriately labeled IPSec Security Associations. This also uses the sock's sid (as opposed to the isec sid) in SELinux enforcement of secmark in rcv_skb and postroute_last hooks.
* [MLSXFRM]: Add flow labeling: This labels the flows that could utilize IPSec xfrms at the points the
- flows are defined so that IPSec policy and SAs at the right label can be used. The following protos are currently not handled, but they should continue to be able to use single-labeled IPSec like they currently do. ipmr ip_gre ipip igmp sit sctp ip6_tunnel (IPv6 over IPv6 tunnel device) decnet
* [MLSXFRM]: Flow based matching of xfrm policy and state: This implements a seemless mechanism for xfrm policy selection and
- state matching based on the flow sid. This also includes the necessary SELinux enforcement pieces.
* [MLSXFRM]: Add security context to acquire messages using netlink: This includes the security context of a security association created
- for use by IKE in the acquire messages sent to IKE daemons using netlink/xfrm_user. This would allow the daemons to include the security context in the negotiation, so that the resultant association is unique to that security context.
* [MLSXFRM]: Add security sid to sock: This adds security for IP sockets at the sock level. Security at the
- sock level is needed to enforce the SELinux security policy for security associations even when a sock is orphaned (such as in the TCP LAST_ACK state). This will also be used to enforce SELinux controls over data arriving at or leaving a child socket while it's still waiting to be accepted.
* [MLSXFRM]: Default labeling of socket specific IPSec policies: This defaults the label of socket-specific IPSec policies to be the
- same as the socket they are set on.
* [MLSXFRM]: Fix build with SECURITY_NETWORK_XFRM disabled.: The following patch will fix the build problem (encountered by Andrew
- Morton) when SECURITY_NETWORK_XFRM is not enabled. As compared to git-net-selinux_xfrm_decode_session-build-fix.patch in -mm, this patch sets the return parameter sid to SECSID_NULL in selinux_xfrm_decode_session() and handles this value in the caller selinux_inet_conn_request() appropriately.
Acked-by: James Morris <jmorris@namei.org>
* [PATCH] selinux: add support for range transitions on object classes: Introduces support for policy version 21. This version of the binary
- kernel policy allows for defining range transitions on security classes other than the process security class. As always, backwards compatibility for older formats is retained. The security class is read in as specified when using the new format, while the "process" security class is assumed when using an older policy format.
Acked-by: James Morris <jmorris@namei.org>
Acked-by: Eric Paris <eparis@redhat.com>
* [PATCH] selinux: enable configuration of max policy version: Enable configuration of SELinux maximum supported policy version to support
- legacy userland (init) that does not gracefully handle kernels that support newer policy versions two or more beyond the installed policy, as in FC3 and FC4.
[bunk@stusta.de: improve Kconfig help text]
Acked-by: James Morris <jmorris@namei.org>
Acked-by: Eric Paris <eparis@redhat.com>
* [PATCH] SELinux: support mls categories for context mounts: Allows commas to be embedded into context mount options (i.e. "-o
- context=some_selinux_context_t"), to better support multiple categories, which are separated by commas and confuse mount. For example, with the current code:
- mount -t iso9660 /dev/cdrom /media/cdrom -o \ ro,context=system_u:object_r:iso9660_t:s0:c1,c3,c4,exec
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Networking
* [IPV4]: Use Protocol Independant Policy Routing Rules Framework: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1ef4bf23b1ced0bf78a1c98289f746486e5c912 (commit)]
* [NetLabel]: core network changes: Changes to the core network stack to support the NetLabel subsystem. This
- includes changes to the IPv4 option handling to support CIPSO labels.
[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11a03f78fbf15a866ba3bf6359a75cdfd1ced703 (commit)] * [NetLabel]: core NetLabel subsystem: Add a new kernel subsystem, NetLabel, to provide explicit packet
labeling services (CIPSO, RIPSO, etc.) to LSM developers. NetLabel is designed to work in conjunction with a LSM to intercept and decode security labels on incoming network packets as well as ensure that outgoing network packets are labeled according to the security mechanism employed by the LSM. The NetLabel subsystem is configured through a Generic NETLINK interface described in the header files included in this patch.
* [NetLabel]: documentation: Documentation for the NetLabel system, this includes a basic overview
of how NetLabel works, how LSM developers can integrate it into their favorite LSM, as well as documentation on the CIPSO related sysctl variables. Also, due to the difficulty of finding expired IETF drafts, I am including the IETF CIPSO draft that is the basis of the NetLabel CIPSO implementation.
* [NetLabel]: SELinux support: Add NetLabel support to the SELinux LSM and modify the
- socket_post_create() LSM hook to return an error code. The most
significant part of this patch is the addition of NetLabel hooks into the following SELinux LSM hooks:
- selinux_file_permission()
- selinux_socket_sendmsg()
- selinux_socket_post_create()
- selinux_socket_sock_rcv_skb()
- selinux_socket_getpeersec_stream()
- selinux_socket_getpeersec_dgram()
- selinux_sock_graft()
- selinux_inet_conn_request()
"NetLabel'd" by labeling their socket and the NetLabel security attributes are checked via the additional hook in selinux_socket_sock_rcv_skb(). NetLabel itself is only a labeling mechanism, similar to filesystem extended attributes, it is up to the SELinux enforcement mechanism to perform the actual access checks. In addition to the changes outlined above this patch also includes some changes to the extended bitmap (ebitmap) and multi-level security (mls) code to import and export SELinux TE/MLS attributes into and out
of NetLabel.
* [NetLabel]: tie NetLabel into the Kconfig system: Modify the net/Kconfig file to enable selecting the NetLabel Kconfig
- options.
* [NetLabel]: CIPSOv4 engine: Add support for the Commercial IP Security Option (CIPSO) to the IPv4
- network stack. CIPSO has become a de-facto standard for trusted/labeled networking amongst existing Trusted Operating Systems such as Trusted Solaris, HP-UX CMW, etc. This implementation is
designed to be used with the NetLabel subsystem to provide explicit packet labeling to LSM developers.
The CIPSO/IPv4 packet labeling works by the LSM calling a NetLabel API function which attaches a CIPSO label (IPv4 option) to a given socket; this in turn attaches the CIPSO label to every packet leaving the socket without any extra processing on the outbound side. On the inbound side the individual packet's sk_buff is examined through a call to a NetLabel API function to determine if a CIPSO/IPv4 label is present and if so the security attributes of the CIPSO label are returned to the caller of the NetLabel API function.
* [NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE: Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose
- checksum still needs to be completed) and CHECKSUM_COMPLETE (for incoming packets, device supplied full checksum). Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3.
* Add the framework to support multiple IPv6 routing tables [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c71099acce933455123ee505cc75964610a209ad (commit)]
* [NETFILTER]: Get rid of HW checksum invalidation: Update hardware checksums incrementally to avoid breaking GSO.
* Extend netlink messaging interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe4944e59c357f945f81bc67edb7ed1392e875ad (commit)]
* Protocol Independant Policy Routing Rules Framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14c0b97ddfc2944982d078b8e33b088840068976 (commit)]
* [NetLabel]: CIPSOv4 and Unlabeled packet integration: Add CIPSO/IPv4 and unlabeled packet management to the NetLabel
- subsystem. The CIPSO/IPv4 changes allow the configuration of
CIPSO/IPv4 within the overall NetLabel framework. The unlabeled packet changes allows NetLabel to pass unlabeled packets without error.
* [IPV6]: Policy Routing Rules: Adds support for policy routing rules including a new
- local table for routes with a local destination.
* [NET]: Round out in-kernel sockets API: This patch implements wrapper functions that provide a convenient way
to access the sockets API for in-kernel users like sunrpc, cifs & ocfs2 etc and any future users.
Acked-by: James Morris <jmorris@namei.org>
* [IPV6]: Increase number of possible routing tables to 232: Increase number of possible routing tables to 232 by replacing iterations
- over all possible table IDs by hash table walking.
* [XFRM] STATE: Introduce route optimization mode.: Route optimization is used with routing header and destination options
- header for Mobile IPv6. At outbound it makes header space like IPsec transport. At inbound it does nothing because exhdrs.c functions have responsibility to update skbuff information for these headers.
* [IPV4]: Increase number of possible routing tables to 232: Increase the number of possible routing tables to 232 by replacing the
- fixed sized array of pointers by a hash table and replacing iterations over all possible table IDs by hash table walking.
* [DECNET]: Increase number of possible routing tables to 232: Increase the number of possible routing tables to 232 by replacing the
- fixed sized array of pointers by a hash table and replacing iterations over all possible table IDs by hash table walking.
* replace IPv4 dscp match by address family independent (x_tables) version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ba1627617d396135a4d679542a3623d5819e628 (commit)]
* replace IPv4 DSCP target by address family independent (x_tables) version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a468701db58a8b3e08e3f55fa6ac66db42014922 (commit)]
* [XFRM] POLICY: Add Kconfig to support sub policy.: Add Kconfig to support sub policy.
* [DCCP]: Introduce tx buffering [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97e5848dd39e7e76bd6077735ebb5473763ab9c5 (commit)]
* [XFRM] POLICY: sub policy support.: Sub policy is introduced. Main and sub policy are applied the same flow.
- (Policy that current kernel uses is named as main.) It is required another transformation policy management to keep IPsec and Mobile IPv6 lives separate. Policy which lives shorter time in kernel should be a sub i.e. normally main is for IPsec and sub is for Mobile IPv6. (Such usage as two IPsec policies on different database can be used, too.) Limitation or TODOs:
- - Sub policy is not supported for per socket one (it is always inserted as main). - Current kernel makes cached outbound with flowi to skip searching database.
- However this patch makes it disabled only when "two policies are used and the first matched one is bypass case" because neither flowi nor bundle information knows about transformation template size.
- - Sub policy is not supported for per socket one (it is always inserted as main). - Current kernel makes cached outbound with flowi to skip searching database.
* [IPV6] NDISC: Add proxy_ndp sysctl.: We do not always need proxy NDP functionality even we
- enable forwarding.
* [IPV6]: Add Kconfig to enable Mobile IPv6.: Add Kconfig to enable Mobile IPv6.
- Based on MIPL2 kernel patch.
* [IPV6] ADDRCONF: Mobile IPv6 Home Address support.: IFA_F_HOMEADDRESS is introduced for Mobile IPv6 Home Addresses on
- Mobile Node. The IFA_F_HOMEADDRESS flag should be set for Mobile IPv6 Home Addresses for 2 purposes. 1) We need to check this on receipt of Type 2 Routing Header (RFC3775 Secion 6.4), 2) We prefer Home Address(es) in source address selection (RFC3484 Section 5 Rule 4).
* [IPV6] KCONFIG: Add subtrees support.: This is for developers only.
- Based on MIPL2 kernel patch.
* [TCP]: make cubic the default: Change default congestion control used from BIC to the newer CUBIC
- which it the successor to BIC but has better properties over long delay links.
* [TCP]: default congestion control menu: Change how default TCP congestion control is chosen. Don't just use
- last installed module, instead allow selection during configuration, and make sure and use the default regardless of load order.
* [NETFILTER]: ebt_mark: add or/and/xor action support to mark target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b18dfa90c008850e0f3bfd63638dd8fbe8e08701 (commit)]
* [XFRM]: BEET mode: This patch introduces the BEET mode (Bound End-to-End Tunnel) with as
- specified by the ietf draft at the following link:
http://www.ietf.org/internet-drafts/draft-nikander-esp-beet-mode-06.txt The patch provides only single family support (i.e. inner family = outer family).
* [NetLabel]: add audit support for configuration changes: This patch adds audit support to NetLabel, including six new audit message
- types shown below.
- #define AUDIT_MAC_UNLBL_ACCEPT 1406 #define AUDIT_MAC_UNLBL_DENY 1407 #define AUDIT_MAC_CIPSOV4_ADD 1408 #define AUDIT_MAC_CIPSOV4_DEL 1409 #define AUDIT_MAC_MAP_ADD 1410 #define AUDIT_MAC_MAP_DEL 1411
Acked-by: James Morris <jmorris@namei.org>
- #define AUDIT_MAC_UNLBL_ACCEPT 1406 #define AUDIT_MAC_UNLBL_DENY 1407 #define AUDIT_MAC_CIPSOV4_ADD 1408 #define AUDIT_MAC_CIPSOV4_DEL 1409 #define AUDIT_MAC_MAP_ADD 1410 #define AUDIT_MAC_MAP_DEL 1411
* [PKTGEN]: DSCP support: Anyway, I've been asked to add support for managing DSCP codepoints,
so one can test DiffServ capable routers. It's very simple code and is working for me.
* [PKTGEN]: vlan support: The attached patch allows pktgen to produce 802.1Q and Q-in-Q tagged frames.
- I have used it for stress test a bridge and seems ok to me. Unfortunately I have no access to net-2.6.x git tree so the diff is against 2.6.17.13.
Acked-by: Steven Whitehouse <steve@chygwyn.com>
* [SCTP]: Enable Nagle algorithm by default.: This allows more aggressive bundling of chunks when sending small
- messages.
Crypto
Add cryptomgr, a "cryptographic algorithm manager" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b8c19dbdc692e81243a328725a02efb77b144a5 (commit)]
Add block cipher type. Unlike current cipher algorithms which operate on a single block at a time, block ciphers operate on an arbitrarily long linear area of data. As it is block-based, it will skip any data remaining at the end which cannot form a block [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cde0af2a9825dd1edaca233bd9590566579ef21 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c64097aa0f6dc4f27718ef47ca9a12538d62860 (commit)]. Also switch some cipher users to use block type [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db131ef9084110d9e82549c0a627e157e8bb99d7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cba83564d112e4aec52227f68670f8dbd4d4ac89 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69affe7fc52c14e4b81408a2076e9e58ba4af60a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1806f6a97a536b043fe50e6d8a25b061755cf50 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f12cc2090d721647c23dfce20834f4306db3b77d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28ce728a90cce3a0c6c0ed00354299de52db94b1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=378c6697a282c383d89428380a3405bf95189347 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b7326c8497f954c2cfcb4c49fe42be5b80887bc (commit)]
Support for SHA1 / SHA256 algorithms in VIA C7 processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c833275152b454d311f0e70b5e6bf028b4a2aaf (commit)], add twofish x86-64 assembly version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eaf44088ff467410dd15a033fef118888002ffe6 (commit)] and a i586 assembly version [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9f535ffe38f7eb61ac2219d32d97c377b69f70d (commit)]
CPUFREQ
* add powersave_bias tunable. ondemand selects the minimum frequency that can retire a workload with negligible idle time -- ideally resulting in the highest performance/power efficiency with negligible performance impact. But on some systems and some workloads, this algorithm is more performance biased than necessary, and de-tuning it a bit to allow some performance impact can save measurable power. This patch adds a "powersave_bias" tunable to ondemand to allow it to reduce its target frequency by a specified percent. By default, the powersave_bias is 0 and has no effect. powersave_bias is in units of 0.1%, so it has an effective range of 1 through 1000, resulting in 0.1% to 100% impact. In practice, users will not be able to detect a difference between 0.1% increments, but 1.0% increments turned out to be too large. Also, the max value of 1000 (100%) would simply peg the system in its deepest power saving P-state, unless the processor really has a hardware P-state at 0Hz:-)
* Longhaul - Disable arbiter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=179da8e6e8903a8cdb19bb12672d50dc33f0fde6 (commit)], add voltage scaling to driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db44aaf3a2f599163c53ce96658aca688b3466f0 (commit)] * Longhaul - Add ignore_latency option [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6595413fc9453a211f4b5d5cc42f0bbf3daa615b (commit)]
Drivers and other subsystems
Video
Add a simple DRM memory manager from Tungsten Graphics. This is NOT the new memory manager, this is a replacement for the SIS and VIA memory managers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a1bd924f36da202e480a0e0174b2878c0924a05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce65a44de07f73ceda1749812b75086b7add408d (commit)]
Add support for the SiS 315 to the DRM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7981bf7d494a6c4d45e22c54b0da887e5a67e705 (commit)], for Intel i965G chipsets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c29b669caae4ed1630ef479e54bdde126a0378ec (commit)], allow detection of new VIA chipsets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd5af0781aed12b9707d238c17cf55d46f9bf98d (commit)], add support to Intel 965 Express [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65c25aadfa4e917060e99fe459f33a6a07db53cc (commit)], a suspend callback for i965 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08da3f413f6aa3eb48cfc5331c68e57393167fe5 (commit)]; and vsync interrupt and i2c support for intelfb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37bced38b3d09c3de7c871790eddde81a3ce57cb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7649757bd900bc900adcd95ab08903cdc28342fa (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=399fb4316ab4fe4c46d1e4ed8b12d56c94b4c251 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a5f019b1a9ea6a75ba36d7c312ff069006ed479 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f80d0d23f2010b7682e06449345e8199a2b2619c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=183b1214402a205bf6eea2030686249c7d365fd1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1f6e8449e11fd79ee30456ce7ec973317b8dd6ae (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41c9480a1d22e8f28b8675a2d7ec7fd4c50bc900 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7627899b11ece118b46fbf652e944f9a239f6cd1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=82c10f07c2d7baf6f280f206f9067a4715777962 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ce6fb4358bce6aced489f798138795163ad3f7c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd696ec852dc34c40e2a18cc426c8f462c0715a5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c37bb26654bb8981ea237076e333eb37d4aa2dc6 (commit)]
USB
Add PlayStation 2 Trance Vibrator driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5638e4d92e7707bd037a36654f914c80ccd7161d (commit)]
Add driver for the Phidgets Inc., MotorControl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5176b413dcce85334e270021fc0d723d1714c84 (commit)]
Add AIRcable USB Bluetooth Dongle Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fe70ba2272c123cf38e4c577bf220f8bcf25366 (commit)]
Moschip 7840 USB-Serial Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3f5429746d91f21f60f68b14177c0d534d80240b (commit)]
Add basic infrastructure in usbcore for autosuspend/autoresume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=645daaab0b6adc35c1838df2a82f9d729fdb1767 (commit)]
New gmidi, a MIDI Gadget class driver - glue between the USB gadget interface and the ALSA MIDI interface [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2ebf92c9e1930a8f79b7eb49a32122931929014 (commit)]
ark3116: Add TIOCGSERIAL and TIOCSSERIAL ioctl calls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f430b4bbae7faa167730f954252eb7db4ac58dd (commit)]
asix - Add AX88178 support and many other changes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=933a27d39e0e57ba56cff2e4ebe92cf23f4cd815 (commit)]
Add support for many devices in the usbtouchscreen driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d8926658ce41b254fdfba7d057e6c9438c25cca (commit)]
Add ADU support for Ontrak ADU devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03270634e242dd10cc8569d31a00659d25b2b8e7 (commit)]
Add rio karma eject support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfe0d3ba20e860d0b9a16c4c6524180b8f93be05 (commit)]
ftdi-elan: client driver for ELAN Uxxx adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5c66e4b2418278786a025a5bd9625f485b2087a (commit)]
Input devices
Implement a new Force Feedback interface for drivers (userspace interface is untouched) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=509ca1a9383601fdc5612d3d3ba5b981f6eb6c8b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d928a2b14eede1f333db7b7b684c57f7fa7f456 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6a01c85965c9e6fa8fb893c1fa5db16130d0ccb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff462551235d8d7d843a005950bc90924fcedede (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc76c912145febae8b62746d6f93e5edae342c9d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb3caf7f438a67452f5cf4773ca1bf82260bbbad (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=224ee88fe39564358ec99b46bf3ee6e6999ae17d (commit)]
Add driver for Touchwin serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11ea3173d5f2de71d037ef58ac43395795fed2bc (commit)], another for Penmount serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee4799997950e81437ef9055a4b104099e3272c4 (commit)], another for Touchright serial touchscreens [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4003dff41e65ad338a60dde90019bffcb5531fb6 (commit)], another driver for stowaway serial keyboards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f35d0616bddf4efdfaedc5dfad2267202a3c739f (commit)]; and add support for non-pressure-sensitive touchscreens in elo driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fae3006e4b42eafbed4af714e93cf6c2b92ff793 (commit)], add support for Acer TravelMate 2424NWXCi in wistron driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb0885900de49b5822d7e8c91c1adf9a0fcc228b (commit)], and add support Microsoft Natural Elite Pro keyboards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9807879bfdc0c2b5106b4b378f5475c6a333d853 (commit)]
Sound
- HDA updates
MSI support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7376d013fc6d3a45d748e0ce758ca9412b01b9dd (commit)]
Add model entry for Samsung X10 laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a197f005a27766f5c9e0d960e7650748ec1ee4f (commit)], for Clevo m665n laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a053d012d0576e9306009939ca81a86547ef35a (commit)], support sigmatel 9205 family [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3302a59cf6961712658db63b66ea5902c17d5e1 (commit)], add model for ASUS M2NPV-VM mobo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=827a56ea3d9c3d5f80c5520ba9d487f9b7069238 (commit)], add support of Benq laptop with ALC262 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=304dcaac91f0d26543b31fd7e63726f096c826ee (commit)], add support for Sony Vaio AR 11B [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99ccc560b73ff7381153dc1391d18391373931d3 (commit)], add hp-bpc model type for HP laptops [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d177ba7839dd7ed391c2f36b121eb09d1eaee4c (commit)], add model for Uniwill laptop with ALC861 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22309c3e0c8911865cad0aa94f53a9afadaad7ee (commit)], add support for LG LW25 laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd417d4fe89638a2848980cb389b9781d4913173 (commit)], support for SigmaTel 9872 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d8590650eb81d2c869c7adf4b469071cec11eee (commit)], add 5 stack audio support for Intel 965 systems [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93ed150375187ae7917ed1e3b9b830b9d4065bad (commit)], new pci id for Nvidia MCP61 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3838ba9204cd8af83c4358379221af66d77714e (commit)], add model entry for ASUS U5F laptop: Added a model entry for ASUS U5F laptop with AD1986A codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=264e6e3b0c5af44d8975153bf0c88ccf2cb10a2f (commit)], add ATI RS690 HDMI audio support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b15c95f889c7bc43cb759c27211c597c0ad9f05 (commit)],
Add snd-mts64 driver for ESI Miditerminal 4140 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68ab801e32bbe2caac8b8c6e6e94f41fe7d687ad (commit)], and add experimental support of aggressive AC97 power-saving mode (CONFIG_SND_AC97_POWER_SAVE)- it can be turned on/off on the fly via sysfs, too [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6dbe662874ba08585eaf732d126762c25ac8e3f7 (commit)]
libata/IDE
Besides the libata/PATA changes already mentioned above, there're more changes in libata and in the old IDE subsystem: Increase lba48 max-sectors from 200 to 256 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b881b0410de0f72a43e814393abf3a4cb29ebb4 (commit)], add support for SATA attachment to SAS adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80289167fd3ebaeb7b2641e69cbec44b61165fe7 (commit)], implement Power Management support in ahci [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1332875cbe0c148c7f200d4f9b36b64e34d9872 (commit)], add SATA support for vt8237a in sata_via [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08be09b7c38a71b1677285c10a08725833ff9b95 (commit)], add CompactFlash support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b352e57dc3bb5033996adaa67c2f69b795eddd39 (commit)]
A non-libata driver for Jmicron devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bbb3bbdb0f78cb02451daf5687a99627f7ad1140 (commit)], and make number of IDE interfaces configurable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83d7dbc4095a0c314b191c573be5fb4fa6ce0897 (commit)]
V4L/DVB
V4L2 driver conversion: radio_aimslab [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46ff2c7250eece24974ddb2198421c83a69a6289 (commit)], radio_gemtek-pci [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52afbc2f4f1ab78c038bc0d56273ca68021bd3d5 (commit)], radio-rtrack2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8c559f8c066a045fb3f70bbb35f9e7c2064b8ae (commit)], radio_gemtek [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1c4ecdeec612a587e9b564839fc578f41d3049d (commit)], radio-typhoon [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30c48305ba3e785cef33ff90efcbf5d9bdc3cffe (commit)], radio_aztech [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4366af40d7d2021499b84b8311336c944a9a71c (commit)], radio-sf16fmi [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2ef73af4cd6cb46be13b11f9ce64d6b44f0350b (commit)], radio-maestro [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6055d7b1841e14ecc8c72a11490b42c85bf7bec (commit)], radio-terratec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=55ac7b690f086112ab8ac35764189269cdfae768 (commit)], radio-sf16fmr2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acda0e71857c8ec4e5348d08b53a52d35b92e6aa (commit)], radio-trust [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=982eddb911b772295d5efc11f7c2b34c7fd6e60e (commit)], radio-maxiradio [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e84fef6b4a9d36fea53354633c590a7800d9fd83 (commit)], radio-zoltrix [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2ab652993623954c7bfdadeba311d15a3e1494c0 (commit)], radio-cadet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0c7fa096623c0cfdd9d253de9d874558066cdbb (commit)], saa5246a, saa5249, vino, hexium_orion, hexium_gemini [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b23056ef373c27a3bd089b40f45f4bc74674e71c (commit)]
Multi-input patch for DVB-USB device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d43e13f723e12734257277cc38497fab1efc605 (commit)]
Add WinTV-HVR3000 DVB-T support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76dc82ab57236105285fd8520895c1404b8b952f (commit)], add support for the md8800 quadro board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eda227fc622799a543dd7606f1037e89cd9e21b (commit)], add PCI ID for AverMedia DVB-T 777 with SAA7133 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e9bfb979bab6051c125f56230bfeeefe603f99e (commit)], added PCI ID of the Genius VideoWonder Dual Cardbus [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c591947b044513bcc42dd57ea61f41b5b462d93 (commit)], add support for Shenzhen Tungsten Ages Tech TE-DTV-250 OEM for Swann PCI TV Tuner Card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2acadefa311b480864d686fb3f7e5f79737d0187 (commit)], add support for Norwood PCI TV Tuner (non-pro) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1009bd733a9324baff74611e0635e17fce4dfa2 (commit)], add initial support for Hauppauge HVR3000 trimode card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad10c930e8857585cc316e96c15f02b42020bac6 (commit)], add drivers for tda10086 + tda826x chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6bca3580c3303451b65afc98276edf40628dffe0 (commit)], add support for Acorp TV134DS + FlyDVB-S cards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2ac28fa15696d3d9dc38923438ad39fe1235ecd (commit)], add autodetection support for AverMedia M150-D [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dbaa2cb757545f8238319d55aa75cc8fabc8212 (commit)], add dvb-pll support for MT352/ZL10353 based tuners [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c162dff6437d5f66c272b1811074ee32c53d17b9 (commit)], add tda10086 support for TT DVB-S-1401 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adc619ac6e3d3b4a175476b915befe37650ee109 (commit)], add support for PAL-Nc in cx24850 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=704fd4a5672a5447a7f177838236eb13232be3c1 (commit)], add support for dibcom mod3000p + mt2060 remote control [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a841e1f6d153c72e29802a33520f2c862792f7b0 (commit)], add support Grundig DVB-T tuner for sub-system 13c2:0001 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d90ee5e0e57b67e6e5c01cb14495fb69edccbbf (commit)], add support for LeadTek DVB-T USB clone [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7357a53ef4d59724ad80560e47102e0095555b6 (commit)], add support for the Artec T14 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb25a74d49f3589c7868422ec48d219246a4fca4 (commit)], add support for the Club 3D zap250mini USB dvb device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ded38d2806b508b0b0f95581c103958949403daf (commit)], add support for saa7111 and partial support for saa7118 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89f75ffc7e97d96ea76556671446d57d77c46beb (commit)], add driver for TUA6100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00be2e7c64157c845afff56f25677da706b151b6 (commit)], add support for MT2060 and thus for some DVB-USB-devices based on it [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a16bf5d5603184dc1db88f37051881b2eeacfd17 (commit)], add Compro PS39U USB ID to Vicam driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=81409ed08a7ecc6a3da08b9b0321fd070c57a721 (commit)], add basic DVB-T and analog TV support for the HVR1300 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa481a654771217645188b64d82acfc38c2da892 (commit)], add Nebula DigiTV USB RC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=774c0de4aed4d5171e8c3cb47402265d278d2591 (commit)], add card support for Proteus Pro 2309 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b04c1baf485f4c3a25d8dbc187156030f9247cb0 (commit)], add support for DViCO FusionHDTV DVB-T Dual Digital 2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=587c03d104c418a7958f24a03ac6239ac3f2e608 (commit)], add support for Hauppauge Nova-T 500 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6958effedb0dc709966c22e7fd0e8210b5401b84 (commit)], add module for DiB0700 based devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f54910ce018f93a74211136be46c09cefd80e2 (commit)], add support for the ASUS EUROPA2 OEM board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf146ca4c2d56f275235526d9ada6c007313c7c7 (commit)]
Network drivers
New qla3xxx NIC driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a4faa873782d748960b02fdec95e3d4d2e3ae38 (commit)]
New IBM eHEA Ethernet Device Driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a291083225af6e22ffaa46b3d91cfc1a1ccaab4 (commit)]
New cirrus Logic ep93xx ethernet driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d22e05df8183b36b3cc0760344774040abc74d5 (commit)]
Improved statistics for bcm43xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4221f980a4931364be7ffd81c4f16784990f6f8b (commit)], WE-19 capabilities for prism54 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab411f1e850af5acbd6ef278f4e669250f71915 (commit)], AL7230B RF support, implement SIOCGIWNICKN and add LED support for zd1211rw [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec62bd91bbb58254dfddca3d290f5fe4aa1cb769 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=089f99d8ac398905f6dc75dd2ce5796ced5dd943 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=583afd1e4f25c87000c85ad7d03f5299fd4155dc (commit)], mac address change support, basic MII ioctl support and hardware flow control for r8169 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a2b98a697fa4e7564f78905b83db122824916cf9 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f787a1aca3705bdc6adbda36f8d6446380e85a6 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=623a1593c84afb86b2f496a56fb4ec37f82b5c78 (commit)], enable wireless extension passive scan for ipw2200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=094c4d2df6c17a37d9e1b88601990ab660c00c3e (commit)], add ethtool -S support for spidernet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b6b0b81f0de6a17ce57c818d1f403253c200e1f (commit)], NAPI implementation for pcnet32 and forcedeth [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e27cdba53b8ad5c12c9281b3737e07f2a536c3a2 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7de745e56244156233e5cdd62b462e52e638d408 (commit)]; and delete GT96100 driver - hasn't even compiled for years [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff2a2e0172fd11b1bfb9b45ee1b996d3f10669af (commit)]
WE-21 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baef186519c69b11cf7e48c26e75feb1e6173baa (commit)] and support for hostap [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9fb08363f1f6d360dbaf6d7f51b9e7ca07c05ecd (commit)], atmel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a484db472e77218252025d31d4ef96dbc11ada9 (commit)], ipw2100 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b63bae0ab750942e84bfb9b353e6222583457a2 (commit)], prism54 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bad04f2ce00da5aaa6c8e97b1b80ad2ebd755b8b (commit)], orinoco [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eeec9f1a931262d69811135092c8447d6dccc3e6 (commit)], airo [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7f8544cc95c7f521847fa760ce38d932e6ab4542 (commit)], wl3501 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de9621bc5637be5f9e3e3ff2fc1475b3de41132e (commit)], zd1211rw [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6082f4032a9667e844fecd974f17268249fb966 (commit)], bcm43xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b978d0278c3a4c41bda806743c6ef5dca86b4c61 (commit)], ray_cs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ced38ac48137e1928dd40de3cdc074ec31c059d (commit)], ipw2200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=919ee6ddcd3fcff09dee90c11af17a802196ad1f (commit)], zd1201 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22b99262f59ddf5d283e19047e37dbc3be907e93 (commit)]
SCSI drivers
New aic94xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2908d778ab3e244900c310974e1fc1c69066e450 (commit)]
New arcmsr driver for the Areca Raid controller [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c57e86d75cf162bdadb3a5fe0cd3f65aa1a9ca3 (commit)]
Add Promise SuperTrak driver, supporting SuperTrak EX8350/8300/16350/16300 controllers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a25ba1677ab8d63890016a8c1bca68a3e0fbc7d (commit)]
Initial Commit of qla4xxx, a open-iSCSI driver for Qlogic Corporation's iSCSI HBAs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afaf5a2d341d33b66b47c2716a263ce593460a08 (commit)]
SCSI and FC Transport: add netlink support for posting of transport events [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84314fd4740ad73550c76dee4a9578979d84af48 (commit)]
qla2xxx: Add support for fabric name FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90991c85d398fd46b2b07440b5639eb50dfacb2b (commit)], add support for system hostname FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a740a3f0407ed3344b28b05926b0ce61768e9893 (commit)], add support for host port state FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7047fcddb1bc96a80fc54ac3a88ea18ca3ae77f6 (commit)], add support for symbolic nodename FC transport attribute [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1620f7c2d8e3fdd7dba04bfe5f9c42201eef1188 (commit)], add iIDMA (Intelligent Interleaved Direct Memory Access) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8b4521349274ab610d0b29384c704444e55cbca (commit)]
Various drivers
* [MTD] physmap: add power management support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17c2dae3aaff9b1e5d83996a5f098ad693f3aeca (commit)]
* [MTD] Remove iq80310 map driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e417fcfb857b809e5dabc9b252ad70f090d553d1 (commit)]
* [MTD] Add SSFDC (SmartMedia) read-only translation layer [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51197abf29657373bcf9803d87da3c3d8fc3a37e (commit)]
* AVR32 MTD: Static Memory Controller driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc157b75960f1f33566074e820342690216629b9 (commit)]
* AVR32 MTD: AT49BV6416 platform device for ATSTK1000 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2514183dff2d5282cb745af34f56d1b98e5b2df8 (commit)]
* RDMA: iWARP Connection Manager [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=922a8e9fb2e0711212badce47a41137e2ca04cb3 (commit)], add a driver for the Ammasso 1100 gigabit ethernet RNIC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f94b533d091a42da92d908eb7b3f9ade1923f90d (commit)], add driver for IBM eHCA InfiniBand adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fab97220c9e409a98b1956ba677ddd2dd43b0b95 (commit)], performance improvements via mmap of queues [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=373d9915803aebbbf7fd3841efd9dac31c32e148 (commit)], support revision 2 InfiniPath PCIE devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c9446a1d63f1ca570e92f89422595732efedf44 (commit)], support new PCIE device, QLE7142 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf3258ec418a008ab4672787ebff2c5837dd1e69 (commit)], driver support for userspace sharing of HW contexts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9929b0fb0f35f54371e9364bab809bcd753f9d3a (commit)]
* rtc: New RTC driver for SuperH On-Chip RTC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=317a6104a99f87c0b35c0d9f19ec23ee7429b33e (commit)]
* hwmon: Add fan speed control features to w83627ehf [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c79950a047dbaccf05d70a203db2ee75ac3bd8 (commit)]
* it87: Add support for the IT8718F [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87673dd735b8e089b7f2830edd353aa5f5e743ad (commit)]
* it87: Add support for the IT8716F [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17d648bf5786ba5b8cbf7cbd5cb18d3d8d2657ca (commit)]
* [TG3]: Add 5709 self-test support.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b16250e3d1c55820f08f0296624a423122ea9805 (commit)]
* hwmon: Add support for the temperature sensor(s) found in AMD K8 CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29fa06c1292f473ae51a84f55c8fe22179bc1080 (commit)]
* abituguru: Add suspend/resume support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=360b9ab220aedaf346380fc2344729d9acc3b075 (commit)]
* [TG3]: Add basic 5906 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5d3772ccbe0bc5ac8ffbb5356b74ca698aee28c (commit)]
* hwmon: New driver for the VIA VT1211 Super-IO chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab41319eab3b5e600873dc77dff7756970424ca6 (commit)]
* hwmon: Add individual alarm files to f71805f, lm63, lm83 and lm90 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d45771e6ea79f56a7d85e448f702f60ef86c228 (commit)]
* [TG3] Add support for the 5709 10/100 PHY [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=715116a12610b67c1d301a9b845ce95f7247dad3 (commit)]
* atiixp: ATI SB600 IDE support for various modes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b33b4dcbe5e09e683eef281f72aef951e17061c (commit)]
* hdaps: support Lenovo ThinkPad T60 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=710b8b5f4341e72a5f5f6fa58d1f73a0db64bf93 (commit)]
* cciss: support for >2TB logical volumes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00988a3514bbc0cce781c067cf52559741d88b80 (commit)]
* synclink_gt: add bisync and monosync modes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb10dc9ac7eea2c891df6b79b9ef1fbe59cb5429 (commit)]
* e1000: add multicast stats counters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49559854c9ea6d6950631d558d33faff49fa74f3 (commit)]
* au1100fb: Add option to enable/disable the cursor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca27ac4cc6caa73740122a5f3d601c8a27b89e7c (commit)]
* fbdev: Add generic ddc read functionality [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc5891c8a3ba284f13994d7bc1f1bfa8283982de (commit)] and port drivers to use it: nvidiafb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=346bc21026e7a92e1d7a4a1b3792c5e8b686133d (commit)], savagefb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=946c4eab86cc67dac6021b56f45495f59b3970b4 (commit)], i810fb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80987f8db7b9c33089bb395ed54cb96d55eae04 (commit)], radeonfb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a45093b7caa9d3d5421274b4ba80fba5da17e19 (commit)], rivafb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf5df0a2c54c2dc0fad619ac25d029119023610a (commit)]
* dm: support ioctls on mapped devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa129a2247b164173d45da8ad43cca5de9211403 (commit)] * [WATCHDOG] iTCO_wdt (Intel TCO Timer) driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e0ea345ff542320882caa21ec2248e6c02d8b91 (commit)]
* [WATCHDOG] w83697hf WDT driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9a8c8913a95aed91bfa81f7d4043c6430423bf8 (commit)]
* [WATCHDOG] Winbond SMsC37B787 watchdog driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=485ae77dc7f484563707557ccf8c5d228980619f (commit)]
* i2c: New bus driver for TI OMAP boards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=010d442c4a295a73e90e93c5e42579cee61c5cc7 (commit)] * i2c-viapro: Add support for the VT8237A and VT8251 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c243353a90fae3a9a85d2bd79b1df06bb21c568a (commit)]