4060
Comment: introduce libata based PATA drivers
|
128497
COMPLETE. Now it just needs cleanups
|
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, nobody oposes to it, and everyone is happy, there're no flames or accusations anywhere. Amazing, isn't? In fact, 3 new filesystems are being merged in 2.6.19. [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 === EXT 4 is a evolution (not a redesign) of EXT3 [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 34: |
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 37: |
* 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 == === Arch-independent changes in the kernel core === * Kbuild infrastructure: Add a new 'make headers_install_all' target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d71627581e96efb3717960b79fc2167a4617977 (commit)] and add a 'V=2 make' environment option, which prints why a target is rebuilt during the compile [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45d506bd65e2e35881d8276c111b647807823d19 (commit)] * Sofware suspend: Add a swsusp debugging mode [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b918f6e62cd46774f9fc0a3fbba6bd10ad85ee14 (commit)], 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)] and switch the swsusp writeout code from 4k-at-a-time to 4MB-at-a-time for faster 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)] * Memory management: * 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)] * 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) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ff38490c836dc379ff7ec45b10a15a662f4e5f6 (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)] and in the profiling code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbd98167e653535c5816be154f2149c0efa7757d (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)]; add per-zone writeout counter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e129b5c23c2b471d47f1c5d2b8b193fc2034af43 (commit)] * Introduce a architecture-independent mechanism for registering active regions of memory. The big benefit of this set of patches is a sizable reduction of architecture-specific code, some of which is very hairy. In this release x86, x86-64, ia64 and power platforms are ported to use this generic code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c713216deebd95d2b0ab38fef8bb2361c0180c2d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05e0caad3b7bd0d0fbeff980bca22f186241a501 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e0b864e069c52a7b3e4a7da56e29b03a012fd75 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb01439c5b778d5974a488c5d4fe85e6d0e18a68 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c7cd6877cf8db15269163deda69392263124c1e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c67c3cb4c99fb2ee63c8733943c353d745f45b84 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cfee88ad30acc47f02b8b7ba3db8556262dce1e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05e0caad3b7bd0d0fbeff980bca22f186241a501 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cb248abf5ab65ab543b2d5fc16c738b28031fc0 (commit)] * Block layer * Allow file systems to differentiate between data and meta reads, so that the kernel can use this information for making more intelligent priority decisions and for blktrace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5404bc7a87b9949cf61e0174b21f80e73239ab25 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=374f84ac39ec7829a57a66efd5125d3561ff0e00 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caa38fb0f481a3cb732b115cb59bfa6b59b6daaf (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7457e6e2d7406c7009e9ad03db1335fe93b5fb71 (commit)] * Make it possible to disable the block layer. Not all embedded devices require it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require the block layer to be present [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9361401eb7619c033e2394e4f9f6d410d6719ac7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d7513a8a54e4210d358ff1dbd34daab99a6638 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf9a2ae8d49948f861b56e5333530e491a9da190 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d67a46df0125e20d14f12dbd3646f1f1bf23e8c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b398f6bff93a247d2a7099e92905374966e4558f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=811d736f9e8013966e1a5a930c0db09508bdbb15 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07f3f05c1e3052b8656129b2a5aca9f888241a34 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=831058dec3735665fe91bd0d37b6a8cf56b91abd (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b0de42d7c5a471741ede4e71727d88000e6ea59 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65e6f5bc8149165efb9d7bdbd142bb837d5edfeb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b71e8a4ce03b3098c7801ee5e6e08d1a39a226c2 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36695673b012096228ebdc1b39a6a5850daa474e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52b499c438ff60991eb3855ca090782569b3e8cf (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e322ff07fb2d0f05c02d85e7c6b30d23f308c20f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=188f83dfe0eeecd1427d0d255cc97dbf7ef6b4b7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52a700c5675f399c07e6e57328291e57f13ef3bb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=863d5b822c02d0e7215fb84ca79e9f8c3e35f04e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d366e40a1cabd453be6e2609caa7e12f9ca17b1f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cb50dc2eaeddb0bc20bc4cd108c4fec99f5045a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65934a9a028b88e83e2b0f8b36618fe503349f8e (commit)] * Various * Add the pm_trace attribute in /sys/power which has to be explicitly set to one to really enable the "PM tracing" code compiled in when CONFIG_PM_TRACE is set (which modifies the machine's CMOS clock in unpredictable ways) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5c6ba4e08ab9c9e390a0f3a7d9a5c332f5cc6ef (commit)] * Make it possible to disable console suspending (CONFIG_DISABLE_CONSOLE_SUSPEND) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8eb8b4025175f967af0ba8e933f23aa9954dc35 (commit)] * Driver core: create devices/virtual/ tree [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c205ef4880273d2de4ee5388d4e52227ff688cc4 (commit)] * Driver Core: add ability for drivers to do a threaded probe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d779249ed4cb3b50690de6de8448829d65a1cd08 (commit)] * enable driver multi-threaded probe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f397f865076e3471ec884ee73ad5e34165fac2a (commit)] * PCI-Express AER (Advanced Error Reporting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47402400c6496dd114463deb3a2ba2d64055284e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c2b374d74857e892080ee726184ec1d15e7d4e4 (commit)] * Single bit flip detector. In cases where we detect a single bit has been flipped, we spew the usual slab corruption message, which users instantly think is a kernel bug. In a lot of cases, single bit errors are down to bad memory, or other hardware failure, so suggest users to run memtest86 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa83aa40ed2ae113d9ee5529cdd9e8c0e5fabe61 (commit)] * lockdep: core, add enable/disable_irq_irqsave/irqrestore() APIs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8106b941ceab68cc5ff713df7b1276484554584 (commit)] * Add infrastructure to track "maximum allowable latency" for power saving policies. The reason for adding this infrastructure is that power management in the idle loop needs to make a tradeoff between latency and power savings (deeper power save modes have a longer latency to running code again). The code that today makes this tradeoff just does a rather simple algorithm; however this is not good enough: There are devices and use cases where a lower latency is required than that the higher power saving states provide. An example would be audio playback, but another example is the ipw2100 wireless driver that right now has a very direct and ugly acpi hook to disable some higher power states randomly when it gets certain types of error. The proposed solution is to have an interface where drivers can 1) announce the maximum latency (in microseconds) that they can deal with 2) modify this latency 3) give up their constraint [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c87579e65ee4f419b2369407f82326d38b5d2d8 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9442e691e4aec85eba43ac60a3e77c77fd2e73a4 (commit)] * Generic boolean. The kernel hackers have finally surrended at it. $DEITY help us! ;) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21828743247270d09a86756a0c11702500dbfb (commit)] * Directed yield: cpu_relax variants for spinlocks and rw-locks. On systems running with virtual cpus there is optimization potential in regard to spinlocks and rw-locks. If the virtual cpu that has taken a lock is known to a cpu that wants to acquire the same lock it is beneficial to yield the timeslice of the virtual cpu in favour of the cpu that has the lock (directed yield) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef6edc9746dc2bfdacf44eefd5f881179971c478 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdc39363d33506b0e067d41fc91f89d186bdf7f7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c1fcfe229e99752c74efb945a4a3f560be04204 (commit)] * Generic ioremap_page_range [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74588d8ba34ff1bda027cfa737972af01ab00c8b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db71daabad0821996483dfe309c4bc81d6755a70 (commit)]; cris [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e32cbc3df44838cc93a679aca3561f75b4964c57 (commit)], alpha [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=801f92ad5a0c630646f6746f3ed1663fcab185d1 (commit)], mr32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9540fc42305859705b0232a10c8dec3ad866bd40 (commit)], avr32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86c8eb360daa6286e3f9bd32a22e5d9c69e86dd1 (commit)], x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16c564bb3cdecbc39eab5c0de3fe94ed58ba4163 (commit)], i386 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a148ecfdf04d5fcb840324eef45d63ed674c73b9 (commit)] * EISA bus MODALIAS attributes support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07563c711fbc25389e58ab9c9f0b9de2fce56760 (commit)] * Add vector AIO support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed4e51fb60c3863c134a5e9f6006b29805ead97 (commit)], vectorize aio_read/aio_write fileop methods [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=027445c37282bc1ed26add45e573ad2d3e4860a5 (commit)], remove readv/writev methods and use aio_read/aio_write instead [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee0b3e671baff681d69fbf0db33b47603c0a8280 (commit)], streamline generic_file_* interfaces and filemap cleanups [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=543ade1fc901db4c3dbe9fb27241fb977f1f3eea (commit)] * Debug variants of linked list macros [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=199a9afc3dbe98c35326f1d3907ab94dae953a6e (commit)] * list_del debug check [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df89a864631f5d840f4873c4c03733b4206e78ea (commit)] * add CONFIG_ENABLE_MUST_CHECK [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cebc04ba9aeb3a646cc746300421fc0e5aa4f253 (commit)] * csa: This patch is to change those ifdef's from CONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f0ab5147951267134612570604cf8341901a80c (commit)] csa: basic accounting over taskstats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3cef7a99469afc159fec3a61b42dc7ca5b6824f (commit)] csa: Extended system accounting over taskstats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9acc1853519a0473620d424105f9d49ea5b4e62e (commit)] csa accounting taskstats update [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db5fed26b2e0beed939b773dd5896077a1794d65 (commit)] * Support piping into commands in /proc/sys/kernel/core_pattern [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d025c9db7f31fc0554ce7fb2dfc78d35a77f3487 (commit)] * Linux Kernel Dump Test Module, a simple module to test Linux Kernel Dump mechanism that allows users to crash their kernel in different ways. Linux is getting so good, we need a kernel module to remember the old days [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bb31b9d5340ed3dfef45d322f59fcf18a0d598b (commit)] * kconfig/menuconfig: lxdialog is now built-in: lxdialog was previously called as an external program causing screen to flicker when used. With this patch lxdialog is now built-in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2982de6993e6d9944f2215d7cb9b558b465a0c99 (commit)], add support for color themes and add blackbg theme [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=458972132a705c4a869002354f7f10f395d08c18 (commit)], add a new theme bluetitle which is now default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=350b5b76384e77bcc58217f00455fdbec5cac594 (commit)], support resize [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8dc68ad0fbd934e78e913b8a8d7b45945db4930 * srcu-3: RCU variant permitting read-side blocking [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=621934ee7ed5b073c7fd638b347e632c53572761 (commit)] * [PATCH] Add SRCU-based notifier chains [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eabc069401bcf45bcc3f19e643017bf761780aa8 (commit)] * Implement the epoll_pwait system call, that extend the event wait mechanism with the same logic ppoll and pselect do. The definition of epoll_pwait is: int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsize); [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b611967de4dc5c52049676c4369dcac622a7cdfe (commit)] * Add a dynamic irq creation API. With the msi support comes a new concept in irq handling, irqs that are created dynamically at run time. To solve the basic dynamic irq allocation problem two new architecture specific functions are added: create_irq and destroy_irq [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a16d713626735f3016da0521b7bf251cd78e836 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fc471ede99579211c44b6a64829c4318976990f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cf2583ba026ca563ff8b15805fcf30b8e192a7 (commit)] * dm: add target preresume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8757b7764f13e336f3c0eb1f634440d4ee4c3a67 (commit)]. * md: the scheduled removal of the START_ARRAY ioctl for md [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbedac04fa11d7f9f9f425c7ec253f55becaae57 (commit)] * dm linear: support ioctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab17ffa440cb54ca64111fa4922ba12496fcc8af (commit)] * dm mpath: support ioctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9af4aa30b713a58e5952045f52c41a6e3baa2fdc (commit)] * dm: add uevent change event on resume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8560ed6fa8d43537af558514fa48f670b3349f08 (commit)] * dm crypt: add key msg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e48d4bbf9697f4fee4f4e48c5e2586b332809519 (commit)] * md: new sysfs interface for setting bits in the write-intent-bitmap [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b1d1dac181d8c1b9492e05cee660a985d035a06 (commit)] (commit)] * NOMMU: make futexes work under NOMMU conditions [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930e652a21a08986b03d1f370f933057dc0db2dc (commit)], implement /proc/pid/maps for NOMMU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dbf8685c8e21404e3a8ed244bd0219d3c4b89101 (commit)], make mremap() partially work for NOMMU kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6fa5f80bc34da1a49b42117602b44441402cac2f (commit)] * kdump: introduce "reset_devices" command line option. This option can be used by drivers to know that user forcibly wants the devices to be reset during initialization [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e96287ddc4f42081e18248b6167041c0908004c (commit)] * LSM: remove BSD secure level security module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bc1fa8ae18f281b40903cce94baba10c3cf9d88 (commit)] * Introduce kmemdup [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a2f67b459bb7846d4a15924face63eb2683acc2 (commit)] * NTP: Convert to the NTP4 reference model [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f19923937321244e7dc334767eb4b67e0e3d5c74 (commit)] * Create a call_usermodehelper_pipe() function that allows to pipe data to the stdin of the called user mode program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e239ca540594cff00adcce163dc332b27015d8e5 (commit)] * namespaces: move the mount namespace into the nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1651e14e28a2d9f446018ef522882e0709a2ce4f (commit)] * namespaces: utsname: Replace references to system_utsname to the per-process uts namespace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9ff3990f08e9a0c2839cc22808b01732ea5b3e4 (commit)] * namespaces: utsname: use init_utsname when appropriate [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96b644bdec977b97a45133e5b4466ba47a7a5e65 (commit)] * namespaces: utsname: Sysctl uts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8218c74c02a7bdb5db2e40a2100534bdeb83475b (commit)] * nsproxy: move init_nsproxy into kernel/nsproxy.c [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0437eb594e6e5e699248f865482e61034be846d0 (commit)] * namespaces: exit_task_namespaces() invalidates nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fab413a334a7b3dd2688c5cd5d4718476e430ea4 (commit)] * namespaces: utsname: implement CLONE_NEWUTS flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=071df104f808b8195c40643dcb4d060681742e29 (commit)] * namespaces: utsname: remove system_utsname [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00 (commit)] * namespaces: utsname: implement utsname namespaces [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4865ecf1315b450ab3317a745a6678c04d311e40 (commit)] * namespaces: add nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab516013ad9ca47f1d3a936fa81303bfbf734d52 (commit)] * namespaces: utsname: introduce temporary helpers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0bdd7aab7f0ecd5d337910816aa058c18398628e (commit)] * uts: copy nsproxy only when needed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0b2fc316599d6cd875b6b8cafa67f03b9512b4d (commit)] * IPC namespace core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25b21cb2f6d69b0475b134e0a3e8e269137270fa (commit)] * IPC namespace - msg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e78693738b71da037d0df340f38e919e8227c2b (commit)] * IPC namespace - utils [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73ea41302bab5e02c9e86ab15c509494a550f1db (commit)] * IPC namespace - shm [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e9823111bdc76127b17fc70dc57f584fd7dd34c (commit)] * IPC namespace - sysctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcfbd547b1209aae9d880fe5db33464413925cc8 (commit)] * IPC namespace - sem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e38935341a3105471848220b5750e1ea8722d197 (commit)] * Define struct pspace: Define a per-container pid space object [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fbc96486459324e182717b03c50c90c880be6ec (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa5a6662f93f52605b6c447ba6f7291e92f515c5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f40f50d3bb33b52dfd550ca80be7daaddad21883 (commit)] * 32-bit compatibility HDIO IOCTLs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39484e53bb00f55b6303a908070db133608ef2a5 (commit)] * introduce kernel_execve, the use of execve() in the kernel is dubious, since it relies on the __KERNEL_SYSCALLS__ mechanism that stores the result in a global errno variable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6760856791c6e527da678021ee6a67896549d4da (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe74290d51bc08e9b90ed7c145d74a22cd50b90e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=821278a75d270048e291fcbec9304439a176ba88 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=135ab6ec8fdad6f61aabe53f456821baf4a4aa0e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3db03b4afb3ecd66a0399b8ba57742ca953b0ecd (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f4c6bc1f369f20807a8e753c2308d1629478c61 (commit)] * IRQ: Maintain regs pointer globally rather than passing to IRQ handlers : Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d12e780e003f93433d49ce78cfedf4b4c52adc5 (commit)] * [PATCH] paravirt: pte clear not present: Change pte_clear_full to a more appropriately named pte_clear_not_present, allowing optimizations when not-present mapping changes need not be reflected in the hardware TLB for protected page table modes. There is also another case that can use it in the fremap code. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9888a1cae3f859db38b9604e3df1c02177161bb0 (commit)] * [PATCH] paravirt: lazy mmu mode hooks.patch: Implement lazy MMU update hooks which are SMP safe for both direct and shadow page tables. The idea is that PTE updates and page invalidations while in lazy mode can be batched into a single hypercall. We use this in VMI for shadow page table synchronization, and it is a win. It also can be used by PPC and for direct page tables on Xen. For SMP, the enter / leave must happen under protection of the page table locks for page tables which are being modified. This is because otherwise, you end up with stale state in the batched hypercall, which other CPUs can race ahead of. Doing this under the protection of the locks guarantees the synchronization is correct, and also means that spurious faults which are generated during this window by remote CPUs are properly handled, as the page fault handler must re-check the PTE under protection of the same lock. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6606c3e0da5360799e07ae24b05080cc85c68e72 (commit)] * [PATCH] paravirt: update pte hook: Add a pte_update_hook which notifies about pte changes that have been made without using the set_pte / clear_pte interfaces. This allows shadow mode hypervisors which do not trap on page table access to maintain synchronized shadows. It also turns out, there was one pte update in PAE mode that wasn't using any accessor interface at all for setting NX protection. Considering it is PAE specific, and the accessor is i386 specific, I didn't want to add a generic encapsulation of this behavior yet. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=789e6ac0a7cbbb38402293256a295302fd8a1100 (commit)] * [PATCH] paravirt: kpte flush: Create a new PTE function which combines clearing a kernel PTE with the subsequent flush. This allows the two to be easily combined into a single hypercall or paravirt-op. More subtly, reverse the order of the flush for kmap_atomic. Instead of flushing on establishing a mapping, flush on clearing a mapping. This eliminates the possibility of leaving stale kmap entries which may still have valid TLB mappings. This is required for direct mode hypervisors, which need to reprotect all mappings of a given page when changing the page type from a normal page to a protected page (such as a page table or descriptor table page). But it also provides some nicer semantics for real hardware, by providing extra debug-proofing against using stale mappings, as well as ensuring that no stale mappings exist when changing the cacheability attributes of a page, which could lead to cache conflicts when two different types of mappings exist for the same page. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23002d88be309a7c78db69363c9d933a29a3b0bb (commit)] * [PATCH] paravirt: combine flush accessed dirty.patch: Remove ptep_test_and_clear_{dirty|young} from i386, and instead use the dominating functions, ptep_clear_flush_{dirty|young}. This allows the TLB page flush to be contained in the same macro, and allows for an eager optimization - if reading the PTE initially returned dirty/accessed, we can assume the fact that no subsequent update to the PTE which cleared accessed / dirty has occurred, as the only way A/D bits can change without holding the page table lock is if a remote processor clears them. This eliminates an extra branch which came from the generic version of the code, as we know that no other CPU could have cleared the A/D bit, so the flush will always be needed. We still export these two defines, even though we do not actually define the macros in the i386 code: #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY The reason for this is that the only use of these functions is within the generic clear_flush functions, and we want a strong guarantee that there are no other users of these functions, so we want to prevent the generic code from defining them for us. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e4df5bae333a06cd2c9b88baf14432652dc9f7 (commit)] * [PATCH] paravirt: remove set pte atomic: Now that ptep_establish has a definition in PAE i386 3-level paging code, the only paging model which is insane enough to have multi-word hardware PTEs which are not efficient to set atomically, we can remove the ghost of set_pte_atomic from other architectures which falesly duplicated it, and remove all knowledge of it from the generic pgtable code. set_pte_atomic is now a private pte operator which is specific to i386 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a93cb055a23f3172c1e6a22ac1dc4f1c07929b08 (commit)] * [PATCH] paravirt: remove read hazard from cow: We don't want to read PTEs directly like this after they have been modified, as a lazy MMU implementation of direct page tables may not have written the updated PTE back to memory yet. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3dc907951446b9317b1887223caa4e083390de9f (commit)] * [PATCH] paravirt: optimize ptep establish for pae: The ptep_establish macro is only used on user-level PTEs, for P->P mapping changes. Since these always happen under protection of the pagetable lock, the strong synchronization of a 64-bit cmpxchg is not needed, in fact, not even a lock prefix needs to be used. We can simply instead clear the P-bit, followed by a normal set. The write ordering is still important to avoid the possibility of the TLB snooping a partially written PTE and getting a bad mapping installed. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6d861e3c963b4077c83e078e3e300c4b81f93e7 (commit)] * schedule removal of FUTEX_FD [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19c6b6ed3f597a583f58e3fc99256cc01ae8c394 (commit)] === Architecture-specific changes === ==== x86 32/64 ==== * Add SMP support on x86_64 and i386 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2802e7f571c05f9a901b1f5bd144aa730ccc88e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7471c6da94d30d3deadc55986cc38d1ff57f9ca (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 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)] * Add ability 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)] * 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)] * 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)] * 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)] * x86: Add portable getcpu call [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cfc348bf90ffaa777c188652aa297f04eb94de8 (commit)] * 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)] * 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)] * Enable memory hot-add in x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4942e998b40b8f6080930ec16442444e9930aee5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c2676a5870ab15cbeea9f826266bc946fe3cc26 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec69acbb1191df671ff8e07c8e146619a5c53f70 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53947027ad90542ddb2bb746e3175827c270610a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f28c5edc06ecd8068b38b7662ad19f4d20d741af (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71efa8fdc55e70ec6687c897a30759f0a2c2ad7e (commit)], [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)] * enable VMSPLIT for highmem kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=753b9f86e7aef76c2beda32668ce528f90cb1733 (commit)] * Add a bootparameter to reserve high linear address space [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=461a9afff5e731d6337c0f5b08a1e727ccd57e0a (commit)] * Allow compiling the kernel with the -fstack-protector GCC option. You need a GCC 4.2 compiler [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4254058037eb172758961d0a5b94f4320a1425 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b62a5c740df1e3d49a97349fce0c6a23f633d7fe (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3162f751d04086a9d006342de63ac8f44fe0f72a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f7fd4d7a79193ceda4ce77f75e22917d33fa154 (commit)] * 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 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. So 2.6.19 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) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e07e23e1fd3000289fc7ccc6c71879070d3b19e0 (commit)] * x86: Allow disabling early pci scans with pci=noearly or disallowing conf1 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0637a70a5db98182d9ad3d6ae1ee30acf20afde9 (commit)] * x86 microcode: add sysfs and hotplug support [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)] ==== 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)] ==== 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)] * Implement the special memory driver (mspec, formerly known as fetchop) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17a3b05047119b7fc72ef03962e202becc659579 (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)] * Lockdep support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1df0f0ff7e56f6dcb1351b9490d55ebf91ff4bd8 (commit)] * Add support for little endian on the virtual QEMU mips platform [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8cc9618c55a341dda39357cce5ff39f7ad17132 (commit)] * Remove IT8172-based platforms [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af8b128719f5248e542036ea994610a29d0642a6 (commit)] ==== SPARC ==== * Add sparc 32 bit profiling support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9550e59c4587f637d9aa34689e32eea460e6f50c (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)]. === Filesystems === * FAT: Add "-o flush" mount option for fat for removable media devices (USB flash-based memory devices, MP3 players). Mounting with -o flush tells FAT to write things to disk as quickly as possible. It is like -o sync, but much faster (and not as safe). Think of it like a fast "async" mount [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae78bf9c4f5fde3c67e2829505f195d7347ce3e4 (commit)] * EXT3/EXT2: Fix mounts at 16T [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41f04d852e359582518f950d12b2287766613022 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=855565e81ad8940cc645b5110ec2c7f124a76d23 (commit)] * REISER * On-demand bitmap loading - speeds up mounting speed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5065227b46235ec0131b383cc2f537069b55c6b6 (commit)] * Eliminate minimum window size for bitmap searching; improves the allocator in some corner-cases [ttp://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ea0f9499d15c49df23e7aac4332d830c40e12d0 (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)] * JFS: Add splice support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89f68225876db7df638de2884b561facb1870239 (commit)] * 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)] * NFS * 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)], 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)], allow admin to set nthreads per node in /proc/fs/nfsd/pool_threads [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed2965af1bae30f746e936d80ad4fabb9e208c8 (commit)], make rpc threads pools numa aware [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfd241600a3b0db4fe43c859f1460d0a958d924a (commit)] * TMPFS: access control lists for tmpfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39f0247d3823e4e0bf8f6838a10362864b1e1053 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0c8bd164e1a0585d7e46896553136b4f488bd19 (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 [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 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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ca7768c87ac1393228857d576654f7e84c8cee6 (commit)], allow pktgen to produce 802.1Q and Q-in-Q tagged frames [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34954ddc4f3e790fb6d5ed331513f54b38713234 (commit)] * [SCTP]: Enable Nagle algorithm by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=208edef6a5b6c50363c77efcf34c4b4020681029 (commit)] * [TIPC]: Added subscription cancellation capability [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb409460b1abec0e2a1f9c9d07019f4157a6d6bc (commit)], add support for Ethernet VLANs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a8d12142eab420ffcbbf3d1d2e637158e85aab8 (commit)], added duplicate node address detection capability [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e91ed0bcdfc4812c0342d64281ee985213df07c3 (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)] * add serial mos7720 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f64478cbc7a008fe7b7e9ae79a73d8a6904ead8 (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)], 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=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)], let non-admin users to query network statistics and settings [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75f3123c118743f52b690d9ab41649814befda0a (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)] * OMAP: Add Watchdog driver support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7768a13c252a97e13a552f88f642962768de1fa4 (commit)] * OMAP: Add keypad driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad4e09b16ad361c15bd7186dcd118cb901089b97 (commit)] * Create a driver to support the platform-specific features of MSI S270 laptops backlight, wlan, bluetooth states [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c4c731a89ea6458001f48033f8988447736fb38 (commit)] * asus_acpi: W3000 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=288f3ad406460f03642a41bb945826891a7b866f (commit)] * Remove old drivers/char/s3c2410_rtc.c, since there is now a drivers/rtc/rtc-s3c.c driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d202a6c0883cf17a4a6e61a12e138598ec3ed32d (commit)] * IPMI: per-channel command registration [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c69c31270c35a6b8421a8e4ba81de1247ac6df95 (commit)] * mmc: driver for TI FlashMedia card reader [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4020f2d7f0b0e68b92bec9a3e1f4a54a7a9dc672 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9565129993446e16678cfc4d9c7f3b7e75eecbd] |
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, nobody oposes to it, and everyone is happy, there're no flames or accusations anywhere. Amazing, isn't? In fact, 3 new filesystems are being merged in 2.6.19.
[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
EXT 4 is a evolution (not a redesign) of EXT3
[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
Arch-independent changes in the kernel core
Kbuild infrastructure: Add a new 'make headers_install_all' target [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d71627581e96efb3717960b79fc2167a4617977 (commit)] and add a 'V=2 make' environment option, which prints why a target is rebuilt during the compile [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45d506bd65e2e35881d8276c111b647807823d19 (commit)]
Sofware suspend: Add a swsusp debugging mode [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b918f6e62cd46774f9fc0a3fbba6bd10ad85ee14 (commit)], 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)] and switch the swsusp writeout code from 4k-at-a-time to 4MB-at-a-time for faster 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)]
- Memory management:
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)]
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) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ff38490c836dc379ff7ec45b10a15a662f4e5f6 (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)] and in the profiling code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbd98167e653535c5816be154f2149c0efa7757d (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)]; add per-zone writeout counter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e129b5c23c2b471d47f1c5d2b8b193fc2034af43 (commit)]
Introduce a architecture-independent mechanism for registering active regions of memory. The big benefit of this set of patches is a sizable reduction of architecture-specific code, some of which is very hairy. In this release x86, x86-64, ia64 and power platforms are ported to use this generic code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c713216deebd95d2b0ab38fef8bb2361c0180c2d (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05e0caad3b7bd0d0fbeff980bca22f186241a501 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e0b864e069c52a7b3e4a7da56e29b03a012fd75 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb01439c5b778d5974a488c5d4fe85e6d0e18a68 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c7cd6877cf8db15269163deda69392263124c1e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c67c3cb4c99fb2ee63c8733943c353d745f45b84 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cfee88ad30acc47f02b8b7ba3db8556262dce1e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=05e0caad3b7bd0d0fbeff980bca22f186241a501 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5cb248abf5ab65ab543b2d5fc16c738b28031fc0 (commit)]
- Block layer
Allow file systems to differentiate between data and meta reads, so that the kernel can use this information for making more intelligent priority decisions and for blktrace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5404bc7a87b9949cf61e0174b21f80e73239ab25 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=374f84ac39ec7829a57a66efd5125d3561ff0e00 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caa38fb0f481a3cb732b115cb59bfa6b59b6daaf (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7457e6e2d7406c7009e9ad03db1335fe93b5fb71 (commit)]
Make it possible to disable the block layer. Not all embedded devices require it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require the block layer to be present [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9361401eb7619c033e2394e4f9f6d410d6719ac7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=51d7513a8a54e4210d358ff1dbd34daab99a6638 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf9a2ae8d49948f861b56e5333530e491a9da190 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d67a46df0125e20d14f12dbd3646f1f1bf23e8c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b398f6bff93a247d2a7099e92905374966e4558f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=811d736f9e8013966e1a5a930c0db09508bdbb15 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07f3f05c1e3052b8656129b2a5aca9f888241a34 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=831058dec3735665fe91bd0d37b6a8cf56b91abd (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b0de42d7c5a471741ede4e71727d88000e6ea59 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65e6f5bc8149165efb9d7bdbd142bb837d5edfeb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b71e8a4ce03b3098c7801ee5e6e08d1a39a226c2 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36695673b012096228ebdc1b39a6a5850daa474e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52b499c438ff60991eb3855ca090782569b3e8cf (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e322ff07fb2d0f05c02d85e7c6b30d23f308c20f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=188f83dfe0eeecd1427d0d255cc97dbf7ef6b4b7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52a700c5675f399c07e6e57328291e57f13ef3bb (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=863d5b822c02d0e7215fb84ca79e9f8c3e35f04e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d366e40a1cabd453be6e2609caa7e12f9ca17b1f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4cb50dc2eaeddb0bc20bc4cd108c4fec99f5045a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65934a9a028b88e83e2b0f8b36618fe503349f8e (commit)]
- Various
Add the pm_trace attribute in /sys/power which has to be explicitly set to one to really enable the "PM tracing" code compiled in when CONFIG_PM_TRACE is set (which modifies the machine's CMOS clock in unpredictable ways) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5c6ba4e08ab9c9e390a0f3a7d9a5c332f5cc6ef (commit)]
Make it possible to disable console suspending (CONFIG_DISABLE_CONSOLE_SUSPEND) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8eb8b4025175f967af0ba8e933f23aa9954dc35 (commit)]
Driver core: create devices/virtual/ tree [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c205ef4880273d2de4ee5388d4e52227ff688cc4 (commit)]
* Driver Core: add ability for drivers to do a threaded probe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d779249ed4cb3b50690de6de8448829d65a1cd08 (commit)]
* enable driver multi-threaded probe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f397f865076e3471ec884ee73ad5e34165fac2a (commit)]
* PCI-Express AER (Advanced Error Reporting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=47402400c6496dd114463deb3a2ba2d64055284e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c2b374d74857e892080ee726184ec1d15e7d4e4 (commit)]
* Single bit flip detector. In cases where we detect a single bit has been flipped, we spew the usual slab corruption message, which users instantly think is a kernel bug. In a lot of cases, single bit errors are down to bad memory, or other hardware failure, so suggest users to run memtest86 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa83aa40ed2ae113d9ee5529cdd9e8c0e5fabe61 (commit)]
* lockdep: core, add enable/disable_irq_irqsave/irqrestore() APIs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e8106b941ceab68cc5ff713df7b1276484554584 (commit)]
* Add infrastructure to track "maximum allowable latency" for power saving policies. The reason for adding this infrastructure is that power management in the idle loop needs to make a tradeoff between latency and power savings (deeper power save modes have a longer latency to running code again). The code that today makes this tradeoff just does a rather simple algorithm; however this is not good enough: There are devices and use cases where a lower latency is required than that the higher power saving states provide. An example would be audio playback, but another example is the ipw2100 wireless driver that right now has a very direct and ugly acpi hook to disable some higher power states randomly when it gets certain types of error. The proposed solution is to have an interface where drivers can 1) announce the maximum latency (in microseconds) that they can deal with 2) modify this latency 3) give up their constraint [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c87579e65ee4f419b2369407f82326d38b5d2d8 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9442e691e4aec85eba43ac60a3e77c77fd2e73a4 (commit)]
* Generic boolean. The kernel hackers have finally surrended at it. $DEITY help us! [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e21828743247270d09a86756a0c11702500dbfb (commit)]
* Directed yield: cpu_relax variants for spinlocks and rw-locks. On systems running with virtual cpus there is optimization potential in regard to spinlocks and rw-locks. If the virtual cpu that has taken a lock is known to a cpu that wants to acquire the same lock it is beneficial to yield the timeslice of the virtual cpu in favour of the cpu that has the lock (directed yield) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef6edc9746dc2bfdacf44eefd5f881179971c478 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdc39363d33506b0e067d41fc91f89d186bdf7f7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c1fcfe229e99752c74efb945a4a3f560be04204 (commit)]
* Generic ioremap_page_range [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=74588d8ba34ff1bda027cfa737972af01ab00c8b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db71daabad0821996483dfe309c4bc81d6755a70 (commit)]; cris [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e32cbc3df44838cc93a679aca3561f75b4964c57 (commit)], alpha [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=801f92ad5a0c630646f6746f3ed1663fcab185d1 (commit)], mr32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9540fc42305859705b0232a10c8dec3ad866bd40 (commit)], avr32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86c8eb360daa6286e3f9bd32a22e5d9c69e86dd1 (commit)], x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16c564bb3cdecbc39eab5c0de3fe94ed58ba4163 (commit)], i386 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a148ecfdf04d5fcb840324eef45d63ed674c73b9 (commit)]
* EISA bus MODALIAS attributes support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07563c711fbc25389e58ab9c9f0b9de2fce56760 (commit)]
* Add vector AIO support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed4e51fb60c3863c134a5e9f6006b29805ead97 (commit)], vectorize aio_read/aio_write fileop methods [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=027445c37282bc1ed26add45e573ad2d3e4860a5 (commit)], remove readv/writev methods and use aio_read/aio_write instead [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee0b3e671baff681d69fbf0db33b47603c0a8280 (commit)], streamline generic_file_* interfaces and filemap cleanups [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=543ade1fc901db4c3dbe9fb27241fb977f1f3eea (commit)]
* Debug variants of linked list macros [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=199a9afc3dbe98c35326f1d3907ab94dae953a6e (commit)] * list_del debug check [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df89a864631f5d840f4873c4c03733b4206e78ea (commit)] * add CONFIG_ENABLE_MUST_CHECK [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cebc04ba9aeb3a646cc746300421fc0e5aa4f253 (commit)]
* csa: This patch is to change those ifdef's from CONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f0ab5147951267134612570604cf8341901a80c (commit)]
csa: basic accounting over taskstats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3cef7a99469afc159fec3a61b42dc7ca5b6824f (commit)]
csa: Extended system accounting over taskstats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9acc1853519a0473620d424105f9d49ea5b4e62e (commit)]
csa accounting taskstats update [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db5fed26b2e0beed939b773dd5896077a1794d65 (commit)]
* Support piping into commands in /proc/sys/kernel/core_pattern [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d025c9db7f31fc0554ce7fb2dfc78d35a77f3487 (commit)]
* Linux Kernel Dump Test Module, a simple module to test Linux Kernel Dump mechanism that allows users to crash their kernel in different ways. Linux is getting so good, we need a kernel module to remember the old days [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bb31b9d5340ed3dfef45d322f59fcf18a0d598b (commit)]
* kconfig/menuconfig: lxdialog is now built-in: lxdialog was previously called as an external program causing screen to flicker when used. With this patch lxdialog is now built-in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2982de6993e6d9944f2215d7cb9b558b465a0c99 (commit)], add support for color themes and add blackbg theme [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=458972132a705c4a869002354f7f10f395d08c18 (commit)], add a new theme bluetitle which is now default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=350b5b76384e77bcc58217f00455fdbec5cac594 (commit)], support resize [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8dc68ad0fbd934e78e913b8a8d7b45945db4930
* srcu-3: RCU variant permitting read-side blocking [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=621934ee7ed5b073c7fd638b347e632c53572761 (commit)] * [PATCH] Add SRCU-based notifier chains [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eabc069401bcf45bcc3f19e643017bf761780aa8 (commit)]
* Implement the epoll_pwait system call, that extend the event wait mechanism with the same logic ppoll and pselect do. The definition of epoll_pwait is: int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsize); [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b611967de4dc5c52049676c4369dcac622a7cdfe (commit)]
* Add a dynamic irq creation API. With the msi support comes a new concept in irq handling, irqs that are created dynamically at run time. To solve the basic dynamic irq allocation problem two new architecture specific functions are added: create_irq and destroy_irq [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a16d713626735f3016da0521b7bf251cd78e836 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fc471ede99579211c44b6a64829c4318976990f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4fa0bbf384496ae4acc0a150719d9d8fa8d11b3 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cf2583ba026ca563ff8b15805fcf30b8e192a7 (commit)]
* dm: add target preresume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8757b7764f13e336f3c0eb1f634440d4ee4c3a67 (commit)]. * md: the scheduled removal of the START_ARRAY ioctl for md [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbedac04fa11d7f9f9f425c7ec253f55becaae57 (commit)] * dm linear: support ioctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab17ffa440cb54ca64111fa4922ba12496fcc8af (commit)] * dm mpath: support ioctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9af4aa30b713a58e5952045f52c41a6e3baa2fdc (commit)] * dm: add uevent change event on resume [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8560ed6fa8d43537af558514fa48f670b3349f08 (commit)] * dm crypt: add key msg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e48d4bbf9697f4fee4f4e48c5e2586b332809519 (commit)] * md: new sysfs interface for setting bits in the write-intent-bitmap [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b1d1dac181d8c1b9492e05cee660a985d035a06 (commit)] (commit)]
* NOMMU: make futexes work under NOMMU conditions [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930e652a21a08986b03d1f370f933057dc0db2dc (commit)], implement /proc/pid/maps for NOMMU [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dbf8685c8e21404e3a8ed244bd0219d3c4b89101 (commit)], make mremap() partially work for NOMMU kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6fa5f80bc34da1a49b42117602b44441402cac2f (commit)]
* kdump: introduce "reset_devices" command line option. This option can be used by drivers to know that user forcibly wants the devices to be reset during initialization [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e96287ddc4f42081e18248b6167041c0908004c (commit)]
* LSM: remove BSD secure level security module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3bc1fa8ae18f281b40903cce94baba10c3cf9d88 (commit)] * Introduce kmemdup [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a2f67b459bb7846d4a15924face63eb2683acc2 (commit)]
* NTP: Convert to the NTP4 reference model [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f19923937321244e7dc334767eb4b67e0e3d5c74 (commit)]
* Create a call_usermodehelper_pipe() function that allows to pipe data to the stdin of the called user mode program [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e239ca540594cff00adcce163dc332b27015d8e5 (commit)]
* namespaces: move the mount namespace into the nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1651e14e28a2d9f446018ef522882e0709a2ce4f (commit)]
* namespaces: utsname: Replace references to system_utsname to the per-process uts namespace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9ff3990f08e9a0c2839cc22808b01732ea5b3e4 (commit)]
* namespaces: utsname: use init_utsname when appropriate [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96b644bdec977b97a45133e5b4466ba47a7a5e65 (commit)]
* namespaces: utsname: Sysctl uts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8218c74c02a7bdb5db2e40a2100534bdeb83475b (commit)]
* nsproxy: move init_nsproxy into kernel/nsproxy.c [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0437eb594e6e5e699248f865482e61034be846d0 (commit)] * namespaces: exit_task_namespaces() invalidates nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fab413a334a7b3dd2688c5cd5d4718476e430ea4 (commit)] * namespaces: utsname: implement CLONE_NEWUTS flag [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=071df104f808b8195c40643dcb4d060681742e29 (commit)] * namespaces: utsname: remove system_utsname [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf47fdcda65b44dbd674eeedcaa06e0aa28a5a00 (commit)] * namespaces: utsname: implement utsname namespaces [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4865ecf1315b450ab3317a745a6678c04d311e40 (commit)] * namespaces: add nsproxy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab516013ad9ca47f1d3a936fa81303bfbf734d52 (commit)]
* namespaces: utsname: introduce temporary helpers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0bdd7aab7f0ecd5d337910816aa058c18398628e (commit)]
* uts: copy nsproxy only when needed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0b2fc316599d6cd875b6b8cafa67f03b9512b4d (commit)]
* IPC namespace core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25b21cb2f6d69b0475b134e0a3e8e269137270fa (commit)] * IPC namespace - msg [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e78693738b71da037d0df340f38e919e8227c2b (commit)] * IPC namespace - utils [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=73ea41302bab5e02c9e86ab15c509494a550f1db (commit)] * IPC namespace - shm [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e9823111bdc76127b17fc70dc57f584fd7dd34c (commit)] * IPC namespace - sysctls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcfbd547b1209aae9d880fe5db33464413925cc8 (commit)] * IPC namespace - sem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e38935341a3105471848220b5750e1ea8722d197 (commit)]
* Define struct pspace: Define a per-container pid space object [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fbc96486459324e182717b03c50c90c880be6ec (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa5a6662f93f52605b6c447ba6f7291e92f515c5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f40f50d3bb33b52dfd550ca80be7daaddad21883 (commit)]
* 32-bit compatibility HDIO IOCTLs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39484e53bb00f55b6303a908070db133608ef2a5 (commit)]
* introduce kernel_execve, the use of execve() in the kernel is dubious, since it relies on the KERNEL_SYSCALLS mechanism that stores the result in a global errno variable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6760856791c6e527da678021ee6a67896549d4da (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe74290d51bc08e9b90ed7c145d74a22cd50b90e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=821278a75d270048e291fcbec9304439a176ba88 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=135ab6ec8fdad6f61aabe53f456821baf4a4aa0e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3db03b4afb3ecd66a0399b8ba57742ca953b0ecd (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f4c6bc1f369f20807a8e753c2308d1629478c61 (commit)]
* IRQ: Maintain regs pointer globally rather than passing to IRQ handlers : Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d12e780e003f93433d49ce78cfedf4b4c52adc5 (commit)]
* [PATCH] paravirt: pte clear not present: Change pte_clear_full to a more appropriately named pte_clear_not_present,
- allowing optimizations when not-present mapping changes need not be reflected in the hardware TLB for protected page table modes. There is also another case that can use it in the fremap code.
* [PATCH] paravirt: lazy mmu mode hooks.patch: Implement lazy MMU update hooks which are SMP safe for both direct and shadow
- page tables. The idea is that PTE updates and page invalidations while in lazy mode can be batched into a single hypercall. We use this in VMI for shadow page table synchronization, and it is a win. It also can be used by PPC and for direct page tables on Xen. For SMP, the enter / leave must happen under protection of the page table locks for page tables which are being modified. This is because otherwise, you end up with stale state in the batched hypercall, which other CPUs can race ahead of. Doing this under the protection of the locks guarantees the synchronization is correct, and also means that spurious faults which are generated during this window by remote CPUs are properly handled, as the page fault handler must re-check the PTE under protection of the same lock.
* [PATCH] paravirt: update pte hook: Add a pte_update_hook which notifies about pte changes that have been made
- without using the set_pte / clear_pte interfaces. This allows shadow mode hypervisors which do not trap on page table access to maintain synchronized shadows. It also turns out, there was one pte update in PAE mode that wasn't using any accessor interface at all for setting NX protection. Considering it is PAE specific, and the accessor is i386 specific, I didn't want to add a generic encapsulation of this behavior yet.
* [PATCH] paravirt: kpte flush: Create a new PTE function which combines clearing a kernel PTE with the
- subsequent flush. This allows the two to be easily combined into a single hypercall or paravirt-op. More subtly, reverse the order of the flush for kmap_atomic. Instead of flushing on establishing a mapping, flush on clearing a mapping. This eliminates the possibility of leaving stale kmap entries which may still have valid TLB mappings. This is required for direct mode hypervisors, which need to reprotect all mappings of a given page when changing the page type from a normal page to a protected page (such as a page table or descriptor table page). But it also provides some nicer semantics for real hardware, by providing extra debug-proofing against using stale mappings, as well as ensuring that no stale mappings exist when changing the cacheability attributes of a page, which could lead to cache conflicts when two different types of mappings exist for the same page.
* [PATCH] paravirt: combine flush accessed dirty.patch: Remove ptep_test_and_clear_{dirty|young} from i386, and instead use the
- dominating functions, ptep_clear_flush_{dirty|young}. This allows the TLB page flush to be contained in the same macro, and allows for an eager optimization - if reading the PTE initially returned dirty/accessed, we can assume the fact that no subsequent update to the PTE which cleared accessed / dirty has occurred, as the only way A/D bits can change without holding the page table lock is if a remote processor clears them. This eliminates an extra branch which came from the generic version of the code, as we know that no other CPU could have cleared the A/D bit, so the flush will always be needed. We still export these two defines, even though we do not actually define the macros in the i386 code:
#define HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG #define HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
* [PATCH] paravirt: remove set pte atomic: Now that ptep_establish has a definition in PAE i386 3-level paging code, the
- only paging model which is insane enough to have multi-word hardware PTEs which are not efficient to set atomically, we can remove the ghost of set_pte_atomic from other architectures which falesly duplicated it, and remove all knowledge of it from the generic pgtable code. set_pte_atomic is now a private pte operator which is specific to i386
* [PATCH] paravirt: remove read hazard from cow: We don't want to read PTEs directly like this after they have been modified,
- as a lazy MMU implementation of direct page tables may not have written the updated PTE back to memory yet.
* [PATCH] paravirt: optimize ptep establish for pae: The ptep_establish macro is only used on user-level PTEs, for P->P mapping
- changes. Since these always happen under protection of the pagetable lock, the strong synchronization of a 64-bit cmpxchg is not needed, in fact, not even a lock prefix needs to be used. We can simply instead clear the P-bit, followed by a normal set. The write ordering is still important to avoid the possibility of the TLB snooping a partially written PTE and getting a bad mapping installed.
* schedule removal of FUTEX_FD [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19c6b6ed3f597a583f58e3fc99256cc01ae8c394 (commit)]
Architecture-specific changes
x86 32/64
* Add SMP support on x86_64 and i386 to reservation framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2802e7f571c05f9a901b1f5bd144aa730ccc88e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7471c6da94d30d3deadc55986cc38d1ff57f9ca (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 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)]
* Add ability 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)]
* 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)]
* 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)]
* 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)]
* x86: Add portable getcpu call [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cfc348bf90ffaa777c188652aa297f04eb94de8 (commit)]
* 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)]
* 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)]
* Enable memory hot-add in x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4942e998b40b8f6080930ec16442444e9930aee5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c2676a5870ab15cbeea9f826266bc946fe3cc26 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec69acbb1191df671ff8e07c8e146619a5c53f70 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53947027ad90542ddb2bb746e3175827c270610a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f28c5edc06ecd8068b38b7662ad19f4d20d741af (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71efa8fdc55e70ec6687c897a30759f0a2c2ad7e (commit)], [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)]
* enable VMSPLIT for highmem kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=753b9f86e7aef76c2beda32668ce528f90cb1733 (commit)] * Add a bootparameter to reserve high linear address space [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=461a9afff5e731d6337c0f5b08a1e727ccd57e0a (commit)]
* Allow compiling the kernel with the -fstack-protector GCC option. You need a GCC 4.2 compiler [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4254058037eb172758961d0a5b94f4320a1425 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b62a5c740df1e3d49a97349fce0c6a23f633d7fe (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3162f751d04086a9d006342de63ac8f44fe0f72a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f7fd4d7a79193ceda4ce77f75e22917d33fa154 (commit)]
* 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 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. So 2.6.19 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) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e07e23e1fd3000289fc7ccc6c71879070d3b19e0 (commit)] * x86: Allow disabling early pci scans with pci=noearly or disallowing conf1 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0637a70a5db98182d9ad3d6ae1ee30acf20afde9 (commit)]
* x86 microcode: add sysfs and hotplug support [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)]
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)]
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)]
Implement the special memory driver (mspec, formerly known as fetchop) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17a3b05047119b7fc72ef03962e202becc659579 (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)]
Lockdep support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1df0f0ff7e56f6dcb1351b9490d55ebf91ff4bd8 (commit)]
Add support for little endian on the virtual QEMU mips platform [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8cc9618c55a341dda39357cce5ff39f7ad17132 (commit)]
Remove IT8172-based platforms [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af8b128719f5248e542036ea994610a29d0642a6 (commit)]
SPARC
Add sparc 32 bit profiling support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9550e59c4587f637d9aa34689e32eea460e6f50c (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)].
Filesystems
FAT: Add "-o flush" mount option for fat for removable media devices (USB flash-based memory devices, MP3 players). Mounting with -o flush tells FAT to write things to disk as quickly as possible. It is like -o sync, but much faster (and not as safe). Think of it like a fast "async" mount [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae78bf9c4f5fde3c67e2829505f195d7347ce3e4 (commit)]
EXT3/EXT2: Fix mounts at 16T [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=41f04d852e359582518f950d12b2287766613022 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=855565e81ad8940cc645b5110ec2c7f124a76d23 (commit)]
- REISER
On-demand bitmap loading - speeds up mounting speed [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5065227b46235ec0131b383cc2f537069b55c6b6 (commit)]
- Eliminate minimum window size for bitmap searching; improves the allocator in some corner-cases [ttp://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ea0f9499d15c49df23e7aac4332d830c40e12d0 (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)]
JFS: Add splice support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89f68225876db7df638de2884b561facb1870239 (commit)]
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)]
- NFS
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)], 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)], allow admin to set nthreads per node in /proc/fs/nfsd/pool_threads [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed2965af1bae30f746e936d80ad4fabb9e208c8 (commit)], make rpc threads pools numa aware [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bfd241600a3b0db4fe43c859f1460d0a958d924a (commit)]
TMPFS: access control lists for tmpfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39f0247d3823e4e0bf8f6838a10362864b1e1053 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0c8bd164e1a0585d7e46896553136b4f488bd19 (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 [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>
* [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 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.
* [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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1ca7768c87ac1393228857d576654f7e84c8cee6 (commit)], allow pktgen to produce 802.1Q and Q-in-Q tagged frames [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34954ddc4f3e790fb6d5ed331513f54b38713234 (commit)]
* [SCTP]: Enable Nagle algorithm by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=208edef6a5b6c50363c77efcf34c4b4020681029 (commit)]
* [TIPC]: Added subscription cancellation capability [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb409460b1abec0e2a1f9c9d07019f4157a6d6bc (commit)], add support for Ethernet VLANs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3a8d12142eab420ffcbbf3d1d2e637158e85aab8 (commit)], added duplicate node address detection capability [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e91ed0bcdfc4812c0342d64281ee985213df07c3 (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:-)
* 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)]
add serial mos7720 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f64478cbc7a008fe7b7e9ae79a73d8a6904ead8 (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)], 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=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)], let non-admin users to query network statistics and settings [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75f3123c118743f52b690d9ab41649814befda0a (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)]
* OMAP: Add Watchdog driver support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7768a13c252a97e13a552f88f642962768de1fa4 (commit)] * OMAP: Add keypad driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad4e09b16ad361c15bd7186dcd118cb901089b97 (commit)]
* Create a driver to support the platform-specific features of MSI S270 laptops backlight, wlan, bluetooth states [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c4c731a89ea6458001f48033f8988447736fb38 (commit)] * asus_acpi: W3000 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=288f3ad406460f03642a41bb945826891a7b866f (commit)]
* Remove old drivers/char/s3c2410_rtc.c, since there is now a drivers/rtc/rtc-s3c.c driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d202a6c0883cf17a4a6e61a12e138598ec3ed32d (commit)]
* IPMI: per-channel command registration [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c69c31270c35a6b8421a8e4ba81de1247ac6df95 (commit)]
* mmc: driver for TI FlashMedia card reader [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4020f2d7f0b0e68b92bec9a3e1f4a54a7a9dc672 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9565129993446e16678cfc4d9c7f3b7e75eecbd]