Size: 217884
Comment: add lots of stuff - NEEDS FORMATTING
|
Size: 880
Comment: Linux 5.6, better late than never
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel, inspired by [http://wiki.dragonflybsd.org/index.php/DragonFly_Status Dragonfly's status]. Other places to get news about the linux kernel are [http://www.kernel-traffic.org Kernel traffic], [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide] and [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6] - many articles here link to LWN and much of the 2.6.x changelog was restored from them (you may be be interested in subscribing so Jonathan can keep up the good work ;-) ). Before adding things here look at the RULES section at the end of the page!! | #pragma keywords Linux, Kernel, Operative System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemtion, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]], [[http://www.h-online.com/open/features/|H-Online]], or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]]). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
==== 2.6.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [#development below] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ GFS] from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now) * new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/) * support the moving of the physical location of pages between nodes in NUMA systems * support for the Cell processor * cpufreq support for G5s plus thermal control for dualcore G5s * improved power management support for many devices and subsystems (libata, alsa...) * mutex locking primitive * high-resolution timers (http://lwn.net/Articles/167897) * per-mountpoint noatime/nodiratime * 64-to-32-bit ioctl compatibilty for the v4l2 subsystem * IPv6 support for DCCP * New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication * ACL support for CIFS filesystem * HFSX filesystem support * new configfs filesystem (which complements sysfs, not replaces it) * support for running executables from v9fs (plan9 9P distributed filesystem) * support for many new devices, improved support and features for others and lots of other changes. * '''Kernel Core changes''' * New features/frameworks * *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view already have some of them]. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (commit)]. * Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 conceptualized by Alexander Viro] in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (LWN article)] * New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 LWN article explaining the API)]. In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (LWN article)] Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change. However, the system rearranges the physical location of those pages. The main intent of page migration patches here is to reduce the latency of memory access by moving pages near to the processor where the process accessing that memory is running. The patchset allows a process to manually relocate the node on which its pages are located. The pages of process can also be relocated from another process using the sys_migrate_pages() function call. Swap migration works by simply evicting the page, the pages must be faulted back in. The pages are then typically reallocated by the system near the node where the process is executing. Manual migration is very useful if for example the scheduler has relocated a process to a processor on a distant node. A batch scheduler or an administrator can detect the situation and move the pages of the process nearer to the new processor. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (commit)]. Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (commit)] * Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (commit)] * Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS. Databases want to use this feature to drop a section of their bufferpool (shared memory segments) - without writing back to disk/swap space. This feature is also useful for supporting hot-plug memory on UML [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime: turns noatime and nodiratime into per-mount instead of per-sb flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system. In the initial release, memory Correctable Errors (CE) and Uncorrectable Errors (UE) are the primary errors being harvested. Detecting CE events, then harvesting those events and reporting them, can be a predictor of future UE events. With CE events, the system can continue to operate, but with less safety. Preventive maintainence and proactive part replacement of memory DIMMs exhibiting CEs can reduce the likelihood of the dreaded UE events and system 'panics'. In addition, PCI Bus Parity and SERR Errors are scanned for on PCI devices in order to determine if errors are occurring on data transfers [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machiens with several nodes. Each distance is only measured once. This means that e.g. on NUMA distances of 0, 1 and 2 might be measured, on HT distances 0 and 1, and on SMP distance 0 is measured. The code walks the domain tree to determine the distance, so it automatically follows whatever hierarchy an architecture sets up. This cuts down on the boot time significantly and removes the old O(N^2) limit. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty. Such policy is nice for workloads that are non-interactive, but which do not want to give up their nice levels. The policy is also useful for workloads that want a deterministic scheduling policy without interactivity causing extra preemptions (between that workload's tasks) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported. This helps us to safely use hugetlb pages in many more applications [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages: The huge_zonelist() function in the memory policy layer provides an list of zones ordered by NUMA distance. The hugetlb layer will walk that list looking for a zone that has available huge pages but is also in the nodeset of the current cpuset [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (commit)] * Shrink dentry struct: Some long time ago, dentry struct was carefully tuned so that on 32 bits UP, sizeof(struct dentry) was exactly 128, ie a power of 2, and a multiple of memory cache lines. Then RCU was added and dentry struct enlarged by two pointers, with nice results for SMP, but not so good on UP, because breaking the above tuning (128 + 8 = 136 bytes). This reverts this unwanted side effect using a union. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (commit)] * Add the SLOB allocator, a configurable replacement for slab allocator. This adds a CONFIG_SLAB option under CONFIG_EMBEDDED. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (commit)] * Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (commit)] * cpuset: Provide a simple per-cpuset metric of memory pressure, tracking the -rate- that the tasks in a cpuset call try_to_free_pages(), the synchronous (direct) memory reclaim code. This enables batch managers monitoring jobs running in dedicated cpusets to efficiently detect what level of memory pressure that job is causing. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (commit)] * Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list. The min value for this is 8. It means that we don't allow more than 1/8th of pages in each zone to be allocated in any single per_cpu_pagelist. The batch value of each per cpu pagelist is also updated as a result [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (commit)] * swsusp: remove the image encryption that is only used by swsusp instead of zeroing the image after resume in order to prevent someone from reading some confidential data from it in the future and it does not protect the image from being read by an unauthorized person before resume. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (commit)] * swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (commit)] * MD: Exposes and allow to set lots of parameters through sysfs * keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (commit)], and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (commit)] * '''Architecture-specific''' * x86 * sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (commit)] * A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (commit)] * kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (commit)]. Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (commit)] * PPC * SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (commit)] * Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (commit)] * Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (commit)] * IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (commit)] * Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (commit)] * Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (commit)] * Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (commit)] * Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (commit)] * qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (commit)] * ARM * Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (commit)] * m32r: Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (commit)] * Alpha: convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs: Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64: Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''Filesystems''' * OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (commit)] * Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (commit)] * FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (commit)] * NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (commit)] * v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (commit)] * ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (commit)] * RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (commit)] * Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (commit)] * Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (commit)] * LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (commit)] * Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (commit) * IDE devices * IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (commit)]. This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver. * Input devices * Input: add MODALIAS input classes support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (commit)] * Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (commit)] * ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (commit)] * New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (commit)] * ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (commit)] * ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (commit)] * V4L/DVB * Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] [[Anchor(development)]] ==== 2.6.17 ==== * /!\ '''STILL NOT RELEASED!''' /!\ * Architectures * Sparc: Niagara support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4a1745aa09fc110afdefea0e5d025043e348bae (commit)] * [PATCH] disable unshare(CLONE_VM) for now: sys_unshare() does mmput(new_mm). This is not enough if we have mm->core_waiters. This patch is a temporary fix for soon to be released 2.6.16. [ Checked with Uli: "I'm not planning to use unshare(CLONE_VM). It's not needed for any functionality planned so far. What we (as in Red Hat) need unshare() for now is the filesystem side." ] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d61b86775a5676a8fba2ba2f0f869564e35c630 (commit)] * [PATCH] starfire: Implement suspend/resume: This patch implements suspend and resume methods for the starfire driver. It allows me to put my desktop PC with a starfire dual board into S4. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4fbeabbc9e68c80738fe59135d201c3ed5fe40f (commit)] * [PATCH] ieee80211: Add LEAP authentication type: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24056bec086aaa99923b21c0e1a0e993bb1c7e2a (commit)] * [PATCH] ipw2100: Add LEAP authentication algorithm support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cbbdd03fadeddd02efec05ccfd4e6870ed913762 (commit)] * [PATCH] ieee80211: add flags for all geo channels: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d128f6c176bff9c4929476e13132804321a6d5c5 (commit)] * [PATCH] ieee80211: Add spectrum management information: Add spectrum management information and use stat.signal to provide signal level information. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7bd64366044565d6861783613db191c8aaec691e (commit)] * [PATCH] ipw2100: Add generic geo information: This patch fixes a BUG_ON for the latest ieee80211 change. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be6b3b15b511aededd89d1ebbc7b25d0edd1ccd3 (commit)] * [PATCH] ipw2200: Add LEAP authentication algorithm support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e234b4e5768b4f783fc45f20be8c6515b875f17 (commit)] * [PATCH] wireless/airo: add IWENCODEEXT and IWAUTH support: This patch adds IWENCODEEXT and IWAUTH support to the airo driver for WEP and unencrypted operation. No WPA though. It allows the driver to operate more willingly with wpa_supplicant and NetworkManager. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4be757dd4c00ddabff2d6faf639466bb5d76bc79 (commit)] * [PATCH] forcedeth: Add vlan support: This forcedeth patch adds support for vlan stripping/inserting in hardware. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee407b02f3f1992bc746876c26f8175c8783562b (commit)] * [PATCH] ipw2200: Bluetooth coexistence support: I've added a new module param "bt_coexist" which defaults to OFF. This does not seem to fix the firmware restarts, but it does do "the right thing" and disables something that we were enabling by default: signaling the Bluetooth h/w which channel we're on (whether or not the BT h/w was out there). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=810dabd466fe70869b66ab64dd326b6153cef645 (commit)] * [PATCH] ipw2200: add module parameter to enable/disable roaming: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bfdb91dcff0dd4b70922de263ccffffb8fb1d16 (commit)] * [PATCH] wireless/ipw2200: support WE-18 WPA enc_capa: This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with NetworkManager and other programs that actually check driver & card capabilities. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f1b50863aa6a96c61a57e3b3a5e76e67b38c5c3e (commit)] * e1000: Added a performance enhancement - prefetch: - this implementation of prefetch was tested on new and old hardware [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30320be88fb9cae888eacf1f1eaae95a03720128 (commit)] * [PATCH] S2io: Large Receive Offload (LRO) feature(v2) for Neterion (s2io) 10GbE Xframe PCI-X and PCI-E NICs: Hi, Below is a patch for the Large Receive Offload feature. Please review and let us know your comments. LRO algorithm was described in an OLS 2005 presentation, located at ftp.s2io.com user: linuxdocs password: HALdocs The same ftp site has Programming Manual for Xframe-I ASIC. LRO feature is supported on Neterion Xframe-I, Xframe-II and Xframe-Express 10GbE NICs. Brief description: The Large Receive Offload(LRO) feature is a stateless offload that is complementary to TSO feature but on the receive path. The idea is to combine and collapse(upto 64K maximum) in the driver, in-sequence TCP packets belonging to the same session. It is mainly designed to improve 1500 mtu receive performance, since Jumbo frame performance is already close to 10GbE line rate. Some performance numbers are attached below. Implementation details: 1. Handle packet chains from multiple sessions(current default MAX_LRO_SESSSIONS=32). 2. Examine each packet for eligiblity to aggregate. A packet is considered eligible if it meets all the below criteria. a. It is a TCP/IP packet and L2 type is not LLC or SNAP. b. The packet has no checksum errors(L3 and L4). c. There are no IP options. The only TCP option supported is timestamps. d. Search and locate the LRO object corresponding to this socket and ensure packet is in TCP sequence. e. It's not a special packet(SYN, FIN, RST, URG, PSH etc. flags are not set). f. TCP payload is non-zero(It's not a pure ACK). g. It's not an IP-fragmented packet. 3. If a packet is found eligible, the LRO object is updated with information such as next sequence number expected, current length of aggregated packet and so on. If not eligible or max packets reached, update IP and TCP headers of first packet in the chain and pass it up to stack. 4. The frag_list in skb structure is used to chain packets into one large packet. Kernel changes required: None Performance results: Main focus of the initial testing was on 1500 mtu receiver, since this is a bottleneck not covered by the existing stateless offloads. There are couple disclaimers about the performance results below: 1. Your mileage will vary!!!! We initially concentrated on couple pci-x 2.0 platforms that are powerful enough to push 10 GbE NIC and do not have bottlenecks other than cpu%; testing on other platforms is still in progress. On some lower end systems we are seeing lower gains. 2. Current LRO implementation is still (for the most part) software based, and therefore performance potential of the feature is far from being realized. Full hw implementation of LRO is expected in the next version of Xframe ASIC. Performance delta(with MTU=1500) going from LRO disabled to enabled: IBM 2-way Xeon (x366) : 3.5 to 7.1 Gbps 2-way Opteron : 4.5 to 6.1 Gbps [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d3d0439f574a4857c97b3ad2e63b082b7382d7e (commit)] * e1000: Add support for new hardware (ESB2) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6418ecc68e1d9416451b6f78ebb2c0b077e0abf2 (commit)] * e1000: Add 82573 controller support to TSO fix: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f68788856b134f93d9d10b19aa902924c61fc02 (commit)] * forcedeth: Add support for 64bit rings: This forcedeth patch adds high dma support for tx/rx rings.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0832b25a75d128e4f9724156380ba071c4f3f20d (commit)] * forcedeth: Add support for MSI/MSIX: This forcedeth patch adds support for MSI/MSIX interrupts [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d33a73c81241e3d9ab8da2d0558429bdd5b4ef9a (commit)] * JFS: add uid, gid, and umask mount options: OS/2 doesn't initialize the uid, gid, or unix-style permission bits. The uid, gid, & umask mount options perform pretty much like those for the fat file system, overriding what is stored on disk. This is useful for users sharing the file system with OS/2. I implemented a little feature so that if you mask the execute bit, it will be re-enabled on directories when the appropriate read bit is unmasked. I didn't want to implement an fmask & dmask option. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69eb66d7da7dba2696281981347698e1693c2340 (commit)] * ipw2200: switch to the new ipw2200-fw-3.0 image format: This patch modifies the driver to support the ipw2200-fw-3.0 image format. You will also need to upgrade your firmware image to the 3.0 version available from http://ipw2200.sf.net/firmware.php [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9006ea75cfaded82acbc34d03e9d4e86447f40a9 (commit)] * ipw2200: Enables the "slow diversity" algorithm: This forces one antenna or the other, if the background noise is significantly quieter in one than the other. It favors the quieter antenna, and won't kick in unless the difference is significant. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71de1f3dd14e3e39cef929506a9526779f5a447d (commit)] * natsemi: NAPI and a bugfix: This patch converts the natsemi driver to use NAPI. It was originally based on one written by Harald Welte, though it has since been modified quite a bit, most extensively in order to remove the ability to disable NAPI since none of the other drivers seem to provide that functionality any more [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b27a16b7c4738ea16f6f0730caf382a3f57317bb (commit)] * CONFIG_FORCEDETH updates: This patch contains the following possible updates: - let FORCEDETH no longer depend on EXPERIMENTAL - remove the "Reverse Engineered" from the option text: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=827700866ad0996e8c0f5ce75d1c01ae9b034cd6 (commit)] * JFS: ext2 inode attributes for jfs. To see the type of inode attributes implemented see the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fa3241d24cf1182b0ffb6e4d412c3bc2a2ab7bf6 (commit)] * pcnet_cs: add new id (Logitec LPM-LN100TE):[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c96a34ec3bad5ba37ee4da4a188ad534b2fa4321 (commit)] * ipw2200: wireless extension sensitivity threshold support: The patch allows the user to set the handover threshold, i.e. the number of consecutively missed beacons that will trigger a roaming attempt. The disassociation threshold is set to 3 times the handover threshold [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=651be26f2daf31e61faf4b55ada709cf39ec76a2 (commit)] * [PATCH] sb1250-mac: Add support for the BCM1480: This adds support for the 4th port and other new features of the BCM1480 SOC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90fdc3cce3d8c8ed09615dc68cb789655078803 (commit)] * [SPARC64]: SUN4V hypervisor interface defines: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=766f861fbbd968a1850295ed6dec4504b4500dcc (commit)] * [SPARC64]: Sun4v interrupt handling: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b0c0572fcd6204675c5f7ddfa572b5017f817dd (commit)] * [SPARC64]: Detect sun4v early in boot process.: We look for "SUNW,sun4v" in the 'compatible' property of the root OBP device tree node. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d82ace7dc4073b090a55b9740700e32b9a9ae302 (commit)] * [SPARC64]: SUN4V hypervisor TLB flush support code.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52bf082f0a6e49e08ed99d4d9518c662dc735c7a (commit)] * [SPARC64]: More SUN4V PCI controller work.: Add assembler file for PCI hypervisor calls. Setup basic skeleton of SUN4V PCI controller driver. Add 32-bit devhandle to PBM struct, as this is needed for hypervisor calls. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bade5622167181844cd4e60087971c1f949e149f (commit)] * [SPARC64]: Get SUN4V SMP working: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=72aff53f1fe74153eccef303ab2f79de888d248c (commit)] * [SPARC64]: SUN4V memory exception trap handlers.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed6b0b45437dcf7ef1c48b3be413bebcc84771d8 (commit)] * [SPARC64]: Add SMT scheduling support for Niagara: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8935dced547afbf37d0fcfcac9a3556494e53104 (commit)] * [SPARC64]: Make use of Niagara 256MB PTEs for kernel mappings: We use a bitmap, one bit for every 256MB of memory. If the bit is set we can use a 256MB PTE for linear mappings, else we have to use a 4MB PTE.SUN4V support is there, and we can very easily add support for Panther cpu 256MB PTEs in the future [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9cc3a1ac9a819cadff05ca37bb7f208013a22035 (commit)] * [SPARC64]: Add SUN4V Hypervisor Console driver.: Since it can do things like BREAK and HUP, we implement this as a serial uart driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02fd473bd4844befc74f7ca67cd60891e0a2d890 (commit)] * [SPARC64]: Beginnings of SUN4V PCI controller support.: Abstract out IOMMU operations so that we can have a different set of calls on sun4v, which needs to do things through hypervisor calls. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f6a93a196ba6c569c3e8daa6e81cca7e3ba81b1 (commit)] * V4L/DVB (3430): Add new internal VIDIOC_INT commands: - Add new internal VIDIOC_INT commands for setting the tuner mode, for putting a chip into standby mode and to set/get the routing of inputs/outputs of audio or video of a chip. These new commands will replace older commands that are no longer up to the task.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=757d250518c4905c5d13c8974446e08a2e3cf244 (commit)] * V4L/DVB (3297): Add IR support to KWorld DVB-T (cx22702-based): add IR support to KWorld DVB-T (cx22702-based)[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=28ecc4490100488663f1a978846632800ab198d5 (commit)] * V4L/DVB (3300): Add standard for South Korean NTSC-M using A2 audio.: South Korea uses NTSC-M but with A2 audio instead of BTSC. Several audio chips need this information in order to set the correct audio processing registers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d97a11e091a0bf40f1cfb0bbf443ddd7b455b133 (commit)] * [SPARC64]: First cut at VIS simulator for Niagara.: Niagara does not implement some of the VIS instructions in hardware, so we have to emulate them. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c51ed93ca0ecbf44ec096f4bd04c12a3e761e6b (commit)] * V4L/DVB (3395): Hauppauge Grey Remote support: - For the Hauppauge PVR cards there are at least two different remotes, one completly black and one that is Grey and black, they keys differ in values eg Black remotes 'mute' has the same value as Grey remotes 'menu'. - This enables the user to select which keymapping to use by using the hauppauge parm. Unlike to the black remote keys, all keys are mapped for the grey remote and the ATi usb remote mappings has been followed. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf47e4e43e4dcf88fef61b1b4139ce2da20e1f73 (commit)] * V4L/DVB (3276): Added terratec hybrid xs and kworld 2800rf support: - Added terratec hybrid xs product/vendorid- Added gpio audio initialization for kworld pvr 2800rf [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d17d0834a2e6a5cba096ea09592a4a096183300 (commit)] * [SPARC64]: Top-down address space allocation for 32-bit tasks.: Currently allocations are very constrained for 32-bit processes. It grows down-up from 0x70000000 to 0xf0000000 which gives about 2GB of stack + dynamic mmap() space. So support the top-down method, and we need to override the generic helper function in order to deal with D-cache coloring. With these changes I was able to squeeze out a mmap() just over 3.6GB in size in a 32-bit process.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a91690ddd05ab0b7fbdd37733875525ac75c20f2 (commit)] * V4L/DVB (3307): Support for Galaxis DVB-S rev1.3: support for Galaxis DVB-S rev1.3 (subsystem 13c2:0004) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bd6301c2a33271b629ac1ef2088e110624d5665 (commit)] * V4L/DVB (3432): Hauppauge HVR 900 Composite support: - Hauppauge HVR 900 Composite support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94e95b443811c127734ef10f3b7d2220532c1d2 (commit)] * V4L/DVB (3267): Add support for the Avermedia 777 DVB-T card: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a78d0bfabda67dd40a5a97ba4c24265e1820e7ea (commit)] * V4L/DVB (3281): Added signal detection support to tvp5150: - added signal detection support to tvp5150 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19d7509c0531b0e08f52ab93070569e0aba54cdf (commit)] * V4L/DVB (3316): Add initial support for KWorld HardwareMpegTV XPert: - Add initial support for KWorld HardwareMpegTV XPert.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=44256de13ecc72291b616fda5f2c7ca8b110feec (commit)] * V4L/DVB (3315): Added support for the Tevion DVB-T 220RF card: This is an analog / digital hybrid card.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3dfb729f4513184d06a0c618179489ac7bb277e0 (commit)] * V4L/DVB (3347): Pinnacle PCTV 40i: add filtered Composite2 input: This patch adds another composite input to the Pinnacle PCTV 100i definition which filters the chrominace signal from the luma input. This improves video quality for Composite signals on the S-Video connector of the card. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb46e3c28ef8055e82dfbc64ba64dda123833036 (commit)] * V4L/DVB (3346): Add saa713x card: ELSA EX-VISION 700TV (saa7130): Add support for ELSA EX-VISION 700TV, which is the ELSA Japan's flagship model of the software encoding TV capture card. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d0456d1d67044ff2987190d0d8148a88f1a775af (commit)] * V4L/DVB (3326): Adding support for Terratec Prodigy XS: Adding support for Terratec Prodigy XS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=282b7cb3e03d9ada4067083e61919d74197a1e5a (commit)] * V4L/DVB (3343): KWorld HardwareMpegTV XPert: Add radio support: - add radio support for KWorld HardwareMpegTV XPert [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2798212e3ce0057336bc0807beb3213de1dc5be (commit)] * V4L/DVB (3302): Added support for the LifeView FlyDVB-T LR301 card: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d8466ece44c70555a101da73845955c443f4d18 (commit)] * V4L/DVB (3396): Add DVB-T support for the LifeView DVB Trio PCI card: This patch adds DVB-T support, no DVB-S yet [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=420f32fe4e3eed466a6563e15a89f4688134cc98 (commit)] * V4L/DVB (3291): Added support for xc3028 analogue tuner (Hauppauge HVR900, Terratec Hybrid XS): Added support for xc3028 to v4l which adds support for: * Terratec Hybrid XS (analogue) * Hauppauge HVR 900 (analogue) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0004fd59d57a5875db8897966c414a88b5dad481 (commit)] * V4L/DVB (3361): Add support for Kworld ATSC110: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e1410adc7cc9e8511327179b5b86864be17b7f9 (commit)] * V4L/DVB (3376): Add cpia2 camera support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ab33d5071de7a33616842882c11b5eb52a6c26a1 (commit)] * V4L/DVB (3408): DViCO FusionHDTV DVB-T Hybrid and ZL10353-based FusionHDTV DVB-T Plus support: Add support for the FE6600 tuner used on the DVB-T Hybrid board. Add support for the Zarlink ZL10353 DVB-T demodulator, which supersedes the MT352, used on the DViCO FusionHDTV DVB-T Hybrid and later model Plus boards. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=780dfef37e2c941985b708f67aa0074edc922bea (commit)] * V4L/DVB (3377): Support for Satelco EasyWatch DVB-S light: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36f4f334a169e5d42721d74b5d92fda89f792b06 (commit)] * V4L/DVB (3369): LifeView FlyDVB-T Duo: add support for remote control: The remote controller on the LifeView FlyDVB-T Duo card work flawlessly with the same settings as the LifeView FlyDVB-T LR301 card.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8029170b907e7bfac5f6ea3fcd5d076e90beaf3 (commit)] * V4L/DVB (3446): Saa7134: add support for AVerMedia A169 Dual Analog tuner card: - Added support for AVerMedia A169 Dual Analog tuner card (dual saa7134 decoders - only 1 working right now) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68593af311aadb541b3b70acea175dea8e9cf7ca (commit)] * IB: Add userspace support for resizing CQs: Add support to uverbs to handle resizing userspace CQs (completion queues), including adding an ABI for marshalling requests and responses. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33b9b3ee9709b19c4f02ab91571d53540d05c3d1 (commit)] * V4L/DVB (3449): Cx88 default picture controls values: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f9c907fdc331fc6062d758f46f65cb0d2dd11be (commit)] * sata_promise: Support FastTrak TX4300/TX4310: This patch adds support for the Promise FastTrak TX4300/TX4310 4-port PCI SATA controllers based on the PDC40719 chip.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1fd263c772e89706dee28aa794399ac4bd6b9c1 (commit)] * sata_sil24: add a new PCI ID for SiI 3124: Add a new PCI ID for SiI 3124.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b9d7e04a8daaf3e5afe775ec9cbbfda5e32dd5b (commit)] * libata: turn on ATAPI by default:[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=418dc1f5a805822fcf1118804ddc689a4156db4a (commit)] * [libata sata_mv] add 6042 support, fix 60xx/50xx EDMA configuration:[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4e7b89280d1d666e2c09e5ad36cf071796c4c7e (commit)] * [PATCH] libata: add per-device max_sectors[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b00eec1d58ee71131375bfeb86e64bceec3f5618 (commit)] * V4L/DVB (3445): LG TALN series: add PAL / SECAM support[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3629be8388a679590eb919919ee63e2715ec25e (commit)] * IB/uverbs: Support for query QP from userspace: Add support to uverbs to handle querying userspace QPs (queue pairs), including adding an ABI for marshalling requests and responses.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ccc9a24e01258a31ee2b964215e4ddddd2a02c4 (commit)] * IB/uverbs: Support for query SRQ from userspace: Add support to uverbs to handle querying userspace SRQs (shared receive queues), including adding an ABI for marshalling requests and responses. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8bdb0e8632e0f5061bd18b6934346cb609490135 (commit)] * IB/mthca: Add device-specific support for resizing CQs: Add low-level driver support for resizing CQs (both kernel and userspace) to mthca.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4885bf64bc2eb242ebebe67077cfe3688283b586 (commit)] * IB: Allow userspace to set node description: Expose a writable "node_desc" sysfs attribute for InfiniBand devices. This allows userspace to update the node description with information such as the node's hostname, so that IB network management software can tie its view to the real world [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5bcbbb9fe00128d500c2f473d5ddc8d8c2c53a7 (commit)] * IB: Enable FMR pool user to set page size: This patch allows the consumer to set the page size of "pages" mapped by the pool FMRs, which is a feature already existing in the base verbs API. On the cosmetic side it changes ib_fmr_attr.page_size field to be named page_shift.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d36f34aadf184d8cc4c240de2b6319ccea8334bb (commit)] * EHCI for Freescale 83xx: Adding a Host Mode USB driver for the Freescale 83xx.This driver supports both the Dual-Role (DR) controller and the Multi-Port-Host (MPH) controller present in the Freescale MPC8349.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=80cb9aee01245b38325dd84f1359b14a3f01f10d (commit)] * USB: Add ZC0301 Video4Linux2 driver: This patch adds a Video4Linux2 driver for ZC0301 Image Processor and Control Chip.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=60f780528f3ae603eb169a221628b93b6c6929f9 (commit)] * add EXPORT_SYMBOL_GPL_FUTURE(): This patch adds the ability to mark symbols that will be changed in the future, so that kernel modules that don't include MODULE_LICENSE("GPL") and use the symbols, will be flagged and printed out to the system log.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f28bb7e1d0188a993403ab39b774785892805e1 (commit)] * debugfs: Add debugfs_create_blob() helper for exporting binary data: I wanted to export a binary blob via debugfs, and although it was pretty easy it seems like it'd be easier if there was a helper for it. It's a pity we need the wrapper struct but I can't see a cleaner way to do it. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd308bc355a1aa4f202fe9a3133b6c676cb9606c (commit)] * USB: OHCI for AU1200: ALCHEMY: Add OHCI support for AU1200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d5fb7f1b5b832946eaf450b2a695ec3e7fd2d351 (commit)] * USB: add support for OCHI on AT91rm9200: This adds support for OHCI on AT91rm9200 based boards. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39a269c09f854d3d98cbb755b3568175f04efa10 (commit)] * USB: add support for AT91 gadget: This adds support for the USB peripheral controller on AT91 (rm9200, eventually also sam9261 or uClinux) platforms. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bae4bd848dc0b7e6defc7a5d62834a35d1eed06d (commit)] * recognize three more usb peripheral controllers: This adds declarations for three USB peripheral controllers: Two high speed USB cores that can be licensed from Mentor Graphics to be integrated into silicon: * "musbhsfc" is for peripherals only, as found in for example the IBM/AMCC 44EP processors. * "musbhdrc" is OTG-capable (dual role), and is found in various products including OMAP 2430 and the new DaVinci SOCs. The full speed controller on the FreeScale MPC8272.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c05ad4447e4ecbd61647c102fb6f2f5a6634ff3 (commit)] * [MIPS] Add early console for Cobalt.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e87dddeb92618d9dbb8b9f946a193739a4447609 (commit)] * USB: cp2101: add new device IDs: This patch adds a new device ID to the cp2101 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59224f5352542b968c41200954e56c26c4f0a075 (commit)] * USB: ftdi_sio: add Icom ID1 USB product and vendor ids: The Icom ID-1 1.2 GHz band digital transceiver is a new radio that has a USB interface. With this patch [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf58fbd5e86a43466e638407ff8a4eb7766a3b68 (commit)] * USB: add support for Creativelabs Silvercrest USB keyboard: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e56222ed52cec40427fa89f23b228232e3e327e (commit)] * USB: EHCI for AU1200: ALCHEMY: Add EHCI support for AU1200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76fa9a240de4294a097235c9ddd470c21eb3449e (commit)] * [IPV6]: ADDRCONF: Add accept_ra_pinfo sysctl.: This controls whether we accept Prefix Information in RAs.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4fd30eb18666972230689eb30e8f90844bce635 (commit)] * [PATCH] USB: cypress_m8: add support for the Nokia ca42-version 2 cable: This patch adds support for the Nokia ca42 version 2 cable to the cypress_m8 driver. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5c44e29e5637b5e6fe59d225eb4f438688b3849 (commit)] * [IPV6]: ROUTE: Add support for Router Preference (RFC4191).: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebacaaa0fdf4402cdf4c8e569f54af36b6f0aa2d (commit)] * [IPV6]: ROUTE: Add accept_ra_rt_info_max_plen sysctl.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c884d4c3b45cda904c2291d4723074ff523611 (commit)] * [NET] core: add RFC2863 operstate: this patch adds a dormant flag to network devices, RFC2863 operstate derived from these flags and possibility for userspace interaction. It allows drivers to signal that a device is unusable for user traffic without disabling queueing (and therefore the possibility for protocol establishment traffic to flow) and a userspace supplicant (WPA, 802.1X) to mark a device unusable without changes to the driver.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b00055aacdb172c05067612278ba27265fcd05ce (commit)] * [PATCH] USB: Pegasus: Linksys USBVPN1 support + cleanup: This patch adds a second linksys vendor-id (077b) and the product id of the pegasus based adapter USBVPN1 http://www1.linksys.com/Products/product.asp?prid=3D543&scid=3D30 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=efafe6fb72b2bbab40080a08f7946f1eadb9bad9 (commit)] * [IPV6]: ROUTE: Add Router Reachability Probing (RFC4191).: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=270972554c91acd29412d8b6a10e606041012106 (commit)] * [IPV6]: ROUTE: Add accept_ra_defrtr sysctl.: This controls whether we accept default router information in RAs.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65f5c7c1143fb8eed5bc7e7d8c926346e00fe3c0 (commit)] * [PATCH] USB serial: add navman driver: Thanks to Warren Lewis <wlewis@scn.org> for the information needed to write the driver and for testing it out. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9a66c64bb7033cb0180d419b2008acf7a141adc (commit)] * [IPV6]: ROUTE: Add router_probe_interval sysctl: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52e1635631b342803aecaf81a362c1464e3da2e5 (commit)] * [DCCP]: Initial feature negotiation implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=afe00251dd9b53d51de91ff0099961f42bbf3754 (commit)] * [DCCP] CCID2: Initial CCID2 (TCP-Like) implementation: For now CCID2 was turned the default for all SOCK_DCCP connections, but this will be remedied soon with the merge of the feature negotiation code. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a91aa3967398fb94eccc8da67c82bce9f67afdf (commit)] * [IPV6]: ROUTE: Add accept_ra_rtr_pref sysctl.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=930d6ff2e2a5f1538448d3b0b2652a8f0c0f6cba (commit)] * [BNX2]: Add ethtool -d support: Add ETHTOOL_GREGS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=244ac4f446ac6a19caf5eb692c4844f29e6478bf (commit)] * [TG3]: Add support for 5714S and 5715S: Add support for 5714S and 5715S [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4d2c558fd3e1f5e386b153f194aa8f0be496c77 (commit)] * [IPV6]: ROUTE: Add experimental support for Route Information Option in RA (RFC4191): [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70ceb4f53929f73746be72f73707cd9f8753e2fc (commit)] * [IRDA]: TOIM3232 dongle support: Here goes a patch for supporting TOIM3232 based serial IrDA dongles [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ac81ae34ec8898e7eb1388fe21e3cee7b626a88 (commit)] * [TG3]: Add 5787 nvram support: Support additional nvrams and new nvram format for 5787 and 5754 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b27777a9b9b2b6d1c06000b7a31262d198b4238 (commit)] * [IPSEC]: Sync series - SA expires: This patch allows a user to insert SA expires. This is useful to do on an HA backup for the case of byte counts but may not be very useful for the case of time based expiry. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53bc6b4d29c07664f3abe029b7e6878a1067899a (commit)] * [TG3]: Add 5787 and 5754 basic support: Add basic support for 2 new chips 5787 and 5754. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9ab5ad12b0d865bdb1b750d81192d34465541e9 (commit)] * [TCP]: MTU probing: Implementation of packetization layer path mtu discovery for TCP, based on the internet-draft currently found at <http://www.ietf.org/internet-drafts/draft-ietf-pmtud-method-05.txt>. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d424d5a674f782d0659a3b66d951f412901faee (commit)] * [IPSEC]: Sync series - acquire insert: This introduces a feature similar to the one described in RFC 2367: " ... the application needing an SA sends a PF_KEY SADB_ACQUIRE message down to the Key Engine, which then either returns an error or sends a similar SADB_ACQUIRE message up to one or more key management applications capable of creating such SAs. ... ... The third is where an application-layer consumer of security associations (e.g. an OSPFv2 or RIPv2 daemon) needs a security association. Send an SADB_ACQUIRE message from a user process to the kernel. <base, address(SD), (address(P),) (identity(SD),) (sensitivity,) proposal> The kernel returns an SADB_ACQUIRE message to registered sockets. <base, address(SD), (address(P),) (identity(SD),) (sensitivity,) proposal> The user-level consumer waits for an SADB_UPDATE or SADB_ADD message for its particular type, and then can use that association by using SADB_GET messages. " An app such as OSPF could then use ipsec KM to get keys [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=980ebd25794f0f87ac32844e2c73e9e81f0a72ba (commit)] * [IRDA]: nsc-ircc: support for yet another Thinkpad IrDA chipset: This patch simply adds support for a variation of the nsc-ircc PC8739x chipset, found in some IBM Thinkpad laptops. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ed79c9b7dea5cd9a55589a495cf96f00cd037d9 (commit)] * [DCCP] feat: Introduce sysctls for the default features: [root@qemu ~]# for a in /proc/sys/net/dccp/default/* ; do echo $a ; cat $a ; done /proc/sys/net/dccp/default/ack_ratio 2 /proc/sys/net/dccp/default/rx_ccid 3 /proc/sys/net/dccp/default/send_ackvec 1 /proc/sys/net/dccp/default/send_ndp 1 /proc/sys/net/dccp/default/seq_window 100 /proc/sys/net/dccp/default/tx_ccid 3 [root@qemu ~]# So if wanting to test ccid3 as the tx CCID one can just do: [root@qemu ~]# echo 3 > /proc/sys/net/dccp/default/tx_ccid [root@qemu ~]# echo 2 > /proc/sys/net/dccp/default/rx_ccid [root@qemu ~]# cat /proc/sys/net/dccp/default/[tr]x_ccid 2 3 [root@qemu ~]# Of course we also need the setsockopt for each app to tell its preferences, but for testing or defining something other than CCID2 as the default for apps that don't explicitely set their preference the sysctl interface is handy. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e55d912f5b75723159348a7fc7692f869a86636a (commit)] * [DCCP]: Make CCID2 be the default: As per the draft. This fixes the build when netfilter dccp components are built and dccp isn't. Thanks to Reuben Farrelly for reporting this. The following changesets will introduce /proc/sys/net/dccp/defaults/ to give more flexibility to DCCP developers and testers while apps doesn't use setsockopt to specify the desired CCID, etc. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93ce20928f6e197707add8f670ae0cd029107e8f (commit)] * [IRDA]: nsc-ircc: ISAPnP support: This enables PnP support for the nsc-ircc chipset. Since we can't fetch the chipset cfg_base from the PnP layer, we just use the PnP information as one more hint when probing the chip. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec4f32d550b94b4b66c9c7689bc09c6b32c8e82e (commit)] * [TG3]: Add new hard_start_xmit: Support 5787 hardware TSO using a new flag TG3_FLG2_HW_TSO_2. Since the TSO interface is slightly different and these chips have finally fixed the 4GB DMA problem and do not have the 40-bit DMA problem, a new hard_start_xmit is used for these chips. All previous chips will use the old hard_start_xmit that is now renamed tg3_start_xmit_dma_bug(). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a6f3074c2ea5a7b4ff5b18f0e1fd9b1257e1a29 (commit)] * [TG3]: Add new one-shot MSI handler: Support one-shot MSI on 5787. This one-shot MSI idea is credited to David Miller. In this mode, MSI disables itself automatically after it is generated, saving the driver a register access to disable it for NAPI. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fcfa0a32c767219c1bdad621ef4a3aff1904cbbd (commit)] * [TG3]: Add ipv6 checksum support: Support ipv6 tx csum on 5787 by setting NETIF_F_HW_CSUM. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c27dbdf64cba05d0cacc343118a7fd01d4b82f7 (commit)] * TCP/UDP getpeersec: This patch implements an application of the LSM-IPSec networking controls whereby an application can determine the label of the security association its TCP or UDP sockets are currently connected to via getsockopt and the auxiliary data mechanism of recvmsg. IOW: This patch enables a security-aware application to retrieve the security context of an IPSec security association a particular TCP or UDP socket is using. The application can then use this security context to determine the security context for processing on behalf of the peer at the other end of this connection. In the case of UDP, the security context is for each individual packet. An example application is the inetd daemon, which could be modified to start daemons running at security contexts dependent on the remote client. More details in the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c7946a7bf45ae86736ab3b43d0085e43947945c (commit)] * TCP: sysctl to allow TCP window > 32767 sans wscale: Back in the dark ages, we had to be conservative and only allow 15-bit window fields if the window scale option was not negotiated. Some ancient stacks used a signed 16-bit quantity for the window field of the TCP header and would get confused. Those days are long gone, so we can use the full 16-bits by default now. There is a sysctl added so that we can still interact with such old stacks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d99e02babae8bc20b836917ace07d93e318149 (commit)] * [BRIDGE]: use LLC to send STP: The bridge code can use existing LLC output code when building spanning tree protocol packets. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=12ac84c4a9c505e3e30529563b04cc8f6d5ebbf3 (commit)] * [BRIDGE]: use llc for receiving STP packets: Use LLC for the receive path of Spanning Tree Protocol packets. This allows link local multicast packets to be received by other protocols (if they care), and uses the existing LLC code to get STP packets back into bridge code. The bridge multicast address is also checked, so bridges using other link local multicast addresses are ignored. This allows for use of different multicast addresses to define separate STP domains. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf0f02d04a830c8202e6a8f8bb37acc6c1629a91 (commit)] * [IA64] support for cpu0 removal: here is the BSP removal support for IA64. Its pretty much the same thing that was released a while back, but has your feedback incorporated. - Removed CONFIG_BSP_REMOVE_WORKAROUND and associated cmdline param - Fixed compile issue with sn2/zx1 due to a undefined fix_b0_for_bsp - some formatting nits (whitespace etc) This has been tested on tiger and long back by alex on hp systems as well. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ff741906ad3cf4b8ca1a958acb013a97a6381ca2 (commit)] * [PATCH] Enable mprotect on huge pages: 2.6.16-rc3 uses hugetlb on-demand paging, but it doesn_t support hugetlb mprotect. From: David Gibson <david@gibson.dropbear.id.au> Remove a test from the mprotect() path which checks that the mprotect()ed range on a hugepage VMA is hugepage aligned (yes, really, the sense of is_aligned_hugepage_range() is the opposite of what you'd guess :-/). In fact, we don't need this test. If the given addresses match the beginning/end of a hugepage VMA they must already be suitably aligned. If they don't, then mprotect_fixup() will attempt to split the VMA. The very first test in split_vma() will check for a badly aligned address on a hugepage VMA and return -EINVAL if necessary. From: "Chen, Kenneth W" <kenneth.w.chen@intel.com> On i386 and x86-64, pte flag _PAGE_PSE collides with _PAGE_PROTNONE. The identify of hugetlb pte is lost when changing page protection via mprotect. A page fault occurs later will trigger a bug check in huge_pte_alloc(). The fix is to always make new pte a hugetlb pte and also to clean up legacy code where _PAGE_PRESENT is forced on in the pre-faulting day. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f860591ffb29738cf5539b6fbf27f50dcdeb380 (commit)] * [PATCH] selinux: Disable automatic labeling of new inodes when no policy is loaded: This patch disables the automatic labeling of new inodes on disk when no policy is loaded. Discussion is here: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180296 In short, we're changing the behavior so that when no policy is loaded, SELinux does not label files at all. Currently it does add an 'unlabeled' label in this case, which we've found causes problems later. SELinux always maintains a safe internal label if there is none, so with this patch, we just stick with that and wait until a policy is loaded before adding a persistent label on disk. The effect is simply that if you boot with SELinux enabled but no policy loaded and create a file in that state, SELinux won't try to set a security extended attribute on the new inode on the disk. This is the only sane behavior for SELinux in that state, as it cannot determine the right label to assign in the absence of a policy. That state usually doesn't occur, but the rawhide installer seemed to be misbehaving temporarily so it happened to show up on a test install. Acked-by: James Morris <jmorris@namei.org> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8aad38752e81d1d4de67e3d8e2524618ce7c9276 (commit)] * [BRIDGE]: allow show/store of group multicast address: Bridge's communicate with each other using Spanning Tree Protocol over a standard multicast address. There are times when testing or layering bridges over existing topologies or tunnels, when it is useful to use alternative multicast addresses for STP packets. The 802.1d standard has some unused addresses, that can be used for this. This patch is restrictive in that it only allows one of the possible addresses in the standard. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fda93d92d7824159d8532995072dde2bee4bc4b3 (commit)] * [NETFILTER]: Add H.323 conntrack/NAT helper: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e35941d990123f155b02d5663e51a24f816b6f3 (commit)] * [PATCH] sky2: add MSI support: Add MSI support to sky2 driver. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb2690a9bfa330aff3de29cbdde526591ac90dce (commit)] * [NET]: {get|set}sockopt compatibility layer: This patch extends {get|set}sockopt compatibility layer in order to move protocol specific parts to their place and avoid huge universal net/compat.c file in the future. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3fdadf7d27e3fbcf72930941884387d1f4936f04 (commit)] * [PATCH] sky2: remove support for untested Yukon EC/rev 0: The Yukon EC/rev0 (A1) chipset requires a bunch of workarounds. I copied these from sk98lin. But since they never got tested and add more cruft to the code; any attempt at using driver as is on this version will probably fail. It looks like this was a early engineering sample chip revision, if it ever shows up on a real system. Produce an error message. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=290d4de5b71f60bb5853a7ef9f0e8c817cd26892 (commit)] * [SCSI] sas: add support for enclosure and bad ID rphy attributes: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a012564136a665f8d63443c057ba368572b483df (commit)] * [SCSI] mptsas: add support for enclosure and bay identifier attributes: Adds support to retrieve the enclosure and bay identifiers. This patch is from Eric with minor modifications from me, rewritten from a buggy patch of mine, based on the earlier CSMI implementation from Eric.. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e3094447e013a59ccedcf60f6055f18225bd8465 (commit)] * [SCSI] qla2xxx: Add ISP54xx support.: Chip is similar in form to our ISP24xx offering. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=044cc6c8ec311c4ddeebfcc31c53dea282de70b7 (commit)] * [PATCH] SELinux: add slab cache for inode security struct: Add a slab cache for the SELinux inode security struct, one of which is allocated for every inode instantiated by the system. The memory savings are considerable. On 64-bit, instead of the size-128 cache, we have a slab object of 96 bytes, saving 32 bytes per object. After booting, I see about 4000 of these and then about 17,000 after a kernel compile. With this patch, we save around 530KB of kernel memory in the latter case. On 32-bit, the savings are about half of this. Acked-by: Stephen Smalley <sds@tycho.nsa.gov> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7cae7e26f245151b9ccad868bf2edf8c8048d307 (commit)] * [SCSI] 3ware 9000 add big endian support: The attached patch updates the 3ware 9000 driver: - Fix 9550SX pchip reset timeout. - Add big endian support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=75913d9bb8328c4eca54cad39a5fb665b48383eb (commit)] * [SCSI] allow displaying and setting of cache type via sysfs: I think I promised to do this two years ago This patch adds a scsi_disk class with the cache type and FUA parameters, so user land application can easily obtain them without having to parse dmesg. It also allows setting the cache type (use with care...) This patch is a bit dangerous because I've replaced the disk kref with a class device reference ... [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6bdaa1f17dd32ec62345c7b57842f53e6278a2fa (commit)] * [SCSI] lpfc 8.1.2: Added support for FAN: Added support for FAN [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5024ab179c13d763f95c8391f45f22309609f479 (commit)] * [SCSI] lpfc 8.1.2: Add module parameter to limit number of outstanding commands per lpfc HBA: Add module parameter to limit number of outstanding commands per lpfc HBA [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b28485acb930f67c014024bc3b9c01129124e566 (commit)] * [NET]: allow 32 bit socket ioctl in 64 bit kernel: Since the register_ioctl32_conversion() patch in the kernel is now obsolete, provide another method to allow 32 bit user space ioctls to reach the kernel. Acked-by: Arnd Bergmann <arnd@arndb.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=89bbfc95d65839d6ae23ddab8a3cc5af4ae88383 (commit)] * [X25]: ioctl conversion 32 bit user to 64 bit kernel: To allow 32 bit x25 module structures to be passed to a 64 bit kernel via ioctl using the new compat_sock_ioctl registration mechanism instead of the obsolete 'register_ioctl32_conversion into hash table' mechanism Acked-by: Arnd Bergmann <arnd@arndb.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b06e6ba25a37fe1c289049d0e0300d71ae39eff (commit)] * SCSI mptspi: Add transport class Domain Validation: This is the first half of a patch to add the generic domain validation to mptspi. It also creates a secondary "virtual" channel for raid component devices since these are now exported with no_uld_attach. Still to be done is to plug back the extra parameter setting and DV pieces on reset and hotplug [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c92f222e1f14588171e63b550ca8c85fa9130061 (commit)] * [SCSI] qla2xxx: Add VPD sysfs attribute.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f6417905cf272337a9762e1f92a1fffa651fcd3 (commit)] * X25: allow ITU-T DTE facilities for x25: Allows use of the optional user facility to insert ITU-T (http://www.itu.int/ITU-T/) specified DTE facilities in call set-up x25 packets. This feature is optional; no facilities will be added if the ioctl is not used, and call setup packet remains the same as before. If the ioctls provided by the patch are used, then a facility marker will be added to the x25 packet header so that the called dte address extension facility can be differentiated from other types of facilities (as described in the ITU-T X.25 recommendation) that are also allowed in the x25 packet header [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a64b7b936dcd926ace745c07c14f45ecfaddb034 (commit)] * [X25]: dte facilities 32 64 ioctl conversion: Allows dte facility patch to use 32 64 bit ioctl conversion mechanism [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a6b9f2e763a1d1492e164f13c13b995a9b98d78 (commit)] * [NET]: socket timestamp 32 bit handler for 64 bit kernel: Get socket timestamp handler function that does not use the ioctl32_hash_table. Acked-by: Arnd Bergmann <arnd@arndb.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0ac2614412e2b597e2d5bfbd3960b4f73718b41 (commit)] * [ALSA] usb-audio: add Edirol PC-50 support: Modules: USB generic driver Add a quirk entry for the Edirol PC-50. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=415b09e4559b0c95666af3cebe918386212aef98 (commit)] * ALSA: add Zoom Video support in the ES18xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95b712965f0a50365cc0128dacc27acf562f2ff1 (commit)] * ALSA: Add support for EDIROL UM-3ex [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e03173fce2f2c233b755f2d668d6d4247a717453 (commit)] * [ALSA] PCM midlevel & PCM OSS - make procfs & OSS plugin code optional: Modules: ALSA Core,PCM Midlevel,ALSA<-OSS emulation,USB generic driver 1) The verbose procfs code for the PCM midlevel and usb audio can be removed now (more patches will follow). CONFIG_SND_VERBOSE_PROCFS 2) The PCM OSS plugin system can be also compiled optionaly. CONFIG_SND_PCM_OSS_PLUGINS [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21a3479a0b606d36fe24093f70a1c27328cec286 (commit)] * [ALSA] bt848 - added Leadtek Winfast tv 2000xp delux to whitelist: Modules: BT87x driver - added 0x107d:0x6606 to whitelist - print also the pci device ID for developers when model is not known [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abf58f095525c0e46b4ee64a4f9c2084b4c08f4c (commit)] * [ALSA] ice1724 - Add support of Prodigy-7.1LT: Modules: ICE1712 driver Added the support of Prodigy-7.1LT board. The patch taken from ALSA BTS bug#1090. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45fe722ba814dc50410729a473022c550dd96910 (commit)] * ALSA hda: add PCM for 2nd ADC on ALC260 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c5186ed6b25278df595edf2d355ee87b00c4426 (commit)] * [ALSA] hda-codec - Add missing model entries for Intel 945 boards: Modules: HDA Codec driver Added the missing entries for Intel 945 boards. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=353b9e667042d6faa15a41df022bf38c949a7b2f (commit)] * [ALSA] usb-audio: add Miditech Play'n Roll support: Modules: USB generic driver Add a quirk entry for the Miditech Play'n Roll. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2b8229dde970b95e407d90a140e8a8753e1f0f6 (commit)] * [ALSA] usb-audio: add Roland G-70 support: Modules: USB generic driver Add a quirk entry for the Roland G-70. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cdca881d79dc4133b35db5c855b688ee9cba12a9 (commit)] * [ALSA] hda-codec - Fix AD198x recording and add HP model: Modules: HDA Codec driver - Fixed recording of AD1981HD/AD1983/AD1986A - Added model 'hp' to AD1981HD for HP nx6320 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=18a815d7426986890b88078ea63b77732baca0b5 (commit)] * ALSA: ac97: Added a codec patch for LM4550 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ba22429d3ea3b9945735b88d4dde74711171ffab (commit)] * ALSA HDA/ALC260: add 'acer' models [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0bfc90e95946ac420e2de049707232ce18ddeba9 (commit)] * [ALSA] via82xx - Add dxs entry for FSC Amilo L7300: Modules: VIA82xx driver Added dxs_support entry for FSC Amilo L7300. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd84b0cc99d267d6512f01a55af7dbb673f784af (commit)] * [ALSA] Add default entry for CTL Travel Master U553W: Modules: HDA Codec driver Added the default entry of ALC880 configuration table for CTL Travel Master U553W. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1fc8047310c9d3147f9521af651a5823a72d218 (commit)] * [ALSA] hda-codec - Add lg model for LG laptop: Modules: Documentation,HDA Codec driver Added a new model 'lg' for LG laptop (m1 express dual) with ALC880 codec. Also clean up the initialization/unsol_event hooks in patch_realtek.c. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae6b813a4dbba2713df497c032798b845289653f (commit)] * [ALSA] usb-audio: add MDP-5/EZ-J24 support: Modules: USB generic driver Add support for the Yamaha MDP-5 and EZ-J24. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ccb4a4387b3ed8c5a03862ef1e6f7be484ade25 (commit)] * [ALSA] usb-audio: add Casio AP-80R support: Modules: USB generic driver Add a quirk for the Casio AP-80R. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0243ef71acc0b5bd734b511ae6d9b4b481c1dc5e (commit)] * [ALSA] emu10k1 - Add the entry for Audigy4 SB0400: Modules: EMU10K1/EMU10K2 driver Added the missing card entry for Audigy4 SB0400 model. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4fcf0117d599965a5916985c9923776628e16779 (commit)] * [ALSA] via82xx - Add dxs entry for ASRock mobo: Modules: VIA82xx driver Add dxs_support entry for ASRock mobo. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42611c02ac31e44abd53893209460ce60205cb8e (commit)] * [ALSA] hda-codec - Fix for Samsung R65 and ASUS A6J: Modules: Documentation,HDA Codec driver Added a new model 'laptop-eapd' to AD1986A codec for Samsung R65 and ASUS A6J laptops. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=825aa97241b46d2819c1db984c86a1a9df41b8e1 (commit)] * [ALSA] hda-codec - Fix support of laptops with AD1986A codec: Modules: Documentation,HDA Codec driver Fix the support of laptops with AD1986A HD-audio codec. Added new models '3stack' and 'laptop'. Currently, fixed for FSC V2060 and Samsung M50. Also fixed the description of missing models in ALSA-Configuration.txt. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9230d2148a0c53188c216b446cf17ea213ebca8a (commit)] * [ALSA] hda-codec - Fix Aopen i915GMm-HFS mobo: Modules: HDA Codec driver Add a model entry for Aopen i915GMm-HFS mobo with ALC880 codec. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede3531e8ce2deb81e477e18d72ef10efeb20ebe (commit)] * [ALSA] hda-codec - Add support for VAIO FE550G and SZ110: Modules: Documentation,HDA Codec driver Add support for VAIO FE550G and SZ110 laptops with Sigmatel codec (7661). The new model 'vaio' is added. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db064e503419c32df463326a3891a973bb30582e (commit)] * [ALSA] hda-codec - Add model entry for FIC P4M-915GD1: Modules: HDA Codec driver Add model entry for FIC P4M-915GD1 with ALC880 codec. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a12606cff106335650f0e9382e87b0fb08733eff (commit)] * [ALSA] usb-audio: add Maya44 mixer control names: Modules: USB generic driver Add mixer control names for the AudioTrak Maya44 USB. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c7a93b852bf9ffcf466b304fa3cfac8823f9b932 (commit)] * [ALSA] hda-codec - Add support for HP nx9420 laptop: Modules: HDA Codec driver Added the support for HP nx9420 (AngelFire) laptop with AD1981HD codec. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2c2844c5a486020e5d564870d114a7f4cd5ea4f (commit)] * [ALSA] bt87x: add more DVB card IDs: Modules: BT87x driver Add more PCI subsystem IDs of DVB cards to the blacklist of cards the driver is to ignore. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0110f50b6eb7a833f0e1e4e9a58d04a03d58939c (commit)] * [PATCH] ahci: add softreset: Now that libata is smart enought to handle both soft and hard resets, add softreset method. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4658f79bec0b51222e769e328c2923f39f3bda77 (commit)] * [ARM] 3334/1: Add support for IXDP28x5 platforms: Patch from Deepak Saxena This patch adds support for Intel's IXDP28x5 platform. This is just and IXDP2801 with a new CPU rev but the bootloader has been updated to reflect a new machine ID so we just build support for it by default when we build IXDP2801. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0328ad23cfd8a0501f44a1b83e49d5b0e47e2b3c (commit)] * [ARM] 3327/1: S3C2410 - add osiris machine support: Patch from Ben Dooks Support for Simtec IM2440D20 CPU modules (Osiris) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=110d322b29c08d8cf1dba599fd45ad2b9752a4bb (commit)] * [ALSA] usb-audio: add Casio PL-40R support: Modules: USB generic driver Add a quirk entry for the Casio PL-40R. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9808dc962f6780ce7eac47c82400fede7f4a08b3 (commit)] * [ALSA] hda-codec - Add support for ASUS P4GPL-X: Modules: HDA Codec driver Added the support ASUS P4GPL-X with ALC880 codec. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84f3430c7255668a0298d166605d27e3c96b5de4 (commit)] * [ARM] 3369/1: ep93xx: add core cirrus ep93xx support: Patch from Lennert Buytenhek This patch adds support for the Cirrus ep93xx series of CPUs. The ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs, IrDA, MaverickCrunch floating point coprocessor, between 24 and 64 GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster engine, graphics accelerator, IDE controller and a bunch of other stuff. This patch adds the core ep93xx support code, and support for the Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7736d47a11a771ba87314be563b2cb6b8d11d14 (commit)] * [ARM] 3374/1: ep93xx: gpio interrupt support: Patch from Lennert Buytenhek Add GPIO interrupt support for the first 16 GPIO lines (port A and B.) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd20ff5793b4ece4fa3e9e0fcf8e6bbd93526215 (commit)] * [NETFILTER]: nf_conntrack: support for layer 3 protocol load on demand: x_tables matches and targets that require nf_conntrack_ipv[4|6] to work don't have enough information to load on demand these modules. This patch introduces the following changes to solve this issue: o nf_ct_l3proto_try_module_get: try to load the layer 3 connection tracker module and increases the refcount. o nf_ct_l3proto_module put: drop the refcount of the module. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b9f78f9fca626875af8adc0f7366a38b8e625a0e (commit)] * [PATCH] sis900 adm7001 PHY support: this patch is required to get a SIS964 based motherboard ethernet working (FSC D1875) (picking the #1 transceiver, instead of the last one, in case no known ones were found might be a better default, and would have worked in this case too) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=494aced2cda34c186083f7d53c419426eea3d584 (commit)] * powerpc: Implement accurate task and CPU time accounting: This implements accurate task and cpu time accounting for 64-bit powerpc kernels. Instead of accounting a whole jiffy of time to a task on a timer interrupt because that task happened to be running at the time, we now account time in units of timebase ticks according to the actual time spent by the task in user mode and kernel mode. We also count the time spent processing hardware and software interrupts accurately. This is conditional on CONFIG_VIRT_CPU_ACCOUNTING. If that is not set, we do tick-based approximate accounting as before [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6622f63db86fcbd41bf6fe05ddf2e00c1e51ced (commit)] * ARM: S3C24XX: add USB bus clock source [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36c64af4e013ddf44c44298f50ff138ef1e2e7b7 (commit)] * [PATCH] Make CONFIG_REGPARM enabled by default: Make CONFIG_REGPARM enabled by default. It's a noticable win both for size and for performance, and gcc[34] handles it correctly. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b824eb605ccba995fd32c6590aed365f93d48002 (commit)] * swsusp: Introduce the low level interface that can be used for handling the snapshot of the system memory by the in-kernel swap-writing/reading code of swsusp and the userland interface code (to be introduced shortly). Also change the way in which swsusp records the allocated swap pages and, consequently, simplifies the in-kernel swap-writing/reading code (this is necessary for the userland interface too) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f577eb30afdc68233f25d4d82b04102129262365 (commit)] * PPC32 8xx: support for the physmapped flash on m8xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=076d022c566fddde41fd4a858dd24bacad8304d7 (commit)] * powerpc numa: Support sparse online node map: The powerpc numa code unconditionally onlines all nodes from 0 to the highest node id found, regardless of whether cpus or memory are present in the nodes, which wastes 8K per node and complicates some cpu and memory hotplug situations, such as adding a resource that doesn't map to one of the nodes discovered at boot. Instead, this feature set nodes online as resources are scanned, and falls back to node 0 only when we're sure this isn't a NUMA machine [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=482ec7c403d239bb4f1732faf9a14988094ce08b (commit)] * powerpc: Add PCI support for 8540 ADS to powerpc tree [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8080d5497146d5d27d9e8e78229d1adc7fe280cf (commit)] * swsusp: Introduces a user space interface for swsusp. The interface is based on a special character device, called the snapshot device, that allows user space processes to perform suspend and resume-related operations with the help of some ioctls and the read()/write() functions. Additionally it allows these processes to allocate free swap pages from a selected swap partition, called the resume partition, so that they know which sectors of the resume partition are available to them. The interface uses the same low-level system memory snapshot-handling functions that are used by the built-it swap-writing/reading code of swsusp. To read the interface documentation see the commit [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e1819d615f24ce0726a7d0bd3dd0152d7b21654 (commit)] * powerpc: Add platform support for MPC834x USB controllers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b10cfd40e3fa1c1663b9c9fa22260d41e669c6f (commit)] * i386: SMP "alternatives": switching at runtime between different code versions for UP and SMP. The code can patch both SMP->UP and UP->SMP. The UP->SMP case is useful for CPU hotplug. With CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and when the number of CPUs goes down to 1, and switches to SMP when the number of CPUs goes up to 2. Without CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is patched once at boot time (if needed) and the tables are released afterwards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a0b5817ad97bb718ab85322759d19a238712b47 (commit)] * i386: allow disabling the "sep" feature (X86_FEATURE_SEP) at boot. This forces use of the int80 vsyscall, useful mainly for testing or benchmarking the int80 vsyscall code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4f88651125e2ca8b106b6f65b65ea45776517bf3 (commit)] * XFS: Reenable the noikeep (delete inode cluster space) option by default [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e15f195cfb2fb1f2af0fdfc21277643deb26c0df (commit)] * Shrinks sizeof(files_struct) and better layout: 1) Reduce the size of (struct fdtable) to exactly 64 bytes on 32bits platforms, lowering kmalloc() allocated space by 50% [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c9e63fd38a2fb2181668a0cdd622a3c23cfd567 (commit)] * XFS: reorganize some of the in-core file extent:[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4eea22f01bb4fdba1aab4430c33adbe88d9d4985 (commit)] * [XFS] 929045 567344 This mod introduces multi-level in-core file extent: xfs-linux:xfs-kern:207390a. The new multi-level extent allocations are only required for heavily fragmented files, so the old-style linear extent list is used on files until the extents reach a pre-determined size of 4k. 4k buffers are used because this is the system page size on Linux i386 and systems with larger page sizes don't seem to gain much, if anything, by using their native page size as the extent buffer size. Also, using 4k extent buffers everywhere provides a consistent interface for CXFS across different platforms. The 4k extent buffers are managed by an indirection array (xfs_ext_irec_t) which is basically just a pointer array with a bit of extra information to keep track of the number of extents in each buffer as well as the extent offset of each buffer. Major changes include: - Add multi-level in-core file extent functionality to the xfs_iext_ subroutines introduced in mod: xfs-linux:xfs-kern:207390a - Introduce 13 new subroutines which add functionality for multi-level in-core file extents: xfs_iext_add_indirect_multi() xfs_iext_remove_indirect() xfs_iext_realloc_indirect() xfs_iext_indirect_to_direct() xfs_iext_bno_to_irec() xfs_iext_idx_to_irec() xfs_iext_irec_init() xfs_iext_irec_new() xfs_iext_irec_remove() xfs_iext_irec_compact() xfs_iext_irec_compact_pages() xfs_iext_irec_compact_full() xfs_iext_irec_update_extoffs() SGI-PV: 928864 SGI-Modid: xfs-linux-melb:xfs-kern:207393a [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0293ce3a9fd1b34c933a96577a8ba737b681cf75 (commit)] * [TG3]: Add 5755 support: Add support for new chip 5755 which is very similar to 5787. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af36e6b6d7f4ad7a5ccfd14dfa71ec941255f93d (commit)] * [PATCH] i2c: scx200_acb add support for the CS5535/CS5536: scx200_acb: Add support for the CS5535/CS5536 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16ffc5c99554bc1630bc3939e0950a75b2b1c811 (commit)] * [TG3]: Add 5755 nvram support: Add 5755 nvram support. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3c7b886978bef42f5ea487dec376c482d3cd7e3 (commit)] * [PATCH] acpiphp: add dock event handling: These patches add generic dock event handling to acpiphp. If there are pci devices that need to be inserted/removed after the dock event, the event notification will be handed down to the normal pci hotplug event handler in acpiphp so that new bridges/devices can be enumerated. Because some dock stations do not have pci bridges or pci devices that need to be inserted after a dock, acpiphp will remain loaded to handle dock events even if no hotpluggable pci slots are discovered. You probably need to have the pci=assign-busses kernel parameter enabled to use these patches, and you may not allow ibm_acpi to handle docking notifications and use this patch. This patch incorporates feedback provided by many. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=20416ea54087c25502d6fb973b8e119973e16341 (commit)] * [PATCH] acpiphp: add new bus to acpi: If we add a new bridge with subordinate busses, we should call make sure that acpi is notified so that the PRT (if present) can be read and drivers who have registered on this bus will be notified when it is started. Also make sure to use the max reserved bus number for the starting the bus scan. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15a1ae74879925d0d3f71ebc3f56d0a2c5db393a (commit)] * [PATCH] hwmon: Add support for the Winbond W83687THF: Add support for the Winbond W83687THF chip to the w83627hf hardware monitoring driver. This new chip is almost similar to the already supported W83627THF chip, except for VID and a few other minor changes. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c2db6ce14a743ac5f8973124272cf425c4f86b90 (commit)] * [PATCH] I2C: i2c-piix4: Add Broadcom HT-1000 support: Add Broadcom HT-1000 south bridge's PCI ID to i2c-piix driver. Note that at least on Supermicro H8SSL it uses non-standard SMBHSTCFG = 3 and standard values like 0 or 9 causes hangup. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f7ea3c58c9aa571617a9d77dd2fbd4bd81cc50a (commit)] * [PATCH] PCI: the scheduled removal of PCI_LEGACY_PROC: This patch contains the scheduled removal of PCI_LEGACY_PROC. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eeca8e688b6affba4cd85262152fdd1b274ad33 (commit)] * [PATCH] relay: add sendfile() support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=221415d76231d9012871e6e6abcbad906c46626a (commit)] * [PATCH] hwmon: Support the Pentium M VID code: Add support for the Intel Pentium M series to the hwmon-vid driver. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c537fb287e68b84df685f4730348e83a163367b (commit)] * [PATCH] relay: migrate from relayfs to a generic relay API: Original patch from Paul Mundt, sysfs parts removed by me since they were broken. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b86ff981a8252d83d6a7719ae09f3a05307e3592 (commit)] * [PATCH] wireless/airo: cache wireless scans: Observed problems when multiple processes request scans and subsequently scan results. This causes a scan result request to hit card registers before the scan is complete, returning an incomplete scan list and possibly making the card very angry. Instead, cache the results of a wireless scan and serve result requests from the cache, rather than hitting the hardware for them. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e75af30d529d54fc650586776c100d0665c0c93 (commit)] * NTFS: Add support for sparse files which have a compression unit of 0.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0646a1f04f1ec4c7514e5b00496b54e054a2c99 (commit)] * [PATCH] WE-20 for kernel 2.6.16: This is version 20 of the Wireless Extensions. This is the completion of the RtNetlink work I started early 2004, it enables the full Wireless Extension API over RtNetlink. Few comments on the patch : o totally driver transparent, no change in drivers needed. o iwevent were already RtNetlink based since they were created (around 2.5.7). This adds all the regular SET and GET requests over RtNetlink, using the exact same mechanism and data format as iwevents. o This is a Kconfig option, as currently most people have no need for it. Surprisingly, patch is actually small and well encapsulated. o Tested on SMP, attention as been paid to make it 64 bits clean. o Code do probably too many checks and could be further optimised, but better safe than sorry. o RtNetlink based version of the Wireless Tools available on my web page for people inclined to try out this stuff. I would also like to thank Alexey Kuznetsov for his helpful suggestions to make this patch better. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=711e2c33ac9221a419a9e28d05dd78a6a9c5fd4d (commit)] * [PATCH] wireless: Add softmac layer to the kernel: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=370121e5190a86a2d8a717ecd6f33028c7dc6fd4 (commit)] * [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 (commit)] * [PATCH] cpuset memory spread page cache implementation and hooks: Change the page cache allocation calls to support cpuset memory spreading. See the previous patch, cpuset_mem_spread, for an explanation of cpuset memory spreading. On systems without cpusets configured in the kernel, this is no change. On systems with cpusets configured in the kernel, but the "memory_spread" cpuset option not enabled for the current tasks cpuset, this adds a call to a cpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE. On tasks in cpusets with "memory_spread" enabled, this adds a call to a cpuset routine that computes which of the tasks mems_allowed nodes should be preferred for this allocation. If memory spreading applies to a particular allocation, then any other NUMA mempolicy does not apply. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=44110fe385af23ca5eee8a6ad4ff55d50339097a (commit)] * [PATCH] cpuset memory spread basic implementation: This patch provides the implementation and cpuset interface for an alternative memory allocation policy that can be applied to certain kinds of memory allocations, such as the page cache (file system buffers) and some slab caches (such as inode caches). The policy is called "memory spreading." If enabled, it spreads out these kinds of memory allocations over all the nodes allowed to a task, instead of preferring to place them on the node where the task is executing. All other kinds of allocations, including anonymous pages for a tasks stack and data regions, are not affected by this policy choice, and continue to be allocated preferring the node local to execution, as modified by the NUMA mempolicy. There are two boolean flag files per cpuset that control where the kernel allocates pages for the file system buffers and related in kernel data structures. They are called 'memory_spread_page' and 'memory_spread_slab'. If the per-cpuset boolean flag file 'memory_spread_page' is set, then the kernel will spread the file system buffers (page cache) evenly over all the nodes that the faulting task is allowed to use, instead of preferring to put those pages on the node where the task is running. If the per-cpuset boolean flag file 'memory_spread_slab' is set, then the kernel will spread some file system related slab caches, such as for inodes and dentries evenly over all the nodes that the faulting task is allowed to use, instead of preferring to put those pages on the node where the task is running. The implementation is simple. Setting the cpuset flags 'memory_spread_page' or 'memory_spread_cache' turns on the per-process flags PF_SPREAD_PAGE or PF_SPREAD_SLAB, respectively, for each task that is in the cpuset or subsequently joins that cpuset. In subsequent patches, the page allocation calls for the affected page cache and slab caches are modified to perform an inline check for these flags, and if set, a call to a new routine cpuset_mem_spread_node() returns the node to prefer for the allocation. The cpuset_mem_spread_node() routine is also simple. It uses the value of a per-task rotor cpuset_mem_spread_rotor to select the next node in the current tasks mems_allowed to prefer for the allocation. This policy can provide substantial improvements for jobs that need to place thread local data on the corresponding node, but that need to access large file system data sets that need to be spread across the several nodes in the jobs cpuset in order to fit. Without this patch, especially for jobs that might have one thread reading in the data set, the memory allocation across the nodes in the jobs cpuset can become very uneven. A couple of Copyright year ranges are updated as well. And a couple of email addresses that can be found in the MAINTAINERS file are removed. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=825a46af5ac171f9f41f794a0a00165588ba1589 (commit)] * [PATCH] W1: Add the DS2482 I2C-to-w1 bridge driver.: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=baf12ae29ab4cc6381e21b2e1a3af75a6a8f7566 (commit)] * [PATCH] vfs: MS_VERBOSE should be MS_SILENT: The meaning of MS_VERBOSE is backwards; if the bit is set, it really means, "don't be verbose". This is confusing and counter-intuitive. In addition, there is also no way to set the MS_VERBOSE flag in the mount(8) program in util-linux, but interesting, it does define options which would do the right thing if MS_SILENT were defined, which unfortunately we do not: #ifdef MS_SILENT { "quiet", 0, 0, MS_SILENT }, /* be quiet */ { "loud", 0, 1, MS_SILENT }, /* print out messages. */ #endif So the obvious fix is to deprecate the use of MS_VERBOSE and replace it with MS_SILENT. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b04c997b1120feefa1e6ee8e2902270bc055cd2 (commit)] * [PATCH] s390: channel path measurements: Gather extended measurements for channel paths from the channel subsystem and expose them to userspace via a sysfs attribute. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=495a5b45ac33b8fe2c49780fdbcc8014cb6d6ddc (commit)] * [PATCH] cpuset memory spread: slab cache format: Rewrap the overly long source code lines resulting from the previous patch's addition of the slab cache flag SLAB_MEM_SPREAD. This patch contains only formatting changes, and no function change. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fffb60f93ce5880aade88e01d7133b52a4879710 (commit)] * [PATCH] cpuset memory spread: slab cache filesystems: Mark file system inode and similar slab caches subject to SLAB_MEM_SPREAD memory spreading. If a slab cache is marked SLAB_MEM_SPREAD, then anytime that a task that's in a cpuset with the 'memory_spread_slab' option enabled goes to allocate from such a slab cache, the allocations are spread evenly over all the memory nodes (task->mems_allowed) allowed to that task, instead of favoring allocation on the node local to the current cpu [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4b6a9316fab51af611dc8671f296734089f6a22a (commit)] * [PATCH] CONFIG_UNWIND_INFO: As a foundation for reliable stack unwinding, this adds a config option (available to all architectures except IA64 and those where the module loader might have problems with the resulting relocations) to enable the generation of frame unwind information. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=604bf5a216e7f2d97cdf62614ca1281921531040 (commit)] * [PATCH] fadvise(): write commands: Add two new linux-specific fadvise extensions(): LINUX_FADV_ASYNC_WRITE: start async writeout of any dirty pages between file offsets `offset' and `offset+len'. Any pages which are currently under writeout are skipped, whether or not they are dirty. LINUX_FADV_WRITE_WAIT: wait upon writeout of any dirty pages between file offsets `offset' and `offset+len'. By combining these two operations the application may do several things: LINUX_FADV_ASYNC_WRITE: push some or all of the dirty pages at the disk. LINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE: push all of the currently dirty pages at the disk. LINUX_FADV_WRITE_WAIT, LINUX_FADV_ASYNC_WRITE, LINUX_FADV_WRITE_WAIT: push all of the currently dirty pages at the disk, wait until they have been written. It should be noted that none of these operations write out the file's metadata. So unless the application is strictly performing overwrites of already-instantiated disk blocks, there are no guarantees here that the data will be available after a crash. To complete this suite of operations I guess we should have a "sync file metadata only" operation. This gives applications access to all the building blocks needed for all sorts of sync operations. But sync-metadata doesn't fit well with the fadvise() interface. Probably it should be a new syscall: sys_fmetadatasync(). The patch also diddles with the meaning of `endbyte' in sys_fadvise64_64(). It is made to represent that last affected byte in the file (ie: it is inclusive). Generally, all these byterange and pagerange functions are inclusive so we can easily represent EOF with -1. As Ulrich notes, these two functions are somewhat abusive of the fadvise() concept, which appears to be "set the future policy for this fd". But these commands are a perfect fit with the fadvise() impementation, and several of the existing fadvise() commands are synchronous and don't affect future policy either. I think we can live with the slight incongruity. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebcf28e1c7a295f3321249dd235ad2e45938fdd9 (commit)] * [PATCH] cpuset memory spread slab cache implementation: Provide the slab cache infrastructure to support cpuset memory spreading. See the previous patches, cpuset_mem_spread, for an explanation of cpuset memory spreading. This patch provides a slab cache SLAB_MEM_SPREAD flag. If set in the kmem_cache_create() call defining a slab cache, then any task marked with the process state flag PF_MEMSPREAD will spread memory page allocations for that cache over all the allowed nodes, instead of preferring the local (faulting) node. On systems not configured with CONFIG_NUMA, this results in no change to the page allocation code path for slab caches. On systems with cpusets configured in the kernel, but the "memory_spread" cpuset option not enabled for the current tasks cpuset, this adds a call to a cpuset routine and failed bit test of the processor state flag PF_SPREAD_SLAB. For tasks so marked, a second inline test is done for the slab cache flag SLAB_MEM_SPREAD, and if that is set and if the allocation is not in_interrupt(), this adds a call to to a cpuset routine that computes which of the tasks mems_allowed nodes should be preferred for this allocation. ==> This patch adds another hook into the performance critical code path to allocating objects from the slab cache, in the ____cache_alloc() chunk, below. The next patch optimizes this hook, reducing the impact of the combined mempolicy plus memory spreading hooks on this critical code path to a single check against the tasks task_struct flags word. This patch provides the generic slab flags and logic needed to apply memory spreading to a particular slab. A subsequent patch will mark a few specific slab caches for this placement policy. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=101a50019ae5e370d73984ee05d56dd3b08f330a (commit)] * [PATCH] libata: add per-dev pio/mwdma/udma_mask: Add per-dev pio/mwdma/udma_mask. All transfer mode limits used to be applied to ap->*_mask which unnecessarily restricted other devices sharing the port. This change will also benefit later EH speed down and hotplug. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acf356b12d13c8b43c486e53e8ee12f1f435ecc8 (commit)] * [PATCH] libata: make per-dev transfer mode limits per-dev: Now that each ata_device has xfer masks, per-dev limits can be made per-dev instead of per-port. Make per-dev limits per-dev. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a529139554f12cb265715117a2153c936286294 (commit)] * [PATCH] slab: implement /proc/slab_allocators: It produces output like: "idr_layer_cache: 80 idr_pre_get+0x33/0x4e" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=871751e25d956ad24f129ca972b7851feaa61d53 (commit)] * [PATCH] cirrus ep93xx watchdog driver: Add a driver for the on-chip watchdog on the cirrus ep93xx series of ARM CPUs. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f52ac8fec8a13e207f675b0c16e0d5f800c1c204 (commit)] * [PATCH] Introduce FMODE_EXEC file flag: Introduce FMODE_EXEC file flag, to indicate that file is being opened for execution. This is useful for distributed filesystems to maintain consistent behavior for returning ETXTBUSY when opening for write and execution happens on different nodes. akpm: Needed by Lustre at present. I assume their objective to to work towards being able to install Lustre on an unmodified distro kernel, which seems sane. It should have zero runtime cost. Trond and Chuck indicate that NFS4 can probably use this too, for the same thing. Steven says it's also on the GFS todo list. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b500531e6f5f234ed267bd7060ee06d144faf0ca (commit)] * [PATCH] Altix: rs422 support for ioc4 serial driver: Add rs422 support to the Altix ioc4 serial driver. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64b91379439ff0fb007bde90eb496299c14a9b2a (commit)] * [PATCH] strndup_user(): This patch series creates a strndup_user() function to easy copying C strings from userspace. Also we avoid common pitfalls like userspace modifying the final \0 after the strlen_user(). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96840aa00a031069a136ec4c55d0bdd09ac6d3a7 (commit)] * [PATCH] AT91RM9200 Ethernet driver: This patch adds support for the Ethernet controller integrated in the Atmel AT91RM9200 SoC processor. Changes since the previous submission (01/02/2006) are: - Make use of the clk.h clock infrastructure. - The multicast hash function is not crc32. [Patch by Pedro Perez] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4b7780ea1d2e08410fcc9963a57254147ae577a (commit)] * [PATCH] mmc: Secure Digital Host Controller Interface driver: Driver for the Secure Digital Host Controller Interface specification. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d129bceb1d44ed3c23b99164849193703372bab4 (commit)] * [PATCH] msync(): perform dirty page levelling: It seems sensible to perform dirty page throttling in msync: as the application dirties pages we can kick off pdflush early, or even force the msync() caller to perform writeout, or even throttle the msync() caller. The main effect of this is to start disk writeback earlier if we've just discovered that a large amount of pagecache has been dirtied. (Otherwise it wouldn't happen for up to five seconds, next time pdflush wakes up). It also will cause the page-dirtying process to get panalised for dirtying those pages rather than whacking someone else with the problem. We should do this for munmap() and possibly even exit(), too. We drop the mmap_sem while performing the dirty page balancing. It doesn't seem right to hold mmap_sem for that long. Note that this patch only affects MS_ASYNC. MS_SYNC will be syncing all the dirty pages anyway. We note that msync(MS_SYNC) does a full-file-sync inside mmap_sem, and always has. We can fix that up... The patch also tightens up the mmap_sem coverage in sys_msync(): no point in taking it while we perform the incoming arg checking. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c50823eebf7c256b92b4e0f02b5fb30e97788c2 (commit)] * V4L/DVB (3518): Creates a virtual video device driver: The Virtual Video Device Driver (aka vivi) is a device that can be used to: 1) test core v4l functionalities; 2) be a prototype for newer development. Vivi were developed using the best practices for v4l driver. When loaded, it provides a video device that generates a standard color bar, with a timestamp placed at top left corner. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6dd65e17b8b584026334b16485365bab486422 (commit)] * [AGPGART] ATI RS350 support.: From: Julien Tous <julien.tous@gmail.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d1ef8a64e21e57109be45a7345b09cf913e4b0e (commit)] * [PATCH] x86_64: Increase the variability of the process stack on 64bit architectures: 8MB is not really very random, use 1GB (or more with larger page sizes) instead. Also use the low bits of the random generator output now instead of throwing them away. Only enabled on x86-64 right now. Other architectures need to add a suitable STACK_RND_MASK [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=913bd906019514579b3c7ec5ab9c463e89207a57 (commit)] * [AGPGART] x86_64: Enable VIA AGP driver on x86-64 for VIA P4 chipsets: Untested so far [davej: but needed for some newer EM64T systems] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d1f6b28ee2429a1f94a9f7074ffae7f918d33be (commit)] * kbuild: support building individual files for external modules: Support building individual files when dealing with separate modules. So say you have a module named "foo" which consist of two .o files bar.o and fun.o. You can then do: make -C $KERNELSRC M=`pwd` bar.o make -C $KERNELSRC M=`pwd` bar.lst make -C $KERNELSRC M=`pwd` bar.i make -C $KERNELSRC M=`pwd` / <= will build all .o files and link foo.o make -C $KERNELSRC M=`pwd` foo.ko <= will build the module and do the modpost step to create foo.ko The above will also work if the external module is placed in a subdirectory using a hirachy of kbuild files. Thanks to Andreas Gruenbacher <agruen@suse.de> for initial feature request / bug report. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06300b21f4c79fd1578f4b7ca4b314fbab61a383 (commit)] * [PATCH] remove pps support: This removes the support for pps. It's completely unused within the kernel and is basically in the way for further cleanups. It should be easier to readd proper support for it after the rest has been converted to NTP4 (where the pps mechanisms are quite different from NTP3 anyway). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ddcfa878d5b10b0ab94251a4229a8a9daaf93ed (commit)] * [PATCH] udf: fix uid/gid options and add uid/gid=ignore and forget options: As Pekka Enberg pointed out, with the if still following the else, you can still get a null uid written to the disk if you specify a default uid= without uid=forget. In other words, if the desktop user is uid=1000 and the mount option uid=1000 is given ( which is done on ubuntu automatically and probably other distributions that use hal ), then if any other user besides uid 1000 owns a file then a 0 will be written to the media as the owning uid instead. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0e6b3e5e97e2e8a25bcfc528dad94edf5220dfeb (commit)] * [PATCH] x86-64: Use -mtune=generic for generic kernels: The upcomming gcc 4.2 got a new option -mtune=generic to tune code for both common AMD and Intel CPUs. Use this option when available for generic kernels. On x86-64 it is used with CONFIG_GENERIC_CPU. On i386 it is enabled with CONFIG_X86_GENERIC. It won't affect the base line CPU support in any ways and also not the minimum supported CPU. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dca99a38bccceda9e079d4c95abefbd9028605fe (commit)] * kbuild: improved modversioning support for external modules [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=040fcc819a2e7783a570f4bdcdd1f2a7f5f06837 (commit)] * NFS: add I/O performance counters: Invoke the byte and event counter macros where we want to count bytes and events. Clean-up: fix a possible NULL dereference in nfs_lock, and simplify nfs_file_open. Test-plan: fsx and iozone on UP and SMP systems, with and without pre-emption. Watch for memory overwrite bugs, and performance loss (significantly more CPU required per op). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91d5b47023b608227d605d1e916b29dd0215bff7 (commit)] * SUNRPC: add a handful of per-xprt counters: Monitor generic transport events. Add a transport switch callout to format transport counters for export to user-land. Test plan: Compile kernel with CONFIG_NFS enabled. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=262ca07de4d7f1bff20361c1353bb14b3607afb2 (commit)] * SUNRPC: track length of RPC wait queues: RPC wait queue length will eventually be exported to userland via the RPC iostats interface. Test plan: Compile kernel with CONFIG_NFS enabled. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e19b63dafdf7d615b0d36b90990a07e7792b9d3a (commit)] * VFS: New /proc file /proc/self/mountstats: Create a new file under /proc/self, called mountstats, where mounted file systems can export information (configuration options, performance counters, and so on). Use a mechanism similar to /proc/mounts and s_ops->show_options. This mechanism does not violate namespace security, and is safe to use while other processes are unmounting file systems. Thanks to Mike Waychison for his review and comments. Test-plan: Test concurrent mount/unmount operations while cat'ing /proc/self/mountstats. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4629fe2f094b719847f31be1ee5ab38300038b2 (commit)] * NFS: introduce mechanism for tracking NFS client metrics: Add a per-superblock performance counter facility to the NFS client. This facility mimics the counters available for block devices and for networking. Expose these new counters via the new /proc/self/mountstats interface. Thanks to Andrew Morton and Trond Myklebust for their review and comments. Test plan: fsx and iozone on UP and SMP systems, with and without pre-emption. Watch for memory overwrite bugs, and performance loss (significantly more CPU required per op). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9ef5a8c26aab09762afce43df64736720b4860e (commit)] * nfs: Use UNSTABLE + COMMIT for NFS O_DIRECT writes: Currently NFS O_DIRECT writes use FILE_SYNC so that a COMMIT is not necessary. This simplifies the internal logic, but this could be a difficult workload for some servers. Instead, let's send UNSTABLE writes, and after they all complete, send a COMMIT for the dirty range. After the COMMIT returns successfully, then do the wake_up or fire off aio_complete(). Test plan: Async direct I/O tests against Solaris (or any server that requires committed unstable writes). Reboot server during test. Based on an earlier patch by Chuck Lever <cel@netapp.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fad61490419b3e494f300e9b2579810ef3bcda31 (commit)] * [PATCH] aoe [2/8]: support dynamic resizing of AoE devices: Allow the driver to recognize AoE devices that have changed size. Devices not in use are updated automatically, and devices that are in use are updated at user request. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ae1c24e395b2b65326439622223d88d92bfa03a (commit)] * NFS: add RPC I/O statistics to /proc/self/mountstats: NFS client now shows various RPC I/O metrics in /proc/self/mountstats. Test plan: Mount/umount while doing "cat /proc/self/mountstats", multiple iterations of connectathon locking suite. Test with NFS version 2, 3, and 4. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ece3a2d18fd7fe1d4972284a8c98c569020093f (commit)] * SUNRPC: introduce per-task RPC iostats: Account for various things that occur while an RPC task is executed. Separate timers for RPC round trip and RPC execution time show how long RPC requests wait in queue before being sent. Eventually these will be accumulated at xprt_release time in one place where they can be viewed from userland. Test plan: Compile kernel with CONFIG_NFS enabled. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef759a2e54ed434b2f72b52a14edecd6d4eadf74 (commit)] * [PATCH] SE Linux audit events: Attached is a patch that hardwires important SE Linux events to the audit system. Please Apply. Acked-by: Stephen Smalley <sds@tycho.nsa.gov> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af601e4623d0303bfafa54ec728b7ae8493a8e1b (commit)] * [PATCH] audit string fields interface + consumer: Updated patch to dynamically allocate audit rule fields in kernel's internal representation. Added unlikely() calls for testing memory allocation result. Amy Griffis wrote: [Wed Jan 11 2006, 02:02:31PM EST] > Modify audit's kernel-userspace interface to allow the specification > of string fields in audit rules. > > (cherry picked from 5ffc4a863f92351b720fe3e9c5cd647accff9e03 commit) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93315ed6dd12dacfc941f9eb8ca0293aadf99793 (commit)] * [PATCH] Add tty to syscall audit records: Hi, >From the RBAC specs: FAU_SAR.1.1 The TSF shall provide the set of authorized RBAC administrators with the capability to read the following audit information from the audit records: <snip> (e) The User Session Identifier or Terminal Type A patch adding the tty for all syscalls is included in this email. Please apply. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6c043a887a9db32a545539426ddfc8cc2c28f8f (commit)] * [PATCH] Define new range of userspace messages.: The attached patch updates various items for the new user space messages. Please apply. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90d526c074ae5db484388da56c399acf892b6c17 (commit)] * [PATCH] add/remove rule update: Hi, The following patch adds a little more information to the add/remove rule message emitted by the kernel. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d3301088f7e412992d9e61cc3604cbdff3090ff (commit)] * [PATCH] Filter rule comparators: Currently, audit only supports the "=" and "!=" operators in the -F filter rules. This patch reworks the support for "=" and "!=", and adds support for ">", ">=", "<", and "<=". This turned out to be a pretty clean, and simply process. I ended up using the high order bits of the "field", as suggested by Steve and Amy. This allowed for no changes whatsoever to the netlink communications. See the documentation within the patch in the include/linux/audit.h area, where there is a table that explains the reasoning of the bitmask assignments clearly. The patch adds a new function, audit_comparator(left, op, right). This function will perform the specified comparison (op, which defaults to "==" for backward compatibility) between two values (left and right). If the negate bit is on, it will negate whatever that result was. This value is returned. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b63862f46547487388e582e8ac9083830d34f058 (commit)] * SUNRPC: provide a mechanism for collecting stats in the RPC client: Add a simple mechanism for collecting stats in the RPC client. Stats are tabulated during xprt_release. Note that per_cpu shenanigans are not required here because the RPC client already serializes on the transport write lock. Test plan: Compile kernel with CONFIG_NFS enabled. Basic performance regression testing with high-speed networking and high performance server. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11c556b3d8d481829ab5f9933a25d29b00913b5a (commit)] * [ARM] 3385/1: Battery support for sharp zaurus sl-5500 (collie): Patch from Pavel Machek This adds support for battery reading on collie. Collie slowly charges battery even with charging disabled, so I did not yet enable fast charge. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=48a03ae863e0031def037fc828d7ea1a29b6fb7b (commit)] * [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups: Add a "make isoimage" to i386 and x86-64, which allows the automatic creation of a bootable CD image. It also adds an option FDINITRD= to include an initrd of the user's choice in generated floppy- or CD boot images. Finally, some minor cleanups of the image generation code. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=841b8a46bffec232377d2de157f971e812be4fe4 (commit)] * [PATCH] ipmi: add full sysfs support: Add full driver model support for the IPMI driver. It links in the proper bus and device support. It adds an "ipmi" driver interface that has each BMC discovered by the driver (as a device). These BMCs appear in the devices/platform directory. If there are multiple interfaces to the same BMC, the driver should discover this and will only have one BMC entry. The BMC entry will have pointers to each interface device that connects to it. The device information (statistics and config information) has not yet been ported over to the driver model from proc, that will come later. This work was based on work by Yani Ioannou. I basically rewrote it using that code as a guide, but he still deserves credit :). [bunk@stusta.de: make ipmi_find_bmc_guid() static] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50c812b2b9513e3df34eae8c30cb2c221b79b2cb (commit)] * [PATCH] Add API for flushing Anon pages: Currently, get_user_pages() returns fully coherent pages to the kernel for anything other than anonymous pages. This is a problem for things like fuse and the SCSI generic ioctl SG_IO which can potentially wish to do DMA to anonymous pages passed in by users. The fix is to add a new memory management API: flush_anon_page() which is used in get_user_pages() to make anonymous pages coherent. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03beb07664d768db97bf454ae5c9581cd4737bb4 (commit)] * [PATCH] ext3_get_blocks: multiple block allocation: Add support for multiple block allocation in ext3-get-blocks(). Look up the disk block mapping and count the total number of blocks to allocate, then pass it to ext3_new_block(), where the real block allocation is performed. Once multiple blocks are allocated, prepare the branch with those just allocated blocks info and finally splice the whole branch into the block mapping tree. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b47b24781c59565f45acd765dc995a752d561e96 (commit)] * [PATCH] ext3: "nobh" writeback support for filesystems blocksize < pagesize: There is no valid reason why we can't support "nobh" option for filesystems with blocksize != PAGESIZE. This patch lets them use "nobh" option for writeback mode for blocksize < pagesize. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0e9285233a32edf267d27cd03fe0056951422cf (commit)] * [PATCH] Add flush_kernel_dcache_page() API: We have a problem in a lot of emulated storage in that it takes a page from get_user_pages() and does something like kmap_atomic(page) modify page kunmap_atomic(page) However, nothing has flushed the kernel cache view of the page before the kunmap. We need a lightweight API to do this, so this new API would specifically be for flushing the kernel cache view of a user page which the kernel has modified. The driver would need to add flush_kernel_dcache_page(page) before the final kunmap. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a3a5a98b6422d05c39eaa32c8b3f83840c7b768 (commit)] * [PATCH] promiscuous mode: Hi, When a network interface goes into promiscuous mode, its an important security issue. The attached patch is intended to capture that action and send an event to the audit system. The patch carves out a new block of numbers for kernel detected anomalies. These are events that may indicate suspicious activity. Other examples of potential kernel anomalies would be: exceeding disk quota, rlimit violations, changes to syscall entry table. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb98868062c1b14025883049551af343233187 (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - Kconfigs and Makefiles: The following patches add drivers for the Siemens Gigaset 3070 family of ISDN DECT PABXes connected via USB, either directly or over a DECT link using a Gigaset M105 or compatible DECT data adapter. The devices are integrated as ISDN adapters within the isdn4linux framework, supporting incoming and outgoing voice and data connections, and also as tty devices providing access to device specific AT commands. Supported devices include models 3070, 3075, 4170, 4175, SX205, SX255, and SX353 from the Siemens Gigaset product family, as well as the technically identical models 45isdn and 721X from the Deutsche Telekom Sinus series. Supported DECT adapters are the Gigaset M105 data and the technically identical Gigaset USB Adapter DECT, Sinus 45 data 2, and Sinus 721 data (but not the Gigaset M34 and Sinus 702 data which advertise themselves as CDC-ACM devices). These drivers have been developed over the last four years within the SourceForge project http://sourceforge.net/projects/gigaset307x/. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a34eb8f55a71678c379b47c25f562050c80efcc (commit)] * [PATCH] x86: kprobes-booster: For details see the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=311ac88fd2d4194a95e9e38d2fe08917be98723c (commit)] * [PATCH] kretprobe: kretprobe-booster: In normal operation, kretprobe makes a target function return to trampoline code. A kprobe (called trampoline_probe) has been inserted in the trampoline code. When the kernel hits this kprobe, it calls kretprobe's handler and it returns to the original return address. Kretprobe-booster removes the trampoline_probe. It allows the trampoline code to call kretprobe's handler directly instead of invoking kprobe. The trampoline code returns to the original return address. (changelog from Chuck Ebbert <76306.1226@compuserve.com> - thanks ;)) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9becf58d935265919bf1cb348b2c04492c8949d (commit)] * [PATCH] 2TB files: add blkcnt_t: Add blkcnt_t as the type of inode.i_blocks. This enables you to make the size of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF. - CONFIG_LSF Add new configuration parameter. - blkcnt_t On h8300, i386, mips, powerpc, s390 and sh that define sector_t, blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is defined as unsigned long. On other architectures, it is defined as unsigned long. - inode.i_blocks Change the type from sector_t to blkcnt_t. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0f62ac6362c168754cccb36f196b3dfbddc3bc3 (commit)] * [PATCH] ipmi: add generic PCI handling: Modify the PCI hanling code for the IPMI driver to use the new method of tables and registering, and adds more generic PCI handling for IPMI. Unfortunately, this required a rather large rework of the way the driver did detection so it would be more event-driven. [bunk@stusta.de: make a struct static] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0defcdbd2b7da7694e2645da92716cea0a3c0ff (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - event layer: And: Tilman Schmidt <tilman@imap.cc> This patch adds the event layer to the gigaset module. The event layer serializes events from hardware, userspace, and other kernel subsystems. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=14fa73a75df6a0ffe866f750e8dcd218d0171f51 (commit)] * [PATCH] lightweight robust futexes: This provides a new (written from scratch) implementation of robust futexes, called "lightweight robust futexes". "Robustness" is about dealing with crashes while holding a lock: if a process exits prematurely while holding a pthread_mutex_t lock that is also shared with some other process (e.g. yum segfaults while holding a pthread_mutex_t, or yum is kill -9-ed), then waiters for that lock need to be notified that the last owner of the lock exited in some irregular way. To solve such types of problems, "robust mutex" userspace APIs were created: pthread_mutex_lock() returns an error value if the owner exits prematurely - and the new owner can decide whether the data protected by the lock can be recovered safely. For more details see the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9056f13bfcdd054a0c3d730e4e096748d8a363a (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - common module: And: Tilman Schmidt <tilman@imap.cc> This patch adds the common include file for the Siemens Gigaset drivers, providing definitions used by all of the Gigaset ISDN driver source files. It also adds the main source file of the gigaset module which manages common functions not specific to the type of connection to the device. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6fd5ea63f85e30fda55b80939b4f379ea5db62b1 (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - procfs interface: And: Tilman Schmidt <tilman@imap.cc> This patch adds the procfs interface to the gigaset module. The procfs interface provides access to status information and statistics about the Gigaset devices. If the drivers are built with the debugging option it also allows to change the amount of debugging output on the fly. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=982da5a196a0859eedc5ca1ff88feaf1bc6d6e4e (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - tty interface: And: Tilman Schmidt <tilman@imap.cc> This patch adds the tty interface to the gigaset module. The tty interface provides direct access to the AT command set of the Gigaset devices. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee8a4b7f857fe7ba243e65c8925798cf8eda5ab0 (commit)] * sched: new sched domain for representing multi-core: Add a new sched domain for representing multi-core with shared caches between cores. Consider a dual package system, each package containing two cores and with last level cache shared between cores with in a package. If there are two runnable processes, with this appended patch those two processes will be scheduled on different packages. On such systems, with this patch we have observed 8% perf improvement with specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2 users). This new domain will come into play only on multi-core systems with shared caches. On other systems, this sched domain will be removed by domain degeneration code. This new domain can be also used for implementing power savings policy (see OLS 2005 CMP kernel scheduler paper for more details) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e9f28fa1eb9773bf65bae08288c6a0a38eef4a7 (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - M105 USB DECT adapter: And: Tilman Schmidt <tilman@imap.cc> This patch adds the connection-specific module "usb_gigaset", the hardware driver for Gigaset base stations connected via the M105 USB DECT adapter. It contains the code for handling probe/disconnect, AT command/response transmission, and call setup and termination, as well as handling asynchronous data transfers, PPP framing, byte stuffing, and flow control. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07dc1f9f2f80f67823dc9ab4ebe3b1b3b071b911 (commit)] * [PATCH] lightweight robust futexes: core: Add the core infrastructure for robust futexes: structure definitions, the new syscalls and the do_exit() based cleanup mechanism. Acked-by: Ulrich Drepper <drepper@redhat.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0771dfefc9e538f077d0b43b6dec19a5a67d0e70 (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - isdn4linux interface: And: Tilman Schmidt <tilman@imap.cc> This patch adds the isdn4linux subsystem interface to the gigaset module. The isdn4linux subsystem interface handles requests from and notifications to the isdn4linux subsystem. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c66a22545dd88356bbf4efa45a7b178df8154e9 (commit)] * [PATCH] lightweight robust futexes: i386: i386: add the futex_atomic_cmpxchg_inuser() assembly implementation, and wire up the new syscalls. Acked-by: Ulrich Drepper <drepper@redhat.com> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dfd4e3ec246355274c9cf62c6b04a1ee6fa3caba (commit)] * [PATCH] lightweight robust futexes: docs: Add robust-futex documentation. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2eec9ad91f71a3dbacece5c4fb5adc09fad53a96 (commit)] * [PATCH] unify pfn_to_page: generic functions: There are 3 memory models, FLATMEM, DISCONTIGMEM, SPARSEMEM. Each arch has its own page_to_pfn(), pfn_to_page() for each models. But most of them can use the same arithmetic. This patch adds asm-generic/memory_model.h, which includes generic page_to_pfn(), pfn_to_page() definitions for each memory model. When CONFIG_OUT_OF_LINE_PFN_TO_PAGE=y, out-of-line functions are used instead of macro. This is enabled by some archs and reduces text size. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a117e66ed45ac0569c039ea60bd7a9a61e031858 (commit)] * [PATCH] Notifier chain update: API changes: The kernel's implementation of notifier chains is unsafe. There is no protection against entries being added to or removed from a chain while the chain is in use. Several usage classes were found and we decided to codify this distinction and make it part of the API. Therefore this set of patches introduces three new, parallel APIs: one for blocking notifiers, one for atomic notifiers, and one for "raw" notifiers (which is really just the old API under a new name). With atomic and blocking chains, the implementation guarantees that the chain links will not be corrupted and that chain callers will not get messed up by entries being added or removed. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e041c683412d5bf44dc2b109053e3b837b71742d (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - direct USB connection: And: Tilman Schmidt <tilman@imap.cc> This patch adds the main source file of the connection-specific module "bas_gigaset", the hardware driver for Gigaset base stations connected directly to the computer via USB. It contains the code for handling probe/disconnect, AT command/response transmission, and call setup and termination. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf7776dc05b89885a7ec6beff8409d48b077a3ac (commit)] * [PATCH] RTC Subsystem: library functions: RTC and date/time related functions. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c58411e95d7f5062dedd1a3064af4d359da1e633 (commit)] * [PATCH] isdn4linux: Siemens Gigaset drivers - isochronous data handler: And: Tilman Schmidt <tilman@imap.cc> This patch adds the payload data handler for the connection-specific module "bas_gigaset". It contains the code for handling isochronous data transfers, HDLC framing and flow control. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76bb4685bff8781b5dbcd7080171d1e1f8c82f5b (commit)] * [PATCH] RTC subsystem: class: Add the basic RTC subsystem infrastructure to the kernel. rtc/class.c - registration facilities for RTC drivers rtc/interface.c - kernel/rtc interface functions rtc/hctosys.c - snippet of code that copies hw clock to sw clock at bootup, if configured to do so. Acked-by: Greg Kroah-Hartman <gregkh@suse.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c86edc0d4970649f39748c4ce4f2895f728468f (commit)] * [PATCH] RTC subsystem: X1205 driver: A port of the existing x1205 driver under the new RTC subsystem. It is actually under test within the NSLU2 project (http://www.nslu2-linux.org) and it is working quite well. It is the first driver under this new subsystem and should be used as a guide to port other drivers. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1fec7c66ba98fc3a04e15fd14fad6b404e56fc94 (commit)] * [PATCH] RTC subsystem: RS5C372 driver: RTC class aware driver for the Ricoh RS5C372 chip used, among others, on the Synology DS101. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7520b94debdc61620e1582fb4f5cca4a830f91cd (commit)] * [PATCH] RTC subsystem: This adds the sysfs interface to the RTC subsystem. Each RTC client will have his own entry under /sys/classs/rtc/rtcN. Within this entry some attributes are exported by the subsystem, like date and time [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5c3e19225217536d90515c494e55e642a21e4fa (commit)] * [PATCH] RTC subsystem: test device/driver: Interrupts can be generated by echo "alarm|tick|update" >/sys/class/rtc/rtcX/device/irq [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a95579cd4b40a4e062e187d931f498145551ee29 (commit)] * [PATCH] RTC subsystem: proc interface: Add the proc interface to the RTC subsystem. The first RTC driver which registers with the class will be accessible by /proc/driver/rtc . This is required for compatibility with the standard RTC driver and to avoid breaking any user space application which may erroneusly rely on this. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=728a294787b780130d8eb237518d4cac0afe760c (commit)] * [PATCH] RTC subsystem: dev interface: Add the dev interface to the RTC subsystem. Each RTC will be available under /dev/rtcX . A symlink from /dev/rtc0 to /dev/rtc cab be obtained with the following udev rule: KERNEL=="rtc0", SYMLINK+="rtc" Acked-by: Greg Kroah-Hartman <gregkh@suse.de> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e824290e5dcfaf2120da587b16d10dfdff8d5d3e (commit)] * [PATCH] RTC subsystem: PCF8563 driver: An RTC class aware driver for the Philips PCF8563 RTC and Epson RTC8564 chips. This chip is used on the Iomega NAS100D. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5a82d628d4491558c109fbeabc2993d6686e89c (commit)] * [PATCH] RTC subsystem: EP93XX driver: This patch adds a driver for the RTC embedded in the Cirrus Logic EP93XX family of processors. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd507e2ff3a5adaccbefa05f4bc9f58f44e930db (commit)] * [PATCH] RTC subsystem: DS1672 driver: Driver for the Dallas/Maxim DS1672 chip, found on the Loft (http://www.giantshoulderinc.com). [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=edf1aaa31fc52ade0da7b6d1f2dffc17f0bdb9ff (commit)] * [PATCH] nvidiafb: add suspend and resume hooks to make software suspend more reliable [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a07cd786dbd0111b9dd977e114438220cb4eee5 (commit)] * [PATCH] RTC subsystem: SA1100/PXA2XX driver: Add an RTC subsystem driver for the ARM SA1100/PXA2XX processor RTC. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e842f1c8ff8a88f290e26d1139e89aad02c4e0c3 (commit)] * [PATCH] RTC subsystem: M48T86 driver: Add a driver for the ST M48T86 / Dallas DS12887 RTC. This is a platform driver. The platform device must provide I/O routines to access the RTC. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d98af87270cc08bb8251e004b9dc63cc838f24b (commit)] * [PATCH] vgacon: Add support for soft scrollback: The scrollback buffer of the VGA console is located in VGA RAM. This RAM is fixed in size and is very small. To make the scrollback buffer larger, it must be placed instead in System RAM. This patch adds this feature. The feature and the size of the buffer are made as a kernel config option. Besides consuming kernel memory, this feature will slow down the console by approximately 20%. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15bdab959c9bb909c0317480dd9b35748a8f7887 (commit)] * [PATCH] fbdev: framebuffer driver for Geode GX: A framebuffer driver for the display controller in AMD Geode GX processors (Geode GX533, Geode GX500 etc.). Tested at 640x480, 800x600, 1024x768 and 1280x1024 at 8, 16, and 24 bpp with both CRT and TFT. No accelerated features currently implemented and compression remains disabled. This driver requires that the BIOS (or the SoftVG/Firmbase code in the BIOS) has created an appropriate virtual PCI header. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc4effc7a98d0d320e478d1d42bc4a8a64380150 (commit)] * [PATCH] Add ID for Quadro NVS280: Quadro NVS280 is a dual-head PCIe card with PCI ID 10de:00fd and subsystem ID 10de:0215. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed49843b897da9969e349c279ffc832efcb93213 (commit)] * [PATCH] fbdev: Make BIOS EDID reading configurable: DDC reading via the Video BIOS may take several tens of seconds with some combination of display cards and monitors. Make this option configurable. It defaults to `y' to minimise disruption. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59153f7d7effdb5b3c81eb6d03914a866157b319 (commit)] * [PATCH] fbdev: add modeline for 1680x1050@60 for the Philips 200W display. aty128fb does not do DDC, it picks 1920x1440 or similar. It works ok with nvidiafb because it can ask for DDC data. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0c87978216836455ef5fbcac6df1ce6679750b0 (commit)] * [PATCH] au1200fb: Alchemy Au1200 framebuffer driver: Add support for Alchemy Au1200 framebuffer driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f95ec3c6df271ae4e6290cd6b95c18a009c76dc9 (commit)] * [PATCH] dm/md dependency tree in sysfs: bd_claim_by_kobject: Adding bd_claim_by_kobject() function which takes kobject as additional signature of holder device and creates sysfs symlinks between holder device and claimed device. bd_release_from_kobject() is a counterpart of bd_claim_by_kobject. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=641dc636b0475582e48584340b774bd1e90d40d9 (commit)] * [PATCH] dm/md dependency tree in sysfs: holders/slaves subdirectory: Creating "slaves" and "holders" directories in /sys/block/<disk> and creating "holders" directory under /sys/block/<disk>/<partition> [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a4d44c1f1108d6c9e8850e8cf166aaba0e56eae (commit)] * [PATCH] dm/md dependency tree in sysfs: Following symlinks are created if md0 is built from sda and sdb: /sys/block/md0/slaves/sda --> /sys/block/sda, /sys/block/md0/slaves/sdb --> /sys/block/sdb, /sys/block/sda/holders/md0 --> /sys/block/md0, /sys/block/sdb/holders/md0 --> /sys/block/md0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5463c7904c952aa6b6804dd902c72a5332fa5221 (commit)] * RTC: Remove RTC UIP synchronization: Reading the CMOS clock on x86 and some other arches currently takes up to one second because it synchronizes with the CMOS second tick-over. This delay shows up at boot time as well a resume time. This is the currently the most substantial boot time delay for machines that are working towards instant-on capability. Also, a quick back of the envelope calculation (.5sec * 2M users * 1 boot a day * 10 years) suggests it has cost Linux users in the neighborhood of a million man-hours. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63732c2f37093d63102d53e70866cf87bf0c0479 (commit)] * [PATCH] md: Core of raid5 resize process: This patch provides the core of the resize/expand process.[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e (commit)] * [PATCH] dm/md dependency tree in sysfs: Following symlinks are created if dm-0 maps to sda: /sys/block/dm-0/slaves/sda --> /sys/block/sda, /sys/block/sda/holders/dm-0 --> /sys/block/dm-0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f165921df46a977e3561f1bd9f13a348441486d1 (commit)] * md: Infrastructure to allow normal IO to continue while array is expanding: We need to allow that different stripes are of different effective sizes, and use the appropriate size. Also, when a stripe is being expanded, we must block any IO attempts until the stripe is stable again .[http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ecaa1e6a1ad69862e9980b6c777e11f26c4782d (commit)] * Optimize select/poll by putting small data sets on the stack instead of using kmalloc for small fd sets, an old optimization from Linux 2.0. Using the stack is faster than kmalloc. On a Intel P4 system it speeds up a select of a single pty fd by about 13% (~4000 cycles -> ~3500). It also saves memory because a daemon hanging in select or poll will usually save one or two less pages. This can add up - e.g. if you have 10 daemons blocking in poll/select you save 40KB of memory [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70674f95c0a2ea694d5c39f4e514f538a09be36f (commit)] * arch/i386/kernel/microcode.c: remove the obsolete microcode_ioctl. Nowadays, even Debian stable ships a microcode_ctl utility recent enough to no longer use this ioctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f45e4656ac0609437267b242953c07d523649f8d (commit)] * Add driver support for general purpose I/O feature of the Synclink GT adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0080b7aae88c75e2a6b38dfcb228b0f239e18e3c (commit)] * SERIAL: Remove obsoleted au1x00_uart driver as announced in feature-removal-schedule.txt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=335bd9dff31d042b773591933d3ee5bd62d5ea27 (commit)] * for_each_possible_cpu: defines for_each_possible_cpu, a for-loop over cpu_possible_map. for_each_online_cpu is for-loop cpu over cpu_online_map......for_each_cpu() is not sufficiently explicit and can lead to mistakes. This patch adds for_each_possible_cpu() in preparation for the removal of for_each_cpu() [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=631d6747e1d877a4baa924cb373b8b9511a53e5e (commit)] * cfq-iosched: seek and async performance fixes: Detect whether a given process is seeky and if so disable (mostly) the idle window if it is. We still allow just a little idle time, just enough to allow that process to submit a new request. That is needed to maintain fairness across priority groups. In some cases, we could setup several async queues. This is not optimal from a performance POV, since we want all async io in one queue to perform good sorting on it. It also impacted sync queues, as async io got too much slice time [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=206dc69b31ca05baac68c75b8ed2ba7dd857d273 (commit)] * ARM proc-v6: page table walks with outer-cacheable attribute, and enable no-execute in page tables [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3747b36eeab93d8969e86987bbc1d44971229b26 (commit)] * cfq-iosched: change cfq io context linking from list to tree: On setups with many disks, we spend a considerable amount of time looking up the process-disk mapping on each queue of io. Testing with a NULL based block driver, this costs 40-50% reduction in throughput for 1000 disks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2d74ac0664c89757bde8fb18c98cd7bf53da61c (commit)] * Cirrus EP93xx AMBA PL010 serial support: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aee85fe8e8143d3f54d9e6d3c6cdd40ead563267 (commit)] * ARM: This adds support for the Intel ixp23xx series of CPUs and support for the ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double Espresso platforms. The ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit MACs, two 10/100 MACs, expansion bus, four microengines, a Media and Switch Fabric unit almost identical to the one on the ixp2400, two xscale (8250ish) UARTs and a bunch of other stuff [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4713074375c61f939310b04e92090afe29810dc (commit)] * ARM: add support for the new XScale v3 core. It's an ARMv5 ISA core with the following additions: L2 cache, I/O coherency support (on select chipsets), Low-Locality reference cache attributes (replaces mini-cache), supersections (v6 compatible), 36-bit addressing (v6 compatible), single instruction cache line clean/invalidate, LRU cache replacement (vs round-robin) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23bdf86aa06ebe71bcbf6b7d25de9958c6ab33fa (commit)] * ARM: add support for logicpd pxa270 card engine [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9937d4b0a9382c4c78411d1c53e62be396ee9a9 (commit)] Rules and tips: * Name of the new feature/description of the change, including a small explanation (if possible). Add links to web pages (if available), papers, etc. Keep the structure of previous changelogs! * If there's a interesting email (benchmarks, announcements if there's no web page, etc) about it in the mailing lists, get a link in one of the list's archives (at http://marc.theaimsgroup.com/?l=linux-kernel please, just for coherence. There're also fsdev & netdev mailing lists, etc) and add it. * Add commit's link to the git's web interface if possible, using the "(commit)" word. * To find commit's links you can search in the [http://www.kernel.org/git git web interface]. Remember that there're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff committed after 2.6.12-rc2] (ie: current development) and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] * However, if you want to keep track in "realtime", do NOT use the git's web interface (or the RSS). The RSS gets overflowed when there's a big merge. And more importantly, the shortlog you find in git's web interface does NOT care when things were really "committed": If a developer writes a patch, merges it in his git repository and then Linus pulls and merges it a month after it was merged in the developer's repository , the commit data won't appear in the "todays shortlog", but in the one-month-old changes (this could be fixed in the future however). * IOW: To keep track of the linux merges in realtime, the best option is to [http://vger.kernel.org/vger-lists.html#git-commits-head subscribe to the git-commits-head] mailing list (or search in the archives). Commit IDs are in the X-Git-Commit mail header. Tell your mailer to show them (by default it will be hidden unless you activate the "see the whole mail" option), if your mailer is good enought you'll be able to add a script which gets the Commit ID out of the header and launch a browser with the "http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=" needed gitweb URL before it. * It may look too hard to review the thousands of emails you get from the git-commit-head list, get the commit ID, the URL, a description and format all of it to put it here: "Formatting" is what would take most of your time. But the fact is that you can avoid most of the hard job by using some tricks. First of all, most of the relevant commits will be merged (and sent to the git-commits-head list) in the first two weeks after a kernel is released. When the mailing list sends you the commit messages, use the "mark" feature of your mailer to mark important commits - this is a easy operation, since the subject tells you if the commit is important, you can review quite a lot of commit messages per minute. When you're done, create an action/filter/whatever which allows you to extract the commit id. My MUA (sylpheed) allows me to create an "action" which allows me to pass the selected message(s) to a command. This allows to me to order my messages by marked/umarked to make easier to select at the same time all the marked messages, the I tell sylpheed to execute the previous "action", which runs a scripts which "greps" the commit-id out of the email headers and appends it to a file. This way I get a file with a list of all the relevant commit IDs (Other MUAS could have another methods to achieve this same goal or not have any at all). Now, with a local linux git repository (updated to head) and with a bit of scripting you can get (with git) the changelog information of every commit ID, so you can parse that information and generate a wiki-compatible-syntax list of commits with descriptions, URLs to gitweb automatically generated, etc. You'll need to fix the descriptions, but you get a LOT of work done automatically. * The web interface will show "meta-commits". When Linus merges things from a remote repository, You'll see a "Merge git://git.domain.com/foo/bar" style of message commit. If you click it for details you'll see a huge merge, but then the git shortlog will also show the individual commits. So those "meta-commits" are useful to add links to big merges which do one thing but do not mean anything by themselves. Those "meta-commits" will not be mailed to the git-commits-head mailing list. Random related stuff: * [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document], [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Todo: Find links to corresponding changesets for the untracked 2.5 releases (if you're really bored) |
<<Include(Linux_5.6)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status, H-Online, or the Linux Kernel mailing list (there is a web interface in www.lkml.org). List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.6 has been released on Sun, 29 Mar 2020.
Summary: This release adds Wireguard, an fast and secure VPN design that aims to replace other VPNs; initial support for USB 4; support for time namespaces; asynchronous SSD trimming in Btrfs; initial merge of the Multipath TCP support; support for VirtualBox guest shared folders; a simple file system to expose the zones of zoned storage devices as files; boot-time tracing, which lets to trace the boot-time process with all the features of ftrace; and bootconfig, created to configure boot-time tracing, which lets to extend the command line in a file attached to initrds. As always, there are many other new drivers and improvements.
Contents
-
Prominent features
- WireGuard, a faster, simpler, secure VPN
- Initial USB 4 support
- Time Namespaces
- Btrfs asynchronous SSD trimming
- Initial support for MultiPath TCP
- Support for VirtualBox guest shared folders
- Zonefs, a file system for zoned storage devices
- A new pidfd syscall, pidfd_getfd(2)
- Extra Boot Config, for more complex boot configuration, and Boot tracing
- DMA-BUF Heaps, a replacement for Android ION
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Power management
- Cryptography
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Power Management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- Serial
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. WireGuard, a faster, simpler, secure VPN
WireGuard is a layer 3 secure networking tunnel. It aims to be faster, simpler, leaner, and more useful than IPsec, while avoiding the massive headache, and it intends to be considerably more performant than OpenVPN. Extensive documentation and description of the protocol and considerations, along with formal proofs of the cryptography, are available at wireguard.com
WireGuard aims to be as easy to configure and deploy as SSH. A VPN connection is made simply by exchanging very simple public keys – exactly like exchanging SSH keys – and all the rest is transparently handled by WireGuard. It is even capable of roaming between IP addresses. There is no need to manage connections, be concerned about state, manage daemons, or worry about what's under the hood. WireGuard presents an extremely basic yet powerful interface.
WireGuard uses state-of-the-art cryptography, like the Noise protocol framework, Curve25519, ChaCha20, !Poly1305, BLAKE2, SipHash24, HKDF, and secure trusted constructions. It makes conservative and reasonable choices and has been reviewed by cryptographers.
A combination of extremely high-speed cryptographic primitives and the fact that WireGuard lives inside the Linux kernel means that secure networking can be very high-speed. It is suitable for both small embedded devices like smartphones and fully loaded backbone routers.
Project site: wireguard.com
Technical whitepaper: wireguard.pdf
Recommended LWN articles: Virtual private networks with WireGuard, Whither WireGuard?, WireGuard and the crypto API
1.2. Initial USB 4 support
USB4 is a new version of the USB standard. Rather than an evolution of previous versions, this fourth version is pretty much the Thunderbolt 3 protocol, with a few changes. It is compatible with Thunderbolt 3, and backwards compatible with USB 3.2 and USB 2.0.
Linux already supported Thunderbolt 3; this release modifies the Thunderbolt stack to add initial Linux support for USB 4, at the same level as it had for Thunderbolt 3 devices, and support for USB 3.x tunnels.
1.3. Time Namespaces
This release adds another per-process namespace to kernel: a time namespace. This namespace is required mainly in the context of checkpoint/restore functionality, where monotonic and boottime clocks, widely used to measure time slices and set timers, have to be guaranteed that they never go backwards when a container is migrated to another machine. A time namespace can provide the correct behavior by having per-namespace offsets for those clocks, and it can also be useful for developer to test different time ranges without needing to reboot. As other namespaces, a new time namespace can be used by issuing a unshare(CLONE_NEWTIME) system call, or other namespace related system calls such as clone3() or setns().
Recommended LWN article: Time namespaces
1.4. Btrfs asynchronous SSD trimming
Solid-State storage drives benefit from being told when a disk block goes unused, for performance and wear-leveling reasons. This operation, called discard or trim, is done automatically by Btrfs: When a file is deleted, Btrfs notifies the drive that the blocks which belonged to the file are no longer being used. However, these notifications were done sychronously: the trim notifications were sent before ending the delete operation, which harms performance.
In this release, these notifications will be sent asynchronously. The actual discard IO requests have been moved out of transaction commit to a worker thread, improving commit latency.
1.5. Initial support for MultiPath TCP
MultiPath TCP (MPTCP) is a mechanism that allows to use multiple network links for a single TCP connection. For example, with MPTCP a phone could use both the WiFi and the 3G links for a single connection. This makes possible for the phone user to use the available bandwith in both links, or get disconnected from the WiFi network and keep using the 3G connection, without the connection being closed. MPTCP is also used in data centers, for performance and reliability reasons.
MPTCP is not a new technology, it has been available for a long time, and a Linux implementation has existed for over a decade, but it's only now that is getting upstreamed. In this release, only a part of the initial work is being introduced: MPTCP connection establishment, writing & reading MPTCP options on data packets, a sysctl to allow MPTCP per-namespace, and self tests. This is sufficient to establish and maintain a connection with a MPTCP peer, but will not yet allow or initiate establishment of additional MPTCP subflows. Other features will be introduced in the next versions.
Project page: www.multipath-tcp.org
Recommended LWN article: Upstreaming multipath TCP
1.6. Support for VirtualBox guest shared folders
VirtualBox hosts can share folders with guests, this release adds a new file system, vboxsf (for VirtualBox Shared Folder), which implements the Linux-guest side of this, allowing folders exported by the host to be mounted under Linux.
Note that this is a Virtualbox-specific solution, a more generic approach can be found in the form of virtio-fs
1.7. Zonefs, a file system for zoned storage devices
Zoned storage devices are divided into zones. Zones may have different types: Conventional zones, which have no access constraints; and Sequential zones, where reads can be random but must be written sequentially, and must be erased with a special command (zone reset) before rewriting.
This release adds zonefs, a very simple file system exposing zones of a zoned block device as files. Unlike a regular file system with zoned block device support, zonefs does not hide the sequential write constraint of zoned block devices to the user. The goal of zonefs is to simplify the implementation of zoned block device support in applications by replacing raw block device file accesses with a richer file API, avoiding relying on direct block device file ioctls which may be more obscure to developers.
Recommended LWN article: Accessing zoned block devices with zonefs
1.8. A new pidfd syscall, pidfd_getfd(2)
This release adds pidfd_getfd(2), another system call of the pidfd family, designed for safe PID handling. This syscall allows for the retrieval of file descriptors from other processes, based on their pidfd. This is possible using ptrace, and injection of parasitic code to inject code which leverages SCM_RIGHTS to move file descriptors between a tracee and a tracer. Unfortunately, ptrace comes with a high cost of requiring the process to be stopped, and breaks debuggers. This does not require stopping the process under manipulation.
One reason to use this is to allow sandboxers to take actions on file descriptors on the behalf of another process. For example, this can be combined with seccomp-bpf's user notification to do on-demand fd extraction and take privileged actions. One such privileged action is binding a socket to a privileged port.
Recommended LWN article: Grabbing file descriptors with pidfd_getfd()
1.9. Extra Boot Config, for more complex boot configuration, and Boot tracing
Extra boot config allows admin to pass a tree-structured key-value list when booting up the kernel. It allows to expand the kernel command line in an efficient way, by appending additional boot configuration to a initrd file with a new tool, found at tools/bootconfig. This functionality has been implemented mainly for the use of boot tracing, which has also been added in this release.
With boot-time tracing is possible now to trace the boot-time process including device initialization with full features of ftrace including per-event filter and actions, histograms, kprobe-events and synthetic-events, and trace instances. This funcionality requires very verbose configuration, and the kernel command line is not enough, which is the reason behind the creation of the bootconfig functionality.
Bootconfig documentation: admin-guide/bootconfig.html
Boot-time tracing: trace/boottime-trace.html
1.10. DMA-BUF Heaps, a replacement for Android ION
This release adds dma-buf heaps, a framework which allows a unified userspace interface for dma-buf exporters, allowing userland to allocate specific types of memory for use in dma-buf sharing. Each heap is given its own device node, which a user can allocate a dma-buf fd from using the DMA_HEAP_IOC_ALLOC. This feature is an evoluton of the Android ION implementation, and the expectation is that people will eventually migrate to it.
Recommended LWN article: Destaging ION
2. Core (various)
(FEATURED) Introduce Time Namespaces, primarily to facilitate container migration commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
A mechanism to shield isolated tasks from managed interrupts: When the generated affinity mask of an interrupt spaws both housekeeping and isolated CPUs the interrupt could be routed to an isolated CPU which would then be disturbed by I/O submitted by a housekeeping CPU. A new sub-parameter managed_irq for the boot option isolcpus and the corresponding logic in the interrupt affinity selection code has been added, this mechanism ensures that as long as one housekeeping CPU is online in the assigned affinity mask the interrupt is routed to a housekeeping CPU commit
- io_uring
Support for fallocate(2), openat(2), and close(2) commit, commit, commit, commit, commit, commit
Add non-vectored read(2)/write(2) commands commit and allow current file position offset reads/writes commit
Add support for epoll manipulation through io_uring, in particular epoll_ctl(2) commit, commit, commit
Support for madvise(2) and fadvise(2) commit, commit, commit
Add support for send(2) and recv(2) commit
Faster ring quiesce for fileset updates commit
The application currently has no way of knowing if a given opcode is supported or not without having to try and issue one and see if we get -EINVAL or not. Add IORING_REGISTER_PROBE which fills in a structure with info on what it supported or not commit
Add support for max-sized clamping. Some applications like to start small in terms of ring size, and then ramp up as needed. This is a bit tricky to do currently, since we don't advertise the max ring size. This release adds IORING_SETUP_CLAMP. If set, and the values for SQ or CQ ring size exceed what we support, then clamp them at the max values instead of returning -EINVAL commit
io_uring defaulted to always doing inline submissions, if at all possible. But for larger copies, even if the data is fully cached, that can take a long time. Add an IOSQE_ASYNC flag that the application can set on the SQE - if set, the kernel will ensure that we always go async for those kinds of requests commit, commit
Support for io-wq backend sharing between "sibling" rings commit, commit
Add IORING_REGISTER_EVENTFD_ASYNC, which works just like IORING_REGISTER_EVENTFD, except it only triggers eventfd notifications for events that happen from async completions (IRQ, or io-wq worker completions). Any completions inline from the submission itself will not trigger notifications commit
Improve poll completion performance commit
(FEATURED) Extra Boot Config: Extra boot config allows admin to pass a tree-structured key-value list when booting up the kernel. This expands the kernel command line in an efficient way. Each key is described as a dot-jointed-words. And user can write the key-words in tree style commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
kunit: support building core/tests as modules commit, commit, commit, commit, commit, commit
open: introduce openat2(2) syscall, as a more robust version of the original openat(2) along with a few extensions that allow for safer path resolution commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add a new pidfd syscall, pidfd_getfd(2). It introduces a mechanism to get file descriptors from other processes via pidfd. Although this can be achieved using SCM_RIGHTS, and parasitic code injection, this offers a more straightforward mechanism, with less overhead and complexity commit, commit, commit, commit
- Task scheduler
pipe: use exclusive waits when reading or writing to avoid a nasty thundering herd problem when there are lots of readers waiting for data on a pipe commit
- Build
- Documentation:
3. File systems
- VBOXSF
(FEATURED) Add VirtualBox guest shared folder (vboxfs) support. It allows folders exported by the VirtualBox host to be mounted under Linux commit
- ZONEFS
- BTRFS
(FEATURED) Asynchronous discard support, enabled with mount option discard=async. Freed extents are not discarded immediatelly, but grouped together and trimmed later by a separate worker thread, improving commit latency. IO rate and request size can be tuned by sysfs files commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Export device state info in sysfs, eg. missing, writeable commit, commit, commit
integrity checking: check leaf chunk item size, cross check against number of stripes commit and verify location key for DIR_ITEM/DIR_INDEX commit
- CIFS
Optimize opendir and save one roundtrip commit, commit, commit, commit
Add extended attribute "system.cifs_ntsd" (and alias "system.smb3_ntsd") to allow for setting owner and DACL in the security descriptor. This is in addition to the existing "system.cifs_acl" and "system.smb3_acl" attributes that allow for setting DACL only. Add support for setting creation time and dos attributes commit
Add support for fallocate mode 0 for non-sparse files commit
Add SMB3 change notification support commit
- EXT4
Scale performance of direct IO mixed read/write workload commit, commit, commit
Optimize ext4 DIO overwrites commit
Export information about first/last errors via /sys/fs/ext4/<dev> commit
Simulate various I/O and checksum errors when reading metadata, for debugging commit, commit
Allow ZERO_RANGE on encrypted files commit
- NFS
Add softreval mount option to let clients use cache if server goes down commit
Support (client and server) for NFSv4.2 "inter" Server-Side Copy, ie. copy offload between different NFS servers. To use it, client and both servers must have support, the target server must be able to access the source server over NFSv4.2, and the target server must have the inter_copy_offload_enable module parameter set commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow to compile without UDP protocol support commit
- FSCRYPT
- FS-VERITY
- F2FS
- ADFS
- UBIFS
Add support for FS_ENCRYPT_FL commit
4. Memory management
(FEATURED) DMA-BUF Heaps commit, commit, commit, commit, commit
memcg: Port hugetlb controller for cgroupsv2. The HugeTLB controller allows to limit the HugeTLB usage per control group and enforces the controller limit during page fault commit
prctl: Add PR_GET_IO_FLUSHER/PR_SET_IO_FLUSHER to support controlling memory reclaim. Daemons can use it after they have done their initial setup, and before they start to do allocations that are in the IO path. Both userspace block and FS threads can use it to avoid the allocation recursion and try to prevent from being throttled while writing out data to free up memory commit
Generic page table walk and kernel page table dump (ptdump) via debugfs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Explicit user-space page pinning via pin_user_pages(), prerequisite to solving the problem of proper interactions between file-backed pages, and [R]DMA activities. See this LWN article. commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Fix the access of uninitialized memmaps when shrinking zones/nodes and when removing memory commit, commit, commit, commit, commit, commit
zswap: add allocation hysteresis and /sys/kernel/debug/zswap/accept_threhsold_percent commit
zram: try to avoid worst-case scenario when comparing pages that differ in last few bytes, by checking last int of a page first commit
5. Block layer
- md
- dm
zoned: support zone sizes smaller than 128MiB commit
crypt: Implement Elephant diffuser for Bitlocker compatibility commit
writecache: improve performance of large linear writes on SSDs commit
Add DM multipath queue_if_no_path_timeout_secs module param to allow timeout if path isn't reinstated. This allows users a kernel safety-net against IO hanging indefinitely commit
bcache: add readahead cache policy options via sysfs interface commit
6. Tracing, perf and BPF
- BPF
Introduce the BPF dispatcher, a mechanism to avoid indirect calls and helps to avoid repotlines performance hit. Recommended LWN article. commit, commit, commit, commit, commit, commit
Introduce BPF STRUCT_OPS. It is an infra to allow implementing some specific kernel's function pointers in BPF. The first use case included in this series is to implement TCP congestion control algorithm in BPF (i.e. implement struct tcp_congestion_ops in BPF) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce batch ops that can be added to bpf maps to lookup/lookup_and_delete/update/delete more than 1 element at the time commit, commit, commit, commit, commit, commit, commit, commit, commit
Emit audit messages upon successful prog load and unload commit
Program extensions or dynamic re-linking commit, commit, commit
Introduce static vs global functions and function by function verification, another step toward dynamic re-linking commit, commit, commit, commit, commit, commit
Support for replacing cgroup-bpf programs attached with BPF_F_ALLOW_MULTI flag so that any program in a list can be updated to a new version without service interruption and order of programs can be preserved commit, commit, commit, commit, commit, commit
Implements a new BPF feature probe, which increases the maximum program size to 1M commit, commit
bpftool: Support dumping a map with btf_vmlinux_value_type_id commit, commit, commit, commit, commit
libbpf: introduces an alternative and complimentary to existing libbpf API interface for working with BPF objects, maps, programs, and global data from userspace side. This approach is relying on code generation. bpftool produces a struct (a.k.a. skeleton) tailored and specific to provided BPF object file. It includes hard-coded fields and data structures for every map, program, link, and global data present. Altogether this approach significantly reduces amount of userspace boilerplate code required to open, load, attach, and work with BPF objects commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libbpf: Add libbpf-provided extern variables support commit, commit, commit, commit
libbpf: Add bpf_link__disconnect() API to preserve underlying BPF resource commit
libbpf: Support CO-RE relocations for LDX/ST/STX instructions commit
bpftool: match several programs with same tag commit, commit, commit
libbpf: Add support for flexible array accesses in a relocatable manner in BPF CO-RE commit, commit
- perf
libperf: Add man pages commit
perf probe: adds support for user-space strings when type 'ustring' is specified commit
perf report/top: Add 'k' hotkey to zoom directly into the kernel map commit
perf report/top: Add menu entry for toggling callchain expansion commit
perf sched timehist: Add support for filtering on CPU commit
perf tools: Support --prefix/--prefix-strip commit
Add runqslower tool to tools/bpf commit
- tracing
(FEATURED) Boot-time tracing support following boot config. It can setup new kprobe and synthetic events, more complicated event filters and trigger actions including histogram via supplemental kernel cmdline commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for in-kernel dynamic event API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
7. Virtualization
Xen-netback: support dynamic unbind/bind commit
hv_utils: Add the support of hibernation commit, commit, commit, commit
8. Power management
suspend: Add sysfs attribute to control the "sync on suspend" behavior commit
ACPI: fan: Expose fan performance state information commit
cpuidle: Allow idle states to be disabled by default. In certain situations it may be useful to prevent some idle states from being used by default while allowing user space to enable them later on commit
thermal: Introduce the cpu idle cooling driver, a new method to cool down a CPU by injecting idle cycles at runtime. It has some similarities with the intel power clamp driver but it is actually designed to be more generic and relying on the idle injection powercap framework. Also rename the cpu_cooling device to cpufreq_cooling device commit, commit, commit
9. Cryptography
poly1305: add new 32 and 64-bit generic versions commit
shash: allow essiv and hmac to use OPTIONAL_KEY algorithms commit
10. Security
random: Add getentropy(..., GRND_INSECURE), this causes getentropy to always return something, but without cryptographical guarantees. Also, remove the blocking pool and make /dev/random work just like getentropy(..., 0) and make GRND_RANDOM a no-op. Linux's blocking pool has outlived its usefulness, the Linux CRNG generates output that is good enough to use even for key generation. The blocking pool is not stronger in any material way, and keeping it around requires a lot of infrastructure of dubious value. Recommended LWN article: Removing the Linux /dev/random blocking pool. commit, commit, commit, commit, commit, commit, commit, commit
KEYS: Measure keys when they are created or updated. Currently they are not measured, therefore an attestation service, for instance, would not be able to attest whether or not the trusted keys keyring(s), for instance, contain only known good (trusted) keys. A new IMA policy function KEY_CHECK has been added to measure keys. keyrings option can be specified for KEY_CHECK to limit measuring the keys loaded onto the specified keyrings only. uid can be specified to further restrict key measurement for keys created by specific user commit, commit, commit, commit, commit, commit
- SELinux
Deprecate disabling SELinux and runtime commit
Implement a SELinux hook for lockdown. If the lockdown module is also enabled, then a denial by the lockdown module will take precedence over SELinux, so SELinux can only further restrict lockdown decisions commit
Allow per-file labelling for binderfs commit
Caching a certain number (compile-time configurable) of recently used context strings to speed up repeated translations of the same context commit
sidtab reverse lookup hash table, it reduces the time needed to add a new sidtab entry commit
Add a new sysfs file for querying TPM major version commit
11. Networking
(FEATURED) WireGuard secure network tunnel commit
Add support to do GRO/GSO by chaining packets of the same flow. This avoids the overhead to merge payloads into one big packet, and on the other end, if GSO is needed it avoids the overhead of splitting the big packet back to the native form commit, commit, commit, commit
Add offload indication to IPv4 and IPv6 routes so that mlxsw driver do not have to handle identical routes itself commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
unix sockets: Show number of scm files in /proc/self/fdinfo/. This may be useful to determine, that socket should be investigated or which task should be killed to put a reference counter on a resource commit, commit
- TCP
(FEATURED) Add initial support for Multi Path TCP protocol. This set adds MPTCP connection establishment, writing & reading MPTCP options on data packets, a sysctl to allow MPTCP per-namespace, and self tests. This is sufficient to establish and maintain a connection with a MPTCP peer, but will not yet allow or initiate establishment of additional MPTCP subflows. Future versions will include more features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit; InitiaL MPTCP support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Using IPv6 flow-label to swiftly route around avoid congested or disconnected network path can greatly improve TCP reliability. New SNMP counters and a OPT_STATS counter have been added to track both host-level and connection-level statistics. Network administrators can use these counters to evaluate the impact of this new ability better commit
Introduces a sysctl knob net.ipv4.tcp_no_ssthresh_metrics_save that disables TCP ssthresh metrics cache by default. Other parts of TCP metrics cache, e.g. rtt, cwnd, remain unchanged commit
TCP: Add support for L3 domains to MD5 auth. With VRF, the scope of network addresses is limited to the L3 domain the device is associated. MD5 keys are based on addresses, so proper VRF support requires an L3 domain to be considered for the lookups commit, commit, commit, commit, commit, commit, commit, commit, commit
- netfilter
Set implementation for arbitrary concatenation of ranges commit, commit, commit, commit, commit, commit
Add support for shifts to nft_bitwise in order to allow nftables to do bit shifts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nft_meta: add support for slave device matching commit, commit, commit, commit, commit, commit, commit, commit, commit
nft_tunnel: dump ERSPAN_VERSION commit and OPTS_ERSPAN/VXLAN commit
- Packet scheduler
Add Flow Queue Proportional Integral controller Enhanced (FQ-PIE) active queue Management algorithm. It is an enhancement over the PIE algorithm. It integrates the PIE aqm with a deficit round robin scheme commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a new Qdisc, ETS, which is based on 802.1Q-2014 wording. The new Qdisc operates like the PRIO / DRR combo would when configured as per the standard. The strict classes, if any, are tried for traffic first. When there's no traffic in any of the strict queues, the ETS ones (if any) are treated in the same way as in DRR commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Bluetooth
- RDMA
Add an ioctl command to allocate an async event file followed by a new ioctl command to get a device context commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add kernel capability flags to differentiate between current FW in kernel that supports both ldpm and edpm commit
ipsec: add TCP encapsulation support of IKE and ESP messages (RFC 8229) commit, commit, commit, commit, commit, commit
- bridge
ethtool: netlink based interface for ethtool. It aims to address some long known issues with the ioctl interface, mainly lack of extensibility, raciness, limited error reporting and absence of notifications. The goal is to allow userspace ethtool utility to provide all features it currently does but without using the ioctl interface. The interface uses generic netlink family "ethtool" and provides multicast group "monitor" which is used for notifications. Documentation for the interface is in Documentation/networking/ethtool-netlink.rst commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds support for PTP (IEEE 1588) P2P one-step time stamping along with a driver for a hardware device that supports this commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ncsi: Support for multi host mellanox card commit
openvswitch: New MPLS actions for layer 2 tunnelling commit, commit, commit
pptp: support sockets bound to an interface commit
QRTR flow control improvements commit, commit, commit, commit, commit
smc: allow unprivileged users to read pnet table commit
tipc: introduce variable window congestion control commit, commit, commit
xdp: Introduce bulking for non-map XDP_REDIRECT commit, commit, commit
vsock: add local transport support (vsock_loopback) to handle local communication. This could be useful to test vsock core itself and to allow developers to test their applications without launching a VM commit, commit, commit, commit, commit, commit
12. Architectures
- ARM
Device Tree Sources: New SoCs
Atmel/Microchip SAM9X60 (ARM926 SoC) commit
OMAP 37xx gets split into AM3703/AM3715/DM3725, who are all variants of it with different GPU/media IP configurations commit
ST stm32mp15 SoCs (1-2 Cortex-A7, CAN, GPU depending on SKU) commit
ST Ericsson ab8505 (variant of ab8500) and db8520 (variant of db8500) commit, commit
Unisoc SC9863A SoC (8x Cortex-A55 mobile chipset w/ GPU, modem) commit
Qualcomm SC7180 (8-core 64bit SoC, unnamed CPU class) commit
- Device Tree Sources: New boards
Allwinner Emlid Neutis SoM (H3 variant) commit
Allwinner Libre Computer ALL-H3-IT and ALL-H5-CC commit, commit
Allwinner PineH64 Model B commit
Amlogic Libretech Amlogic GX PC (s905d and s912-based variants) commit
Atmel/Microchip Kizboxmini, sam9x60 EK, sama5d27 Wireless SOM (wlsom1) commit
Marvell Armada 385-based SolidRun Clearfog GTR commit
NXP Gateworks GW59xx boards based on i.MX6/6Q/6QDL commit, commit, commit, commit
NXP Tolino Shine 3 eBook reader (i.MX6sl) commit
NXP Embedded Artists COM (i.MX7ULP) commit
NXP SolidRun Clearfog CX/ITX and HoneyComb (LX2160A-based systems) commit
NXP Google Coral Edge TPU (i.MX8MQ) commit
Rockchip Radxa Dalang Carrier (supports rk3288 and rk3399 SOMs) commit
Rockchip Radxa Rock Pi N10 (RK3399Pro-based) commit
Rockchip VMARC RK3399Pro SOM commit
ST Reference boards for stm32mp15 commit
ST Ericsson Samsung Galaxy S III mini (GT-I8190) commit, commit, commit, commit, commit
ST Ericsson HREF520 reference board for DB8520 commit
TI OMAP Gen1 Amazon Echo (OMAP3630-based) commit
Qualcomm Inforce 6640 Single Board Computer (msm8996-based) commit
Qualcomm SC7180 IDP (SC7180-based) commit
New Evaluation Kit the SAMA5D27-WLSOM1-EK. It's based on the Microchip WireLess SoM which contains the SAMA5D27 LPDDR2 2Gbits SiP commit
Add support for the Videostrong KII Pro tv box which is based on the gxbb-p201 reference design commit
Add EK874 board with idk-2121wr display support commit
Add Thor96 board from Einfochips. This board is one of the 96Boards Consumer Edition platform powered by the NXP i.MX8MQ SoC commit
- ARM 64
locking: Use optimized spinning loop commit
Add support for Armv8.5 E0PD, which benefits KASLR in the same way as KPTI but without the overhead. This allows KPTI to be disabled on CPUs that are not affected by Meltdown, even is KASLR is enabled commit, commit, commit, commit
Initial support for the Armv8.5 RNG instructions, which claim to provide access to a high bandwidth, cryptographically secure hardware random number generator. As well as exposing these to userspace, we also use them as part of the KASLR seed and to seed the crng once all CPUs have come online commit, commit
Advertise a bunch of new instructions to userspace, including support for Data Gathering Hint, Matrix Multiply and 16-bit floating point commit
Support for loading crash dump kernels with kexec_file_load() commit
Implement optimised checksum routine commit
12.1. X86
Add AMD-TEE driver. The AMD-TEE driver handles the communication with AMD's TEE environment. The TEE environment is provided by AMD Secure Processor. The AMD Secure Processor (formerly called Platform Security Processor or PSP) is a dedicated processor that features ARM TrustZone technology, along with a software-based Trusted Execution Environment (TEE) designed to enable third-party Trusted Applications. This feature is currently enabled only for APUs commit, commit
Intel Uncore frequency control. It allows control of uncore frequency limits on supported server platforms. Uncore frequency controls RING/LLC (last-level cache) clocks commit
- platforms
Enable thermal policy for ASUS TUF FX705DY/FX505DY commit
asus-nb-wmi: Support left round button on N56VB commit
asus_wmi: Support throttle thermal policy commit
intel-hid: Add Tiger Lake ACPI device ID commit
intel_pmc_core: Add Intel Elkhart Lake support commit
intel_pmc_core: Add Intel Tiger Lake support commit
mlx-platform: add new features for the existing Mellanox systems and introduce two new system classes commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
touchscreen_dmi: Add support for the PiPO W11 tablet commit
Add MCA and EDAC support for AMD Family 19h commit, commit, commit, commit, commit
mtrr: Require CAP_SYS_ADMIN for all access commit
resctrl: Add task resctrl information display commit
Add support for "Fast Short Rep Mov" commit
intel_th: pci: Add Elkhart Lake CPU support commit
mei: me: add comet point (lake) H device ids commit
powercap: intel_rapl: add support for JasperLake commit and TigerLake Mobile commit
- perf
- tools/power turbostat
intel-speed-select: Add support for core-power discovery commit
crypto: faster 64 bit poly1305 implementation commit, commit
- intel_idle
Allow the intel_idle driver to use C-states information from ACPI _CST on systems where the processor is not recognized by it commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Introduce states_off module parameter commit
Introduce use_acpi module parameter commit
KVM: Support AMD SVM AVIC w/ in-kernel irqchip mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
12.2. S390
S390 hardware compression support for kernel zlib commit, commit, commit, commit, commit, commit
Enhanced handling of secure keys and protected keys commit, commit, commit, commit, commit
pkey: Add support for key blob with clear key value commit
Support KPROBES_ON_FTRACE commit
12.3. RISCV
BPF JIT, optimizations and far jumps support commit, commit, commit, commit, commit, commit, commit, commit, commit
Add KASAN support commit
Add support for CONFIG_DEBUG_VIRTUAL commit
Add kconfig option for QEMU virt machine commit
12.4. MIPS
Ingenic: Add Ingenic X1000 support commit
Ingenic: Add YSH & ATIL CU Neo board support commit
Add MAC2008 Support commit
vdso: Support mremap() for vDSO the same way it's done for x86 and arm commit
12.5. POWERPC
vdso32 enhancement and optimisation commit, commit, commit, commit, commit, commit, commit
Enable CONFIG_VMAP_STACK on PPC32 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support of KASAN_VMALLOC on PPC32 commit
Add a debugfs entry to dump PHB's IODA PE state commit
Page directory freeing TLB flushing fixes commit commit commit commit commit commit commit commit commit
KVM: Book3S HV: Implement H_SVM_INIT_ABORT hcall commit
12.6. CSKY
Initial stack protector support commit
Tightly-Coupled Memory or Sram support commit
Add PCI support commit
12.7. MICROBLAZE
12.8. SPARC
Add support for folded p4d page tables commit
12.9. UML
Add an option to make serial driver non-raw commit
12.10. ARC
Preserve userspace fpu state commit
13. Drivers
13.1. Graphics
Add support for specifying a connector's panel_orientation on the kernel cmdline (rotate only supports 0/180 degrees) with panel_orientation, with one of "normal", "upside_down", "left_side_up", or "right_side_up" commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Show which of the i2c adapters is for which drm connector by providing a symbolic link in connector's sysfs directory, e.g.: /sys/class/drm/card0-HDMI-A-1/ddc -> ../../../../soc/13880000.i2c/i2c-2; this shows that card0-HDMI-A-1 uses i2c-2 and can e.g. run ddcutil commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- amdgpu
Remove experimental flag for Navi14 commit
Enable sync object timelines for vulkan commit
Enable MST DSC support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add DMCUB display microengine support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DC OEM i2c support commit
Initial HDCP 2.x support commit
Enables BACO (Bus Active Chip Off) for power savings on Arcturus commit, commit
Use BACO for runtime PM power save commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
DCN support on POWER commit and enable KFD on POWER systems commit
powerplay: support custom power profile setting commit
Enable GPU reset by default on Navi commit and renoir commit
Enable RAS feature for the gc of Arcturus commit, commit, commit, commit
- Intel
Enable DSC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
HDCP 2.2 for CFL commit
LMEM debugfs support commit
LMEM discontiguous object maps commit
Use LMEM for dumb buffers if possible commit
Add LMEM mmap support commit
Add second TGL PCH ID commit
Add 10bpc formats with alpha for icl+ commit
Add new EHL/JSL PCI ids commit
Expose more formats commit, commit, commit, commit, commit, commit, commit
Introduce DRM_I915_GEM_MMAP_OFFSET commit
- panel
Logic PD type 28 panel support commit
ingenic: Add support for the JZ4770 commit
Add driver for Sony ACX424AKP panel commit
Add panel driver for Leadtek LTK500HD1829 commit
xinpeng XPP055C272 commit
Add support for AUO B116XAK01 panel commit
Add support for BOE NV140FHM-N49 panel to panel-simple commit
simple: Add Satoz SAT050AT40H12R2 panel support commit
simple: Add compatible for GiantPlus GPM940B0 commit
Sharp LS020B1DD01D panels commit
Add Boe Himax8279d MIPI-DSI LCD panel commit
Add backlight support commit
- nouveau
- rockchip
- virtio-gpu
fb damage support commit
- msm
- vmwgfx
Add ioctl for messaging from/to guest userspace to/from host commit
- mediatek
- sun4i
- rcar-du
- ast
- mcde
vblank support commit
- meson
- gma500
Add pageflip support commit
- komeda
- tilcdc
Remove obsolete bundled tilcdc tfp410 driver commit
- ARC
PGU: add ARGB8888 format to supported format list commit
- edid
LVDS decoder support commit
- bridge
Add Analogix anx6345 support commit
- hisilicon/hibmc
Export VRAM MM information to debugfs commit
- mgag200
Add module parameter to pin all buffers at offset 0 commit
scheduler: improve job distribution with multiple queues commit
13.2. Power Management
EFI: Allow disabling PCI busmastering on bridges during boot commit
ACPI: DPTF: Add Tiger Lake ACPI device IDs commit
ACPI: fan: Add Tiger Lake ACPI device ID commit
- thermal
Add BCM2711 thermal driver commit
int340x: processor_thermal: Add Jasper Lake support commit
int340x_thermal: Add Tiger Lake ACPI device IDs commit
intel: intel_pch_thermal: Add Comet Lake (CML) platform support commit
qoriq: Add hwmon support commit
rockchip: Enable hwmon commit
sun8i: Add hwmon support commit
sun8i: Add thermal driver for H6/H5/H3/A64/A83T/R40 commit
13.3. Storage
- SCSI
pata_pcmia: add SanDisk High (>8G) CF card to supported list commit
13.4. Drivers in the Staging area
media: meson: vdec: add g12a platform commit
media: meson: vdec: add sm1 platform commit
media: hantro: Support color conversion via post-processing commit
media: Rockchip ISP Driver commit, commit, commit, commit, commit, commit, commit, commit, commit
rtl8188eu: Add device id for MERCUSYS MW150US v2 commit
android: Delete the 'vsoc' driver commit
octeon-usb: delete the octeon usb host controller driver commit
Remove isdn capi drivers commit
octeon: delete driver commit
13.5. Networking
- Bluetooth
hci_bcm: Additional changes for BCM4354 support commit, commit, commit, commit
btusb: Add support for 04ca:3021 QCA_ROME device commit
hci_bcm: Drive RTS only for BCM43438 commit
hci_h4: Add support for ISO packets commit
hci_h5: Add support for ISO packets commit
hci_vhci: Add support for ISO packets commit
hci_qca: Enable power off/on support during hci down/up for QCA Rome commit
- Infiniband
- RDMA
ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter commit
- ath10k
- ath11k
- bcmgenet
- bnxt_en
- brcmfmac
cxgb4: add support for high priority filters commit
dpaa2-ptp: add external trigger event support commit
- dsa
- ena
- enetc
- hns3
- ice
- igc
- ionic
macsec: initial support for hardware offloading commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Adds support for Copper SFP+ modules with Clause 45 PHYs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mlx5
mlx5e: allow TSO on VXLAN over VLAN topologies commit
- mlxsw
Add tunnel devlink-trap support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Offload TBF commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add a new Qdisc, ETS commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mv88e6xxx: Add serdes Rx statistics commit
netdevsim: fib: Add dummy implementation for FIB offload commit
- nfp
octeontx2-pf: Add network driver for physical function commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- phy
qed: FW 8.42.2.0 Add fw overlay feature commit
- qmi_wwan
- qtnfmac
r8152: Add MAC passthrough support to new device commit
r8169: use generic ndo_do_ioctl handler phy_do_ioctl commit
rtw88: Add wowlan support for 8822c commit, commit, commit, commit, commit, commit, commit
- stmmac
- wil6210
wlcore: mesh: Add support for RX Broadcast Key commit
13.6. Audio
soundwire: qcom: add support for SoundWire controller commit
Fix year 2038 issue for sound subsystem commit, commit, commit, commit, commit, commit, commit, commit, commit
cmipci: Allow disabling MPU port via module option commit
control: Add verification for kctl accesses commit
dice: add support for Alesis MasterControl commit
The already deprecated dimension support in ALSA control API is dropped completely now commit, commit, commit, commit
- hda
- ASoC
Adapt the recent PCM API updates to ASoC drivers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
SOF: Intel: add codec_mask module parameter commit
Add MediaTek MT6660 Speaker Amp Driver commit
Intel: Add machine driver for da7219_max98373 commit
Intel: common: add match tables for CNL/CFL/CML w/ SoundWire commit
Intel: common: add match tables for ICL w/ SoundWire commit
Intel: common: add match tables for TGL w/ SoundWire commit
SOF: Add asynchronous sample rate converter topology support commit
SOF: Intel: add PCI ID for JasperLake commit
SOF: Intel: add module namespace support commit, commit, commit, commit, commit, commit, commit, commit
SOF: Intel: hda: Add iDisp4 DAI commit
soc-acpi: add support for SoundWire-based machines commit, commit, commit, commit, commit, commit
amd MMAP_INTERLEAVED Support commit
amd: add ACP3x TDM mode support commit
codecs: Add jz4770-codec driver commit
codecs: add wsa881x amplifier support commit
fsl_asrc: Add support for imx8qm & imx8qxp commit
gtm601: add Broadmobi bm818 sound profile commit
intel/skl/hda - export number of digital microphones via control components commit
intel: Add Broadwell rt5650 machine driver commit
intel: sof_rt5682: Add support for tgl-max98357a-rt5682 commit
qcom: sdm845: add support to DB845c and Lenovo Yoga commit
rt1015: add rt1015 amplifier driver commit
rt1308-sdw: add rt1308 SdW amplifier driver commit
rt700: add rt700 codec driver commit
rt711: add rt711 codec driver commit
rt715: add RT715 codec driver commit
sgtl5000: add multi endpoint support commit
tlv320aic31xx: Add HP output driver pop reduction controls commit
tlv320aic31xx: Add Volume Soft Stepping control commit
Add support to WCD9340/WCD9341 codec commit, commit, commit, commit, commit, commit, commit, commit
13.7. Tablets, touch screens, keyboards, mouses
tm2-touchkey - add support for Coreriver TC360 variant commit
Add IOC3 serio driver commit
ili210x - add ili2120 support commit
- HID
13.8. TV tuners, webcams, video capturers
atmel: atmel-isc-base: add support for Y10 format commit
atmel: atmel-isi: add support for mono sensors, GRAY and Y16 commit
coda: jpeg: add CODA960 JPEG encoder support commit
cx23885: Add support for AVerMedia CE310B commit
dvb: add support for TerraTec TC2 Stick (193534) commit
rc: ir-hix5hd2: add hi3796cv300-ir support commit
rtl28xxu: Add support for PROlectrix DV107669 DVB-T dongle commit
sun4i-csi: Add support for A10 CSI1 camera sensor interface commit
ti-vpe: cal: Add AM654 support commit
ti-vpe: cal: Add DRA76x support commit
ti-vpe: cal: Enable DMABUF export commit
vivid: Add touch support commit
vivid: support multiplanar touch devices commit
13.9. Universal Serial Bus
EHCI: ehci-mv: add HSIC support commit
cdns3: Add streams support to cadence USB3 DRD driver commit
cdns3: add NXP imx8qm glue layer commit
dwc3: pci: add ID for the Intel Comet Lake -V variant commit
gadget: composite: Support more than 500mA MaxPower commit
xhci-tegra: Implement basic ELPG support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: iowarrior: add support for 2 OEMed devices commit
misc: iowarrior: add support for the 100 device commit
misc: iowarrior: add support for the 28 and 28L devices commit
musb: Add support for MediaTek musb controller commit
phy: show USB charger type for user commit
serial: option: add ME910G1 ECM composition 0x110b commit
serial: pl2303: add device-id for HP LD381 commit
typec: ucsi: add support for separate DP altmode devices commit
13.10. Serial Peripheral Interface (SPI)
Add HiSilicon v3xx SPI NOR flash controller driver commit
pxa2xx: Add support for Intel Comet Lake PCH-V commit
rspi: Add support for GPIO chip selects commit
rspi: Add support for multiple native chip selects commit
spi-ti-qspi: support large flash devices commit
13.11. Watchdog
it87_wdt: add IT8786 ID commit
mtk_wdt: mt8183: Add reset controller commit
mtk_wdt: mt2712: Add reset controller commit
13.12. Serial
8250: Support disabling mdelay-filled probes of 16550A variants commit
8250_exar: add support for ACCES cards commit
baudrate: SPARC supports few more baud rates commit
serial: meson_uart: Add support for kernel debugger commit
13.13. Device Voltage and Frequency Scaling
devfreq: improve devfreq statistics counting add ability to reset statistics using sysfs commit
devfreq: Add new name sysfs attribute in order to get device name commit
devfreq: Add dynamic scaling for imx8m ddr controller commit
devfreq: Add debugfs support with devfreq_summary file commit
13.14. Voltage, current regulators, power capping, power supply
- power
avs: Add support for CPR (Core Power Reduction) found in Qualcomm products commit
supply: core: Add battery internal resistance temperature table support commit
supply: bq25890_charger: Add support of BQ25892 and BQ25896 chips commit
supply: axp20x_usb_power: Allow offlining commit
supply: max17042: add MAX17055 support commit
- regulator
13.15. Real Time Clock (RTC)
at91rm9200: add sama5d4 and sama5d2 compatibles commit
bd70528: add BD71828 support commit
rv3029: add RTC_VL_READ/RTC_VL_CLEAR support commit
rv3029: add nvram support commit
13.16. Pin Controllers (pinctrl)
Ingenic: Add missing parts for X1000 and X1500 commit
Ingenic: Add pinctrl driver for X1830 commit
aspeed-g6: Add AST2600 pinconf support commit
aspeed-g6: Add support for the AST2600 USB pinmux commit
freescale: Add i.MX8MP pinctrl driver support commit
sunrisepoint: Add Coffee Lake-S ACPI ID commit
13.17. Multi Media Card (MMC)
sdhci-brcmstb: Add ability to use HS400ES transfer mode commit
sdhci-brcmstb: Add support for Command Queuing (CQE) commit
sdhci-msm: Add CQHCI support for sdhci-msm commit
sdhci: add support for using external DMA devices commit
13.18. Memory Technology Devices (MTD)
spi-nor: Add support for at25sl321 commit
spi-nor: Add support for mx25r3235f commit
spi-nor: Add support for sst26vf016b commit
spi-nor: Add support for w25q32jwm commit
spi-nor: add Gigadevice gd25lq128d support commit
spi-nor: intel-spi: Add support for Intel Comet Lake-V SPI serial flash commit
spi-nor: intel-spi: Add support for Intel Jasper Lake SPI serial flash commit
spinand: add support for Toshiba TC58CVG2S0HRAIJ commit
13.19. Industrial I/O (iio)
max31856: provide more configuration options, also extending IIO core commit, commit, commit, commit, commit, commit, commit, commit, commit
accel: Add driver for the BMA400 commit
accel: bma180: BMA254 support commit
accel: bma180: Basic regulator support commit
adc: Add support for AD7091R5 ADC commit
adc: ad7923: Add support for the ad7908/ad7918/ad7928 commit
adc: new driver to support Linear technology's ltc2496 commit
imu: adis16480: Add support for ADIS16490 commit
imu: inv_mpu6050: add fifo temperature data support commit
imu: inv_mpu6050: add support of MPU9150 magnetometer commit
ping: add parallax ping sensors commit
pressure: Add driver for DLH pressure sensors commit
13.20. Multi Function Devices (MFD)
ab8500-core: Add device tree support for AB8505 commit
bd71828: Add power-key support commit
bd71828: Support ROHM BD71828 PMIC - core commit
da9062: add support for the DA9062 GPIOs in the core commit
intel-lpss: Add Intel Jasper Lake PCI IDs commit
ioc3: Add driver for SGI IOC3 chip commit
wcd934x: Add support to wcd9340/wcd9341 codec commit
13.21. Pulse-Width Modulation (PWM)
sun4i: Add support for H6 PWM commit
13.22. Inter-Integrated Circuit (I2C + I3C)
- i3c
master: cdns: add data hold delay support commit
- I2C
13.23. Hardware monitoring (hwmon)
Add support for enable attributes to hwmon core commit
Add intrusion templates commit
Driver for MAX31730 commit
Driver for disk and solid state drives with temperature sensors commit
adm1177: Add ADM1177 Hot Swap Controller and Digital Power Monitor driver commit
k10temp: Add debugfs support commit
k10temp: Display up to eight sets of CCD temperatures commit
k10temp: Report temperatures per CPU die commit
k10temp: Show core and SoC current and voltages on Ryzen CPUs commit
pmbus/ibm-cffps: Add new manufacturer debugfs entries commit
pmbus/ibm-cffps: Add the VMON property for version 2 commit
pmbus/ucd9000: Add support for UCD90320 Power Sequencer commit
pmbus: Add MAX20796 to devices supported by generic pmbus driver commit
pmbus: Add support for vid mode calculation per page bases commit, commit, commit, commit, commit
pmbus: Driver for MAX20730, MAX20734, and MAX20743 commit
w83627ehf: remove nct6775 and nct6776 support commit
13.24. General Purpose I/O (gpio)
Add support for the Xylon LogiCVC GPIOs commit
bd71828: Initial support for ROHM BD71828 PMIC GPIOs commit
sifive: Add GPIO driver for SiFive SoCs commit
wcd934x: Add support to wcd934x gpio controller commit
13.25. Leds
lm3692x: Allow to configure over voltage protection commit
tps6105x: add driver for MFD chip LED mode commit
13.26. DMA engines
Create symlinks between DMA channels and slaves, because currently it is not easy to find out which DMA channels are in use, and which slave devices are using which channels commit
JZ4780: Add support for the X1830 commit
fsl-edma: Add eDMA support for QorIQ LS1028A platform commit
hisilicon: Add Kunpeng DMA engine support commit
idxd driver for Intel Data Streaming Accelerator commit, commit, commit, commit, commit, commit, commit, commit, commit
PLX Switch DMA Engine Driver commit, commit, commit, commit, commit
sun4i: Add support for cyclic requests with dedicated DMA commit
Add Texas Instruments UDMA support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
13.27. Hardware Random Number Generator (hwrng)
iproc-rng200 - Add support for BCM2711 commit
13.28. Cryptography hardware acceleration
caam: Add support for i.MX8M Mini commit
caam: add support for i.MX8M Nano commit
caam: add support for i.MX8M Plus commit
ccp: add TEE support for Raven Ridge commit
chtls: Add support for AES256-GCM based ciphers commit
hisilicon: Add aead support on SEC2 commit
sun4i-ss: add the A33 variant of SS commit
13.29. PCI
P2PDMA: Add Intel SkyLake-E to the whitelist commit
brcmstb: Add Broadcom STB PCIe host controller driver commit
brcmstb: Add MSI support commit
dwc: intel: PCIe RC controller driver commit
qcom: Add support for SDM845 PCIe controller commit
switchtec: Add Gen4 device IDs commit
switchtec: Add Gen4 flash information interface support commit
vmd: Add two VMD Device IDs commit
13.30. Thunderbolt
(FEATURED) thunderbolt: Add support for USB 4. USB4 is the public specification of Thunderbolt 3 protocol commit, commit, commit, commit, commit, commit, commit, commit, commit
13.31. Clock
Add support for setting clk_rate via debugfs commit
fsl-sai: new driver commit
imx: Add support for i.MX8MP clock driver commit
ls1028a: Add clock driver for Display output interface commit
meson: add a driver for the Meson8/8b/8m2 DDR clock controller commit
qcom: Add MSM8998 Multimedia Clock Controller (MMCC) driver commit
qcom: Add display clock controller driver for SC7180 commit
qcom: Add graphics clock controller driver for SC7180 commit
qcom: Add ipq6018 Global Clock Controller support commit
qcom: Add video clock controller driver for SC7180 commit
timer-microchip-pit64b: Add Microchip PIT64B support commit
zynqmp: Add support for get max divider commit
13.32. PHY ("physical layer" framework)
core: Add consumer device link support commit
cadence: Sierra: Add support for SERDES_16G used in J721E SoC commit
intel-lgm-emmc: Add support for eMMC PHY commit
ti: j721e-wiz: Add support for WIZ module present in TI J721E SoC commit
usb: Add support for new Synopsys USB controller on the 7211b0 commit
usb: Add support for new Synopsys USB controller on the 7216 commit
usb: Add support for wake and USB low power mode for 7211 S2/S5 commit
13.33. Various
PCI/switchtec: Add Gen4 system info register support commit
PCI/switchtec: Add support for Intercomm Notify and Upstream Error Containment commit
firmware: qcom_scm: Dynamically support SMCCC and legacy conventions commit
interconnect: Add interconnect_graph file to debugfs commit
interconnect: qcom: Add MSM8916 interconnect provider driver commit
iommu/arm-smmu-v3: Add support for Substream IDs commit
iommu/vt-d: Add Kconfig option to enable/disable scalable mode commit
iommu/vt-d: debugfs: Add support to show page table internals commit
irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP commit
irqchip: Add Aspeed SCU interrupt controller commit
irqchip: Add NXP INTMUX interrupt multiplexer support commit
isdn: capi: dead code removal commit
memory: tegra: Add support for the Tegra194 memory controller commit
memory: tegra: Implement EMC debugfs interface on Tegra20 commit and Tegra30 commit
misc: alcor_pci: Add AU6625 to list of supported PCI_IDs commit
nvmem: add QTI SDAM driver commit
nvmem: add support for the write-protect pin commit
remoteproc/mediatek: add SCP support for mt8183 commit
remoteproc: mss: q6v5-mss: Add modem support on SC7180 commit
remoteproc: qcom: pas: Add MSM8998 ADSP and SLPI support commit
remoteproc: qcom: pas: Add SM8150 ADSP, CDSP, Modem and SLPI support commit
reset: Add Broadcom STB RESCAL reset controller commit
reset: intel: Add system reset controller driver commit
rpmsg: add rpmsg support for mt8183 SCP commit
soc/tegra: fuse: Add Tegra194 support commit
soc: ti: k3: add navss ringacc driver commit
14. List of Pull Requests
15. Other news sites
LWN's merge window part 1, part 2, development stats
Phoronix Linux 5.6 Is The Most Exciting Kernel In Years With So Many New Features