| Size: 82338 Comment:  | Size: 880 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 1: | Line 1: | 
| Comprehensible changelog of the linux kernel. This page shows a summary of the important changes being added in each linux kernel release - support for new devices, new features (filesystems, subsystems), important internal changes, etc. While this text is aimed to be (unlike the full changelog) readable, it's obvious that some parts will not be comprehensible for those who don't know a lot about kernel internals, just like it happens in every software project. Other places to get news about the linux kernel are [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide], [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6], or [http://www.lkml.org www.lkml.org]. If you're going to add something here look first at LinuxChangesRules! | #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: | 
| '''Older releases''' * Previous stable release [http://wiki.kernelnewbies.org/Linux_2_6_17 Linux 2.6.17], next release: [http://wiki.kernelnewbies.org/Linux_2_6_19 2.6.19] (still not released); see Linux26Changes for other versions. | 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.18''' [[TableOfContents()]] == Short overview (for new sites) == This release includes lightweight user space priority inheritance support (http://lwn.net/Articles/178253/), a "lock validator" debugging tool (http://lwn.net/Articles/185666/), a new power saving policy for multicore systems, SMPnice (http://lwn.net/Articles/186438/), a much improved SATA layer (http://lwn.net/Articles/183734/), swapless page migration (http://lwn.net/Articles/160201/), per-zone VM counters, per-task delay accounting, a new per-packet access control for SELinux called 'secmark' (http://james-morris.livejournal.com/11010.html), randomized i386 vDSO, a few new drivers, additional device support for many existing drivers, many bugfixes and many other small improvements. == Important things (AKA: ''the cool stuff'') == === Lightweight user space priority inheritance (PI) === PI is a critical feature for RT-ish apps. Currently (without PI), if a high-prio and a low-prio task shares a lock, even if all critical sections are coded carefully to be deterministic (i.e. all critical sections are short in duration and only execute a limited number of instructions), the kernel cannot guarantee any deterministic execution of the high-prio task: any medium-priority task could preempt the low-prio task while it holds the shared lock and executes the critical section, and could delay it indefinitely. User-space PI helps to achieving/improving determinism for user-space applications in those cases. Detailed [http://lwn.net/Articles/178253/ LWN article], glibc patch can be found [http://people.redhat.com/mingo/PI-futex-patches/ here], justification for this feature and design documentation: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6537be9324c67b41f6d98f5a60a1bd5a8e02861 (commit)]; code: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2970f2fb6950183a34e8545faa093eb49d186e1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b29739f902ee76a05493fb7d2303490fc75364f4 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=23f78d4a03c53cbd75d87a795378ea540aa08c86 (commit)] === Lockdep, a kernel lock validator === Linux's locking style is know for being ''simple'' compared with other Unix SMP-friendly derivatives. Still, locking is a neccesary evil that is hard to get right for most of normal programmers (most of us), and locking bugs can be very difficult to find, specially in drivers, that don't get the solid review that core kernel has. The kernel lock validator is a debugging tool that tries to makes such things easier, it's [http://lwn.net/Articles/185666/ (LWN article)] ''a complex infrastructure to the kernel which can then be used to prove that none of the locking patterns observed in a running system could ever deadlock the kernel''. If you want to help to make Linux stabler, give it a run and report the backtraces printed on dmesg at linux-kernel@vger.kernel.org or http://bugzilla.kernel.org. Design documentation: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3e97da38e1d69d24195d76f96b912323f5ee30c (commit)], code: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbb9ce9530fd9b66096d5187fa6a115d16d9746c (commit)] === Process scheduler === New power saving policy:: In machines with several multi core/smt "packages" (which will become increasingly common in the future), the power consumption can be improved by letting some packages idle while others do all the work, instead of spreading the tasks over all CPUs, so a optional power saving policy has been developed to make this possible. When this power savings policy is enabled - set to 1 the sysfs entry 'sched_mc_power_savings' or 'sched_smt_power_savings' placed under /sys/devices/system/cpu/cpuX/ when enabled CONFIG_SCHED_MC / CONFIG_SCHED_SMT - and under light load conditions, the scheduler will minimize the physical packages/cpu cores carrying the load and thus conserving power, but impacting the performance depending on the workload characteristics (when there's lot of work to do all CPUs will be used, to completely disable individual CPUs use the already available CPU hot plugging feature by writing 0 to the "online" file in that sysfs directory). For more details on the effect of this policy read the "Chip Multi Processing(CMP) aware Linux Kernel Scheduler" talk from [http://www.linuxsymposium.org/2005/linuxsymposium_procv2.pdf the OLS 2005] (page 201 and onwards) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c45bf279d378d436ce45825c0f136696c7b6109 (commit)] SMPnice:: (A.K.A. 'take priority into account when balancing processes between CPUs'): One of the design principles of the new 2.6 scheduler (aka, "Ingo's O(1) scheduler") was the idea of having a separate run queue of processes for each CPU present on the system, instead of a single run queue for all CPUs, for scalability reasons. Periodically, the scheduler would balance the per-cpu run queues to distribute all the jobs and keep all the CPUs busy. However, priority levels were not taken into account at the time of doing this balance and it was possible recreate scenarios where the kernel was being unfair, when mixing processes with different priorities. "SMPnice" is a implementation of a solution for this problem [http://lwn.net/Articles/186438/ (LWN article)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2dd73a4f09beacadde827a032cf15fd8b1fa3d48 (commit)] === Memory management === Swapless page migration:: Being able to migrate pyshical pages between nodes in NUMA-like systems - to improve the [http://en.wikipedia.org/wiki/Locality_of_reference locality of reference] - was introduced in [http://wiki.kernelnewbies.org/Linux_2_6_16 Linux 2.6.16], but it didn't use a very clean method: pages were swapped out in purpose, and then the next time those pages would be faulted, they'd be swapped in to the node where you wanted to move those pages instead of the old one. This trick was used but now the feature has been completed with "direct page migration": Now pages are moved directly from one node to another, without using swap. This feature includes a new system call which allows to move individual pages of a process from one node to another: ''long move_pages(pid, number_of_pages_to_move, addresses_of_pages[], nodes[] or NULL, status[],lags)'' - the swap-based migration had already added a migrate_pages() syscall and a MPOL_MF_MOVE option to the set_mempolicy() syscall). For full details, read this [http://lwn.net/Articles/160201/ (LWN article)]. Code: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0697212a411c1dae03c27845f2de2f3adb32c331 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6c5240ae7f48c83fcaa8e24fa63e7eb09aba5651 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d75a0fcda2cfc71b50e16dc89e0c32c57d427e85 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04e62a29bf157ce1edd168f2b71b533c80d13628 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d3c138b77f195ca0eee6fb639ae73f5ea9edb6b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=742755a1d8ce2b548428f7aacf1758b4bba50080 (commit)] Per-zone VM counters:: Zone based VM statistics are necessary to be able to determine what the state of memory in a zone is. The counters that we currently have for the VM are split per processor, but the processor has not much to do with the zone these pages belong to: we cannot tell f.e. how many pages on a particular node are dirty - if we knew then we could put measures into the VM to balance the use of memory between different zones and different nodes in a NUMA system. It would allow the development of new NUMA balancing algorithms that may be able to improve the decision making in the scheduler of when to move a process to another node - and hopefully will also enable automatic page migration through a user space program that can analyze the memory load distribution and then rebalance memory use in order to increase performance. This feature allows to have such info. The zone_reclaim_interval sysctl vanishes (since VM stats can now determine when it is worth to do local reclaim), and there're accurate counters in /sys/devices/system/node/node*/meminfo (current counters are not very accurate). Other detailed VM counters are available in more /proc and /sys status files [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6ac2354d791195ca40822b84d73d48a4e8b7f2b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2244b95a7bcf8d24196f8a3a44187ba5dfff754c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3dbd34460ff54962d3e3244b6bcb7f5295356e6 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65ba55f500a37272985d071c9bbb35256a2f7c14 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e7a8fd854d2f895730e82137400012b509650e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ce866b34ae1b7f1ce60234cf65855886ac7e7d30 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df849a1529c106f7460e51479ca78fe07b07dc8c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34aa1330f9b3c5783d269851d467326525207422 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a865ffa34b6117a5e0b67640a084d8c2e198c93 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca889e6c45e0b112cb2ca9d35afc66297519b5d5 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd39fc8561be33065306bdac0e30414e1e8ac8e1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d2c5e30c9a1420902262aa923794d2ae4e0bc391 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9614634fe6a138fd8ae044950700d2af8d203f97 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8891e5e1f93a128c3900f82035e8541357896a7 (commit)] === Per-task delay accounting === This feature collects information on time spent by a task waiting for system resources like cpu, synchronous block I/O completion and swapping in pages. Until now, it was only possible to know that a process was not runnning, but it was not possible to obtain detailed information in what was making the process spend the time. The data is exported throught netlink and /proc/<tgid>stats [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f9fd8914c1acca0d98b69d831b128d5b52f03c51 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c8924363da07aec213e5d359f23eeae1fff91951 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f44993fe1d7b2b097f6ac60cd5835c6f5ca0874 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb0ba6bd021248b6bdc58a7b1213a55a6776a38a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad4ecbcba72855a2b5319b96e2a3a65ed1ca3bfd (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25890454667b3295f67b3372352be90705f8667c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e06d3f9f6b14f6e3120923ed215032726246c98 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c757249af152c59fd74b85e52e8c090acb33d9c0 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca74e92b4698276b6696f15a801759f50944f387 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ff922452df86f3e9a2c6f705c4588ec62d096a7 (commit)] === Big libata (SATA) update === [http://lwn.net/Articles/183734/ (LWN article)] Mainstream libata has been missing some features like NCQ and hot plug. The code had been written a while ago (more than a year ago in the case of NCQ) but only now it has been considered stable. The features included in this update are: a revamped error handling across all the libata code, which makes libata more robust to errors and failures, and makes easier to debug problems [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=022bdb075b9e1f224088a0b268de56268d7bc5b6 (commit)]; NCQ ([http://en.wikipedia.org/wiki/Native_command_queueing Native Command Queuing]) which improves the performance greatly for many workloads) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3dc1d88193b9c65b01b64fb2dc730e486306649f (commit)], hotplug [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=084fe639b81c4d418a2cf714acb0475e3713cb73 (commit)], warmplug [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83c47bcb3c533180a6dda78152334de50065358a (commit)], and bootplug - boot probing via hotplug path - support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e706399b03bd237d087d731d4b1b029e546b33d (commit)], interrupt-driven PIO mode (instead of the inefficient poll method), [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=312f7da2824c82800ee78d6190f12854456957af (commit)], add MCP61 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4c5c81613b0eb0dba97a8f312a2f1162f39fd47b (commit)] === Change the default IO scheduler to 'CFQ' === 2.6 features modular I/O schedulers: There're several I/O schedulers with different performance properties (that you can change at runtime with /sys/block/hda/queue/scheduler). The [http://www.cs.rice.edu/~ssiyer/r/antsched/ Anticipatory Scheduler] (AS) has been the default one since then, but the CFQ (Complete Fair Queuing) scheduler has been gaining adoption since then, to the point that it's the default I/O scheduler for RHEL 4, Suse, and other distros. One of the coolest things about CFQ is that it features (since 2.6.13) "io priorities": That means you can set the "I/O" priority of a process so you can avoid that a process that does too much I/O (daily updatedb) starves the rest of the system, or give extra priority to a process that shouldn't be starved by other processes, by using the "ionice" tool included in schedutils (1.5.0 and onwards). Now CFQ is the default scheduler [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b17fd9bceb99610f6dc7998c9a4ed6b71520be2b (commit)] (after some performance tweaks that should improve the performancein many workloads) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=caaa5f9f0a75d1dc5e812e69afdbb8720e077fd3 (commit)]. If you want to continue using the AS scheduler, you can change it at runtime in /sys/block/hda/queue/scheduler, or use the "elevator=as" boot option. === Secmark: Add security markings to packets via iptables === [http://james-morris.livejournal.com/11010.html (article from James Morris, a SELinux developer)] SELinux already has methods to "mark" network packets, but they're not as expressive or powerful as the controls provided by Netfilter/iptables. So Netfilter/iptables has been leveraged for packet selection and labeling, so that now SELinux can have more powerful and expressive network controls for adding security markings to packets. This also allows for increased security, as the policy is more effective, allowing access to the full range of iptables selectors and support mechanisms. The feature includes a SECMARK target allowing the admin to apply security marks to packets via both iptables and ip6tables, a CONNSECMARK target used to specify rules for copying security marks from packets to connections and for copying security marks back from connections to packets, and secmark support to conntrack. Examples of policies and rulesets, and patches for libselinux can be found [http://people.redhat.com/jmorris/selinux/secmark/ here]. [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29a395eac4c320c570e73f0a90d8953d80da8359 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e5ab4cb85683cf77b507ba0c4d48871e1562305 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=984bc16cc92ea3c247bf34ad667cfb95331b9d3c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e5ab4cb85683cf77b507ba0c4d48871e1562305 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e6874cdb8de94cd3c15d853a8ef9c6f4c305055 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=100468e9c05c10fb6872751c1af523b996d6afa9 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c9728c393dceb724d66d696cfabce82151a78e5 (commit)] === Add binding/unbinding support for the VT console === This feature adds the ability to detach and attach the framebuffer console to and from the vt layer. With this change, it is possible to detach fbcon from the console layer. If it is detached, it will reattach the boot console driver (which is permanently loaded) back to the console layer so the system can continue to work. Similarly, fbcon can be reattached to the console layer without having to reload the module. Attaching and detaching fbcon is done via sysfs attributes. A class device entry for fbcon is created in /sys/class/graphics. The two attributes that controls this feature are detach and attach. Two other attributes that are piggybacked under /sys/class/graphics/fb[n] that are fbcon-specific, 'con_rotate' and 'con_rotate_all' are moved to fbcon. They are renamed as 'rotate' and 'rotate_all' respectively. Overall, this feature is a great help for developers working in the framebuffer or console layer as there is not need to continually reboot the kernel for every small change. It is also useful for regular users who wants to choose between a graphical console or a text console without having to reboot [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e795de7631b2366d7301182c8d91f6d2911467b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5428b04405af1bb441aa8aabd314e48b870bc58e (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a17917671d407d37bf23a527aa55acca3cb4735 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=50ec42edd9784fad6a37b05be03064ea24098db6 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6db4063c5b72b46e9793b0f141a7a3984ac6facf (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=13ae66458971b4967350765a8bfaf2a636442e5f (commit)] === New drivers === Here are some important drivers that have been added to the linux tree - note that it says 'drivers', only new important drivers are listed today. Other small drivers are listed below; the already available drivers also add support for new devices and some are listed below but support for new devices is added so fast that it's impossible to keep track of all of them. * ZyDAS ZD1211 USB-WLAN driver: there are 60+ USB wifi adapters available on the market based on the ZyDAS ZD1211 chip, based on ZyDAS's own GPL driver, additionally, the firmware is redistributable and they have provided device specs. Kudos to ZyDAS. If you support "open hardware", you know what to do the next time you need a wifi adapter ;) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e85d0918b54fbd9b38003752f7d665416b06edd8 (commit)] * Add new ioatdma driver for the Intel(R) I/OAT DMA engine [http://lwn.net/Articles/162966/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0bbd5f4e97ff9c057b385a1886b4aed1fb0300f1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=624d1164730d58a494cc5aa4afa37d02c41e83a7 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=97fc2f0848c928c63c2ae619deee61a0b1107b69 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=de5506e155276d385712c2aa1c2d9a27cd4ed947 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c13c8260da3155f2cefb63b0d1b7dcdcb405c644 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9593782585e0cf70babe787a8463d492a68b1744 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=db21733488f84a596faaad0d05430b3f51804692 (commit)] * imacfb driver for Intel-based Macintosh machines [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90b4f9aca4d124d114e02bbb3d1d4f3d1d47138f (commit)] * hptiop SCSI driver for Highpoint RocketRAID 3220/3320 series 8 channel PCI-X SATA RAID Host Adapters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ede1e6f8b43246a9796583346839669b1f4b77d4 (commit)] * Myri-10G Ethernet driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0da34b6dfe55810ae60db57e08e2af8a808c0a55 (commit)] * Echoaudio sound drivers (darla20, darla24, echo3g, gina20, gina24, indigo, indigodj, indigoio, layla20, lala24, mia, mona) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd7b254d8dd3a9528f423ac3bf875e6f0c8da561 (commit)] * smc911x driver which supports the SMSC LAN911x line of ethernet chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a0c72c9118c4e63080eb409f0cfdf15808d23a4 (commit)] * New driver, to control the brightness of an Apple Cinema Display over USB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=069e8a65cd7970b15672825541be59218d9a8a0f (commit)] * ACPI dock driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5e1b94008f2a96abf4a0c0371a55a56b320c13e (commit)] === Generic IRQ layer === Yet More Generalization of the IRQ handling layer. Not all architectures were using the current IRQ layer (specially ARM) and the current one had some shortcomings. From this [http://lwn.net/Articles/184750/ LWN article]: ''These patches attempt to take lessons learned about optimal interrupt handling on all architectures, mix in the quirks found in the fifty (yes, fifty) ARM sub architectures, and create a new IRQ subsystem which is truly generic, and more powerful as well''. Design documentation: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11c869eaf1a9c97ef273f824a697fac017d68286 (commit)]; code: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6a6de9ef5850d063c3d3fb50784bfe3a6d0712c6 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=94d39e1f6e8132ea982a1d61acbe0423d3d14365 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6550c775cb5ee94c132d93d84de3bb23f0abf37b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4633adcdbc15ac51afcd0e1395de58cee27cf92 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dd87eb3a24c4527741122713e223d74b85d43c85 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e76de9f8eb67b7acc1cc6f28c4be8583adf0a90c (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3418d72404e35eb19e7995cbf3e7a76ba8fefbce (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ba9a2331bae5da8f65be3722b9e2d210f1987857 (commit)] === Generic core time subsystem === The time work is done in a architecture-dependent way. This work tries to provide a core time subsystems that can be used for all architectures, avoiding lots of code duplication. Detailed analysis in this [http://lwn.net/Articles/120850/ LWN article]; [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=734efb467b31e56c2f9430590a9aa867ecf3eea1 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad596171ed635c51a9eef829187af100cbf8dcf7 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=260a42309b31cbc54eb4b6b85649e412bcad053f (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5eb6d20533d14a432df714520939a6181e28f099 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf3c769b4b0dd1146da84d5cf045dcfe53bd0f13 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d016ef1380a2a9a5ca5742ede04334199868f82 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=539eb11e6e904f2cd4f62908cc5e44d724879721 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=539eb11e6e904f2cd4f62908cc5e44d724879721 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f84fa2f3edc8902cfed02cd510c7c58334bb9bd (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=61743fe445213b87fb55a389c8d073785323ca3e (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d0cf410e94b1f1ff852c3f210d22cc6c5a27ffa (commit)] === Randomize the i386 vDSO === Move the i386 VDSO down into a vma and thus randomize it. Besides the security implications (attackers cannot use the predictable high-mapped VDSO page as syscall trampoline anymore) this feature also helps debuggers, and it's good for hypervisors (Xen, VMWare) too. There's a new CONFIG_COMPAT_VDSO option, which provides support for older glibcs that still rely on a prelinked high-mapped VDSO. Newer distributions (using glibc 2.3.3 or later) can turn this backwards-compatibility option off (recommended, for security reasons, as the features makes harder certain types of attacks). There is a new vdso=[0|1] boot option as well, and a runtime /proc/sys/vm/vdso_enabled sysctl switch, that allows the VDSO to be turned on/off [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6e5494cb23d1933735ee47cc674ffe1c4afed6f (commit)] === Various core stuff === * Driver model, sysfs, etc: Add a "enable" sysfs attribute to the pci devices to allow userspace to enable and disable devices without having to do foul direct access [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f125d30487cea72542a84b4835c037163c7f3d5 (commit)], add a sysfs file to determine if a kexec kernel is loaded [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c330dda908b5a46469a997eea90b66f2f9f02b34 (commit)], add new uevent for dock so that user space can be notified of dock and undock events [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a6a888b3c20cf559c8a2e6e4d86c570dda2ef0f5 (commit)], add SYS_HYPERVISOR config option and a /sys/hypervisor subsystem when set by architecture dependent hypervisors (e.g. s390 or Xen) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4039483fd3065920f035eed39ec59085421c0a4f (commit)], add sysfs ISA bus, needed for proper support of ISA sound cards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5117ba7da37deb09df5eb802dace229b3fb1e9f (commit)], bus Parity Status sysfs interface, which adds the 'broken_parity_status' sysfs attribute file to a PCI device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bdee9d98d281d84718eaff6bf0dd2b6ad418b36f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd8481e1646d7649fa101ee57a5139b9da3c2436 (commit)] * Finally remove devfs from the kernel tree [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d8deac5094988c7ad1127ee61f52c59a952fcabb (commit)] * Allow the ability to have height 0 radix trees. On 64-bit machines this causes nearly 600 bytes to be used for every <= 4K file in pagecache (huge savings) and pagecache lookup, insertion, and removal speed for small files will also be improved [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=612d6c19db2fd0dc97b0fa370613ecd4a305ffc3 (commit)] * Implement AT_SYMLINK_FOLLOW flag for linkat [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45c9b11a1d07770cabb48cb0f7960a77650ffc64 (commit)] * 64bit resources [http://lwn.net/Articles/187490/ (LWN article)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6550e07f41ce8473ed684dac54fbfbd42183ffda (commit)] * Support for panic at OOM - panic_on_oom sysctl under sys.vm. If set to 1, the kernel will panic on OOM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fadd8fbd153c12963f8fe3c9ef7f8967f286f98b (commit)] * Add: page_mkwrite() new VMA operation to notify a filesystem or other driver about the MMU generating a fault because userspace attempted to write to a page mapped through a read-only PTE [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9637a5efd4fbe36164c5ce7f6a0ee68b2bf22b7f (commit)], implement kasprintf, a kernel version of asprintf [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e905914f96e11862b130dd229f73045dad9a34e8 (commit)], strstrip() API for removing leading and trailing whitespace from a string [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=481fad483487ea967fe20bbc9e565d787f7bf20f (commit)] * inotify: Introduces a kernel API for inotify, making it possible for kernel to benefit from inotify's mechanism for watching inodes without being forced to compile in the support for userspace [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d9048e201bfb67ba21f05e647b1286b8a4a5667 (commit)] * kconfig: allow loading multiple configurations [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=669bfad906522e74ee8d962801552a8c224c0d63 (commit)]. integrate split config into silentoldconfig [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e3646e51b2d6415549b310655df63e7e0d7a080 (commit)], add symbol option config syntax [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6a88aa86027bdecfc74ef7c6bf6c68233e86bb3 (commit)] * kbuild: 'make headers_install': A make target which exports a subset of kernel headers which contain definitions which are useful for system libraries and tools [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8d730cfb50cc77da6d00f941daef440918a1922f (commit)], 'make headers_check' [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=684753599afc76aa8f66c731bafb7204b39265b8 (commit)] * Temporarily add EXPORT_UNUSED_SYMBOL and EXPORT_UNUSED_SYMBOL_GPL. These will be used as a transition measure for symbols that aren't used in the kernel and are on the way out [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f71d20e961474dde77e6558396efb93d6ac80a4b (commit)] * tcrypt: Add speed tests (benchmarks) for digest algorithms [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e805792851bcb0bb42f0c8a352be64564c13e374 (commit)] * WATCHDOG: add WDIOC_GETTIMELEFT ioctl: you can now read the time left before the watchdog would reboot your system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=58b519f3e5e491d5a3e320dc525f58ac439bdde4 (commit)] * MD: merge raid5 and raid6 code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16a53ecc35f2a80dc285be2e769768847d89ca37 (commit)], allow re-add to work on array without bitmaps [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07d84d109d8beedd68df9da2e4e9f25c8217e7fb (commit)], allow rdev state to be set via sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45dc2de1e53a29f898b81326b8a16e6192d52e4e (commit)], allow raid 'layout' to be read and set via sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4dbd0250ea1d24bb3d2d13559432fa069d795e2 (commit)], set/get state of array via sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e653b6342c94016f5cc9937061ef99e9c4b4045 (commit)], allow the write_mostly flag to be set via sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f655675b3fe09c4d0506d357527fe07544623009 (commit)], allow resync_start to be set and queried via sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94213b1fa7b26dcc271bf4b4f9eebf1f1af33a2 (commit)], support stripe/offset mode in raid10 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c93983bf517c100a31e40ef087e19bd3d7aa2d28 (commit)] * Turn off chmod() on the /proc/<pid>/ files, since there is no good reason to allow it [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d76fa58b050044994fe25f8753b8023f2b36737 (commit)] * symlink nesting level change: It's way past time to bump it to 8. Everyone had been warned - for months now [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=737bebd137561e184f0a8b4332d9bb0238d8b639 (commit)] * ramdisk blocksize Kconfig entry [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bef317e364f065717819fbbe7965d4401820286c (commit)] * Fix and enable EDAC sysfs operation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49c0dab7e6000888b616bedcbbc8cd4710331610 (commit)] * FDPIC: Add coredump capability for the ELF-FDPIC binfmt [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d8c4e3b0150ff537902477ed62f8a8e9e70007b (commit)] * blktrace: readahead support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40359ccb836866435b03a0cb57345002b587d875 (commit)] == Other stuff == === Architecture-specific changes === ==== x86 32/64 ==== Make powernow-k7 work on SMP kernels [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=436fe7b8b4a5016ef1fcb32bff77bde84003e15d (commit)], a cache pollution aware update to copy_from_user_ll() [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c22ce143d15eb288543fe9873e1c5ac1c01b69a1 (commit)], a x86-64 version of the [http://lwn.net/Articles/164121/ "alternatives"] feature in x86-32 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d167a51877e94dda73dd656c51f363502309f713 (commit)], nmi watchdog support for new Intel CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0080e667550db5ae8c9318181500c413b99ff164 (commit)], reliable stack trace support for x86-64 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4552d5dc08b79868829b4be8951b29b07284753f (commit)], x86_64 stack overflow debugging [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4961f10e2205d0ededa291e12ec634efc58aa93c (commit)] ==== PPC ==== Add cpufreq support to Xserve G5 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e272a2853459b1e7282a7d0b54114ffaa7b3980f (commit)], use the device tree for the iSeries vio bus probe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95a1ca6cd8e702a19ee56efae522a5816a56a205 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e10fa77368dff31140451fac04d78d9f51f0f3ac (commit)], add support for PCI-Express nodes in the device tree [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb53bb3dcb12d79efdee3d82bff46a204af377f3 (commit)], oprofile support for POWER6 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e78dbc800c37f035d476c4fdebdf43cdecfcb731 (commit)], add cell RAS support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=acf7d76827a577059636e949079021e6af6dd702 (commit)], support for Time-Of-Day-Clock [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c220153654ede57b41900159eb8d1f6029d85642 (commit)], base support for the Freescale MPC8349E-mITX eval board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00280166993af8469dbfee24b779b61d3dd326c3 (commit)], 85xx CDS board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=591f0a4287d0de243493fd0c133c862e1d1f1c97 (commit)], 86xx HPCN platform support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ca4b6274c30d53d22014fb6974efe2b3e52cfdc (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b809b3e86f39651475b30ceb1caf535071534d4d (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9b484b5c1201321f40b04870e8b417033b6fe76 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9674ed38d8e4a9ce15c61b4306ef803cad0e1dc0 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96abe9358becb543c21121699c711897374bcbdf (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b543404058a5ffdca8c48e95e0b8a69bb4bdba9 (commit)], Freescale mpc7448 (Taiga) board support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5d56332fd6c2f0c7cf9d1f65416076f2711ea28 (commit)] ==== ARM ==== Initial uCLinux support for MMU-based CPUs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d090dddaba7c8da6401bb259340dce05ca32f564 (commit)], add the base support for Hilscher's netX network processors [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb6d8c8828123e01e2ae6c9d9c4870477889fd94 (commit)], add AMBA CLCD support in lpd7a40x [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=903e2bbda92e5a14f8050154046a14230abb800b (commit)], add support for Philips PNX4008 ARM platform [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78818e477bf785391b02672d053fdbb2e111fb50 (commit)], add spi support to lubbock platform [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9df5db80a781c1a1c67388c82f64f835093c3cc3 (commit)], add support for NXDKN development board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=693532dcff871543639743e9c2e2b99c492f8f8d (commit)], core support for the Samsung s3c2442, and its serial port [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96ce2385dd2817da549910001a69ac0a2762a1b9 (commit)], framebuffer driver for Hilscher netX [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3095faf5295f2da9118469c925d2cfb7775ad287 (commit)], add support for NXDB500 development board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=af614ba072dab2940471fec1f30bd59b8272fc6b (commit)], add support for NXEB500HMI development board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2697c5e1f799f201366d5fd7d25e96a21587f1a9 (commit)], add support for Trizeps4 SoM and ConXS-evalboard [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=326764a85b7676388db3ebad6488f312631d7661 (commit)], add cirrus logic edb9315 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87c01737b1ccf821b93f74a26a0dc991dba16d19 (commit)], add ajeco 1arm sbc support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b184a4c9a4e542890265b4cdd3ff7908f4adc9c4 (commit)] ==== MIPS ==== Add: support for the S3c2412 core cpu [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=68d9ab394f06f95fd4ca612c08edf13e410fd8d0 (commit)], APM emu support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=952fa954a61cee43de5afba91ae605e30ed2586c (commit)], the R5500-based NEC EMMA2RH Mark-eins board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=355c471f2ff324c21f8a1fb8e2e242a0f2a4aa68 (commit)]. the GT-64120-based Wind River 4KC PPMC evaluation board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a240a469649eaab03f0c4c7fbb21ea5041bf5572 (commit)], the RM9000-based Basler eXcite smart camera platform [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35189fad3cb5f6e3ab66c8321928a851de0cd2b1 (commit)], cirrus logic edb9315 support to ep93xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87c01737b1ccf821b93f74a26a0dc991dba16d19 (commit)] and for edb9302 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1100c257ad11954416df5fcf4bcfcab43de54f57 (commit)], MIPS32/MIPS64 secondary cache management [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9318c51acd9689505850152cc98277a6d6f2d752 (commit)], remove support for NEC DDB5476 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=470b160364db5b8096b8e557a23c97eb6612be67 (commit)] and DDB5074 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eaff3888742155bd397e45a1c3323c0173042e5b (commit)], add core support for the TI F-Sample Board (OMAP 850) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=495f71db30e279a5a696fa6622fc75451caa8366 (commit)], readd Amstrad Delta USB support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0711615290510bfba11c3f4eabcde6ac92c0766e (commit)], add GPMC support for OMAP2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bbbc1adc2095c6504a556819dd8842135df300b (commit)], add bitbank SPI driver for Innovator 1510 touchscreen [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c15e5d10b160ca0fe71f5865c771bf4ad0e7ed85 (commit)] and add oprofile Support VSMP on 34K [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=92c7b62fd1a6898fbfaf1db790ba4e70e90f39d2 (commit)] ==== SPARC64 ==== Use the OBP to obtain information avout the system [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=690c8fd31f1e35985d0f35772fde514da59ec9d1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=372b07bb5a13f8a1b8a3ce49cd76d39a79dbd3bd (commit)] ==== IA64 ==== MSI support for Altix [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=83821d3f558dc651e555d62182ed0c95651f41a6 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd58e55fcf5568e51da2ed54d7acd049c3fdb184 (commit)] ==== S390 ==== S390 Hypervisor Filesystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=24bbb1faf3f0420eb252dd0fdc1e477b1d4d73bd (commit)], add support for parallel-access-volumes to the dasd driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=405455734e1cdec09c37233216f9240cb1a058e5 (commit)] ==== m68k ==== Coldfire 532x support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c99df64f0be6763bf5079560ccd96911c231b7b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76aa698f331475147825ae135eae98bfd457825b (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6b2652936b9e61df47664a8dde46872a74d7dba2 (commit)] === Filesystems === * Ext3: Add "-o bh" option to force use of buffer_heads [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade1a29e168ba08b699a418ff5e762315fa33f70 (commit)] * FUSE: Add POSIX file locking support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7142125937e1482ad3ae4366594c6586153dfc86 (commit)], synchronous request interruption [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4d27e75ffb7b8ecb7eed0c7db0df975525f3fd7 (commit)] and a control filesystem to fuse, replacing the attributes currently exported through sysfs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bafa96541b250a7051e3fbc5de6e8369daf8ffec (commit)] * JFFS2: XATTR support including POSIX-ACL and SELinux support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aa98d7cf59b5b0764d3502662053489585faf2fe (commit)], and allow alternate JFFS2 mount variant for root filesystem, details in the commit link [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9482b4374e2596e6f3f1ab30c4ea469f4ac6311 (commit)] * CIFS: NTLMv2 authentication support (stronger authentication than default NTLM) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f64b23ae4aef9f69d71ea41529a188acd5ab4930 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d027cfdb19c26df3151a519ed55acfe2c4cb7c3 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee03441f66e0674e641c0cbe1a9534cdee968f (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1717ffc58850dfa9e08b4977f8d0323cb3336863 (commit)], support for setting up SMB sessions to legacy lanman servers such as OS/2 and Windows 95 (but such mounts may be insecure) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3979877e5606ecc58c5a31bd0078c6d80ba9cbe7 (commit)], support for older servers which require plaintext passwords (disabled by default) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bdc4bf6e8ac8cc29c61c2f0dc61d9776ef9a8ed4 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=254e55ed03e2e8d23089b4a468eec2fd2e1ead9b (commit)], enable sec flags on mount [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=189acaaef81b1d71aedd0d28810de24160c2e781 (commit)] === SELinux === Add security class for appletalk sockets so that they can be distinguished in SELinux policy [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e3ff15e6d8ba931fa9a6c7f9fe711edc77e96e5 (commit)], execve argument logging [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=473ae30bc7b1dda5c5791c773f95e9424ddfead9 (commit)], ppid logging [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f46038ff7d23ae092d61b366332c05aab8227b48 (commit)], filtering by ppid [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c66251e573219a0532a5a07381b2f60a412d9eb (commit)], path-based rules using internally the inotify API [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f368c07d7214a7c41dfceb76c8db473b850f0229 (commit)], SELinux hooks to support the access key retention subsystem within the kernel [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d720024e94de4e8b7f10ee83c532926f3ad5d708 (commit)], support for a rule key, which can be used to tie audit records to audit rules. This is useful when a watched file is accessed through a link or symlink, as well as for general audit log analysis [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5adc8a6adc91c4c85a64c75a70a619fffc924817 (commit)], support for object context filters based on the elements of the SELinux context [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6e5a2d1d32596850a0ebf7fb3e54c0d69901dabd (commit)], audit syscall classes: Allow to tie upper bits of syscall bitmap in audit rules to kernel-defined sets of syscalls [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b915543b46a2aa599fdd2169e51bcfd88812a12b (commit)], add security hooks to {get,set}affinity to enable security modules to control these operations between tasks with task_setscheduler and task_getscheduler LSM hooks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e7834f8fccd791225a1cf91c2c3e740ad8e2e145 (commit)], add a security hook call to enable security modules to control the ability to attach a task to a cpuset [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22fb52dd736a62e24c44c50739007496265dc38c (commit)], implement an LSM hook for setting a task's IO priority [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=03e68060636e05989ea94bcb671ab633948f328c (commit)], add security_task_movememory calls to mm code to enable security modules to mediate this operation between tasks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86c3a7645c05a7d06b72653aa4b2bea4e7229d1b (commit)], add task_movememory hook to be called when memory owened by a task is to be moved [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35601547baf92d984b6e59cf3583649da04baea5 (commit)], add sockcreate node to procattr API - /proc/self/attr/sockcreate. A process may write a context into this interface and all subsequent sockets created will be labeled with that context [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=42c3e03ef6b298813557cdb997bd6db619cd65a2 (commit)], add rootcontext= option to label root inode when mounting [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0808925ea5684a0ce25483b30e94d4f398804978 (commit)] === Networking === * Since [http://wiki.kernelnewbies.org/Linux_2_6_13 2.6.13], the linux networking stack has a [http://lwn.net/Articles/128681/ pluggable interface for TCP congestion algorithms], so it's possible to choose between different congestion algorithms (configurable through /proc/sys/net/ipv4/tcp_congestion_control) or even choose between different congestion algorithms in a per-socket basis [[http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f8ef48d240963093451bcf83df89f1a1364f51d through setsockopt()]. To the 8 already available algorithms (Reno, BIC, Cubic, Westwood, H-TCP, High Speed TCP, Hybla, Scalable TCP) this release is adding two new congestion control algorithms: TCP Veno, which aims to improve TCP performance over wireless networks [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76f1017757aa0c308a0b83ca611c9a89ee9a79a4 (commit)] and TCP "Low Priority" [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c106d7e782bd4805f39da30e81018f861b4b8c5 (commit)], * Add Generic Segmentation Offload (GSO), a feature that can improve the performance in some cases, for now it needs to be enabled through ethtool [http://marc.theaimsgroup.com/?l=linux-netdev&m=115079480721337&w=2 (announcement)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6a78bfcb141f963187464bac838d46a81c3882a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f83ef8c0b58dac17211a4c0b6df0e2b1bd6637b1 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f4c50d990dcf11a296679dc05de3873783236711 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adcfc7d0b4d7bc3c7edac6fdde9f3ae510bd6054 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=576a30eb6453439b3c37ba24455ac7090c247b5a (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0da8537037f337103348f239ad901477e907aa8 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37c3185a02d4b85fbe134bf5204535405dd2c957 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09b8f7a93efd4b2c4ef391e2fbf076f28c6d36d6 (commit)] * Add SIP protocol support to Netfilter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae5b7d8ba2c28d7d9835856fe0ca5f6ec95ea768 (commit)], a statistic match which is a combination of the nth and random matches [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3389805e53a13bd969ee1c8fc5a4137b7c6c167 (commit)], a quota match [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62b7743483b402f8fb73545d5d487ca714e82766 (commit)], and support for Call Forwarding to the H.323 netfilter module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0d4cfd96dd0cc0dbf49435898808b5553af4822 (commit)] * TCP Probe congestion window tracing for capturing the changes to TCP connection state in response to incoming packets [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a42e9d6ce89cfd19aee9f990b7231ce697f0d00f (commit)], limited slow start for Highspeed TCP (RFC3742 limited slow start) congestion control module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=738980ffa658c86bd494ebb242ce8e44aff16a9e (commit)], remove net.ipv4.ip_autoconfig sysctl [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bdeb04c6d9a957ae2a51c3033414467b82b2a736 (commit)], add basic netlink support to the Ethernet bridge for link management including dump interfaces in bridges, monitor link status changes and change state of bridge port [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11dc1f36a6701b502ecb695f308aae46ede8bac6 (commit)], add multicast support for datagrams in LLC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bc0e646796928918e45b6465e02616f2fe65c3c1 (commit)], add a sysctl (ip_conntrack_checksum) to disable checksumming [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=39a27a35c5c1b5be499a0576a35c45a011788bf8 (commit)], add a tcp_slow_start_after_idle sysctl that provides RFC2861 behavior if enabled [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35089bb203f44e33b6bbb6c4de0b0708f9a48921 (commit)], basic sysfs support for ATM devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=656d98b09d57d4e1185c5d2436a42600d48fbcb5 (commit)], add datagram getpeersec for AF_UNIX, which allows to enable a security-aware application to retrieve the security context of the peer of a Unix datagram socket [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=877ce7c1b3afd69a9b1caeb1b9964c992641f52a (commit)], add 64-to-32 ioctl compatibility for X.25 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1b06e6ba25a37fe1c289049d0e0300d71ae39eff (commit)] * Wireless softmac: add SIOCSIWMLME wext [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a1771e86756212041b32d80b850cc4c8063360a (commit)] and complete the shared key authentication implementation [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76ea4c7f4cd319dee35934ecab57745feae58fa5 (commit)] === Drivers and other subsystems === ==== Video ==== Add i945G support to the intelfb driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9639d5ec07a490134f05ac890506a367aaf8663b (commit)] and i945GM aswell [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a90603f65dd5046ddcd586158abcad7784892b6 (commit)], add suspend/Resume support for nVidia nForce AGP [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c5f2f261e7a47e4c72723cdcbe99e1bd771a81ea (commit)], update radeon driver and add r200 vertex program support (R200_EMIT_VAP_PVS_CNTL) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d6fece051a4ef330922bfafb9d64e3e133e3a8a6 (commit)], add support for Geforce 6100 and related chipsets to nvidiafb [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe610671d7a88e363e8cebcb7e2f32078b0151ce (commit)], add support for Display Update Module and RGB framebuffer device on Philips PNX4008 ARM board [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=36c9366efd63e4bab82d46e166140bddf3acc4cf (commit)], add frame buffer driver for the 2700G LCD controller present on Compulab CM-X270 computer module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22caf04297896e515c6d5cdfb8e08a79a523946c (commit)] ==== Sound ==== hda-codec: Add support for: Apple Mac Mini (early 2006) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=62fe78e90dc25b269362034487dc450cd8453e8c (commit)], Sony Vaio VGN-A790 laptop with ALC260 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e1b1518a53fc62d9f39a13819c849336c6d8dd4 (commit)], Sony Vaio VGN-S3HP with ALC260 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3206b9ca9fba8dc8d6ddd371a3ff455c67ad137f (commit)], Thinkpad X60/T60/Z60 laptops with AD1981HD codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01686c5fce4682350849f9f2c262fcaf67ec73c3 (commit)], LG S1 laptop [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=886da8677d2e4e942fc8984b22bfb8da45e810ec (commit)], ATI RS600 HDMI audio device [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=778b6e1b2da260adf3d3254aaa35bffd1eb05b42 (commit)], 9227/9228/9229 sigmatel hda codecs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a59524faf3a2050e14a1c9038eb006ce96025394 (commit)], HP nx6320 with AD1981HD codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8e9f340da753c021c071f318f97ac9046c1316a (commit)], ALC888, ALC660 (ALC861-compatible) codecs and HP xw4400/6400/8400/9400 (model=hp-bpc) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c7f852e8b2cc37da5dc5e1ba416238166a37d0f (commit)], Intel D965 boards with STAC9227 codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19039bd0079f282b1023e61212285b5653e3a8ad (commit)] Add support for SB Live! 24-Bit External remote control [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4d1a70dad0e1c44dc0725de6de25aceead48599e (commit)], for Audigy4 (not Pro) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=21fdddea8e4cc54341d389916d0c17db8c1ca452 (commit)], for Turtle Beach Roadie [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e217e30c359edafce3225d2c4fbbda06ae5a408b (commit)], for oss sound support in au1200 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb12b76e2d795431fa9fd306eb274c69e5054dc7 (commit)], for iMac G5 iSight [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6feefd03ed12d89af591345fb9c26de7098764d (commit)], for power management in the cs5535audio [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ac25594e68a4b61516e7c1140d8c0f7ef449e20 (commit)] and azt3328 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca54bde3634360afecd0dada9c59399bbe88bd32 (commit)] drivers, Add O_APPEND flag support to PCM to enable shared substreams among multiple processes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0df63e44c3e315ec0fe427ae62558231864108bd (commit)] ==== SCSI ==== Create libiscsi [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7996a778ff8c717cb1a7a294475c59cc8f1e9fb8 (commit)], expose the bus setting to sysfs in aic7xxx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2d8bfe18578c4e50e8ba52011c9b260a1b51dac (commit)], add DMI (Diagnostics Monitoring Interface) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88729e53a4798df20e7a7ef68e0a816f4a268da4 (commit)] and NVRAM 'Disable Serdes' bit support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d4c760c2119fca982f335d83ff9095479c5d6737 (commit)] in qla2xxx driver, wide port support in mptsas [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=547f9a218436ea35baf9a52e981753e44d9cff1f (commit)], and add 1078 ROC (Raid On Chip) Support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87cf89866790a373edcf88c12b64d6d38560acdd (commit)] ==== Input ==== Add mapping for Wistron MS 2111 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9000195bb7ea959939b1e5fdad336e5bac59c9e9 (commit)], add support for Intellimouse 4.0 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0c9ad8e0ff154f8c4730b8c4383f49b846c97c4 (commit)], and add input device support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9e8e30a0cc0ccb43773d14d8b8b84bcc585e9cc1 (commit)] ==== USB ==== Add: Macbook Pro touchpad support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9effa978f1d51f6d0426ebabcf6cb32336bb3153 (commit)], new driver for Cypress CY7C63xxx mirco controllers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4255e6f6d98ad092c27fa2b83ac314cbe8a0c56f (commit)], add support for Kyocera Wireless KPC650/Passport EV-DO/1xRTT PC Cards [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34ab86e140e9810d6c5162971b6dcf01fcc0f11c (commit)] and for Sierra Wireless MC5720 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b10cee9d035db54d0bf5a9f9fa622dcfc3f740c6 (commit)], add support for ASIX 88178 chipset USB Gigabit Ethernet adaptor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7327413c745c2f8e8d4b92f76759821263b095c1 (commit)], add support for Yost Engineering Servocenter3.1 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb79b4fda4654eaa7e6421ad41b0a75c7b4f0608 (commit)], add support for VIA VT8251 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf2af2a2027e52b653882fbca840620e896ae081 (commit)], add support for WiseGroup., Ltd Smartjoy Dual PLUS Adapter [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b857c651e7e369c12098007772549f817b3bf961 (commit)], add ZyXEL vendor/product ID to rtl8150 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6c2799dec0c9f6f6de35c2161b246c910108204 (commit)], add driver for non-composite Sierra Wireless devices [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69de51fdda3fd984541978313b66e4f2c44cc23e (commit)], add ohci bits for the cirrus ep93xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5b7474a0364507d168c7ff473e2d82deb676b08 (commit)], add support for Susteen Datapilot Universal-2 cable in pl2303 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b92847425a98d26ad9d2b8682d3ce6020c90752 (commit)], ==== Network drivers ==== Add new SMSC LAN83C185 10BaseT/100BaseTX PHY driver for the PHY subsystem [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9e055ac4fdbb52622437e0dbfdbc1d4897d2775 (commit)], add VLAN (802.1q) support to the sis900 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d269a69fbbbb7ddd2081af7a768feac754b8357a (commit)], enable (via the IPW2200_PROMISCUOUS config option) the creation of a second interface prefixed 'rtap' for RF promiscuous mode in the ipw2200 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d685b8c226727bf5db907c7241f55461e7f1f008 (commit)], add TRENDnet TE-CF100 ethernet adapter support in pcnet_cs driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf393ebed0abb1186c34b21f3d1d939ac2b5568a (commit)], add support for the Cicada 8201 PHY [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c639b31068e8e111ec330a3634d95e20c11aab6 (commit)]; expose several configuration knobs configurable through ethtool in the forcedeth driver - ring sizes [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eafa59f6bcc6e46b756198a5388d195c4f0e671a (commit)] WOL [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c42d9df932ce3732044dc1394114380140ccffe0 (commit)] rx and tx checksum offloads [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ed2616f621b41d3477d4f4ae2ba0e0a0e80bdce (commit)] flow control [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6d0773fa7943fd93d564056395a7ff29b81213b (commit)] diagnostic tests [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9589c77a0de19c0c95370d5212eb1f9006d8abcb (commit)] and hardware statistic counters [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52da35789c305f6f44d0e85b294a9845c1271898 (commit)] and add new device ids [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c99ce7ee75db7836e2faba932affd2aadd1e942f (commit)]-; convert au1000_eth driver to use PHY framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0638dec01e89059c853515ab71c55fd13ba5a8ea (commit)], enable shared key authentication [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4359219425a0918a72775480e125fbb077de338d (commit)] in the bcm43xx driver and add ipv6 TSO feature [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0026624f1aa3e38a887cb483de61f104d600b97 (commit)] in the TG3 driver, allow WoL settings on new 5708 chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=160882722cb21cbe5cead55cf38a5e70fc3af63e (commit)] and add firmware decompression [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fba9fe911bb4213c3de1d142fe0ee127cd361a78 (commit)] in the BNX2 driver, add ethtool eeprom support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=722fdb33591bc7308a661913fb2f829128236b6f (commit)] in 8139cp driver, add WOL support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52cafd965507b7a7bb962486539f6d7422552692 (commit)] in the b44 driver, add netpoll support to the s2io driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=612eff0e3715a6faff5ba1b74873b99e036c59fe (commit)], and add support for the Cicada 8201 PHY [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0c639b31068e8e111ec330a3634d95e20c11aab6 (commit)]; add ich8lan core functions [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d37ea5d56293b7a883d2a993df5d8b9fb660ed3b (commit)], smart power down code [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a53a2029885e0088e9149679215b95d04deb57b (commit)] and integrate ich8 support into driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd94dd0b648ceb64ca5e41d9ccfa99c1e30e92ef (commit)] in e1000 driver ==== V4L/DVB ==== Cx88 driver: added support for KWorld MCE 200 Deluxe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3038304c91aa710fe651c7f42568e252fc54908 (commit)], IR remote support for DTV2000H [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2de873e630b9385c6cd5896753335c5bf4829f0c (commit)], basic support for Leadtek Winfast DTV2000H card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bd6e9d968af68c73bee92bd93cd56937e2e80d8 (commit)], support for the new cx88 card #50: NPG Tech RealTV, including it's remote [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=680543c5d2756ad3496f8ef197ba8825b78d6840 (commit)], support for FusionHDTV 3 Gold (original revision) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=65271bff0fb11557d04d389df728d12dfba75dc3 (commit)], support for Geniatech Digistar / Digiwave 103g [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c02a34f4e3e65a7b1fb64507ec5c093e8328335e (commit)] Add support for pcHDTV HD5500 ATSC/QAM [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da215d22d82d547c5312f61ac9881ad571e67eea (commit)], add support for DViCO FusionHDTV DVB-T Lite 2nd revision in the Dvb-bt8xx driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c99024b88b5da3a73f0575dad98527c9a278d1b (commit)], enable Blackbird MPEG encoder support in KWorld HardwareMpegTV XPert: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3febc04d42d4a0bda64af0c929fdb871370e2a7a (commit)], add support for the TCL M2523_3DB_E tuner [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00819f87d883bb4aff97aecc7cc722ba27bd183a (commit)], implement v4l2 driver for the Hauppauge PVR USB2 TV tuner [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d855497edbfbf9e19a17f4a1154bca69cb4bd9ba (commit)], add v4l2 compatibility to the pwc driver, include the decompressor, export to userland compressed stream, more cameras supported etc [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2b455db6d456ef2d44808a8377fd3bc832e08317 (commit)], add support for the Texas Instruments TLV320AIC23B audio codec [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88ca8ed0b7f2f04a055ff3c389f398ba3ad3d27d (commit)], Genpix 8PSK->USB driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9bbe076f364aa7ba8c2e49e417a76d628ffb164c (commit)], add support for Samsung TCPG 6121P30A PAL tuner [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c344933af5a8610d71bd0d92fe43a1519ed72ed8 (commit)], add support for Avermedia 6 Eyes AVS6EYES [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fbe60daac4c34e39d1ca69684bcb76e62461ac21 (commit)], add support for the cx25836/7 video decoder [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2b8cf4ced47465b24d6fe911714827475fb0412 (commit)], add support for VP-3250 ATSC card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ed3d1065a4aa7b1e8e5d35ece0eeeafa5bfa6bd1 (commit)], add support for DViCO FusionHDTV DVB-T Dual USB based on zl10353 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c9ce394017162a90d79a4abc99eed3c7b2aed606 (commit)], add CX2341X MPEG encoder module [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5d1a9ae6d9d7fc14b2259cd550eb87364a21190a (commit)], add support for the DNTV Live! mini DVB-T card [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=442d15d5d8ba6a39d0c883585d68503e949a2fe1 (commit)] ==== RNG ==== Remove old HW RNG support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59f5d35f83738bf07e66f8cdcff32a433df804a3 (commit)], and add a new generic HW RNG core [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=844dd05fec172d98b0dacecd9b9e9f6595204c13 (commit)], Geode HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef5d862734b84239e0140319a95fb0bbff5ef394 (commit)], AMD HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=96d63c0297ccfd6d9059c614b3f5555d9441a2b3 (commit)], VIA HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=13523363577d49b9af3cad06fcb757126bedc61b (commit)], Intel HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca644bd5039566725b7c71a559e65ea91b7abfb5 (commit)], bcm43xx HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71c0cd7042672fce2463d82183d20bfb574f4cb5 (commit)], ixp4xx HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7174bcb919c15b295271e37c3f65c716710715c (commit)], TI OMAP CPU family HW RNG driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ebc915ad26d881ddcafbe4e0975203d23289f36f (commit)] ==== RTC ==== Add: driver for ARM AMBA PL031 RTC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae6e163c1b637e1cb125613726ffbd31ca44fdf (commit)], AT91RM9200 RTC driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=788b1fc619a31ebdbadd3a8863631f59a4bd2944 (commit)], rtc-dev UIE emulation for UIE-less rtc drivers [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=655066c3835e7b51794c4d56f042eb78b5a79f53 (commit)], v3020 RTC support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=362600fe60fd18a25b4de8ec544b9e24e77e1484 (commit)], rtc-ds1742 driver for the Dallas DS1742 RTC chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ec3e4b7aefbb8613b27ec4449fa8f9916ab9099 (commit)], rtc-ds1553 driver for the Dallas DS1553 RTC chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9bf5b4f5f53707aee5813f373279d03920ba6f65 (commit)], rtc-rs5c348 driver for the Ricoh RS5C348 RTC chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e0ac4761fa52acda90f9f53819c81474b511e3af (commit)], class driver for Samsung S3C series SoC [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1add6781c85d7e2ee512315113a16193b3e3937d (commit)], "RTC-framework" driver for DS1307 and similar RTC chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1abb0dc92d706e8c73c7a62ca813738fe2259a7f (commit)], max6902 RTC support for the MAX6902 SPI RTC chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e12ecc2b5a4521a338d7681e7d5547080fc6f71 (commit)], port of the driver for the pcf8583 i2c rtc controller to the generic RTC framework [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c0c570576d02000063e28faadcce8c07396755d (commit)], support for the I2C-attached Intersil ISL1208 RTC chip [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7e56a7dcbb974d9725d80e50d70c6eed7f71110b (commit)] ==== Various drivers ==== * Initial support for MCS7780 based dongles in IRDA [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c6ae522e3a50fc1ec483d7f03ece9c7a25e6de95 (commit)] * Kernel connection management agent over Infiniband that connects based on IP addresses [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e51060f08a61965c4dd91516d82fe90617152590 (commit)] and add an address translation service that maps IP addresses to Infiniband GID addresses using IPoIB [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7025fcd36bd62af2c6ca0ea3490c00b216c4d168 (commit)] * ieee1394: Add support for the following types of hardware: nodes that have a link speed < PHY speed, 1394b PHYs that are less than S800 capable, and 1394b/1394a adapter cable between two 1394b PHYs [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=647dcb5fae0ebb5da1272ed2773df0d3f152c303 (commit)] * hwmon: add sysfs interface for individual alarm files [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=400b48ecd95a7fac6b126042d37b7efe0202b582 (commit)], new hwmon driver which supports voltage and temperature measurement features of SMSC LPC47M192 and LPC47M997 chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59ac83677f72ea2cc25b5426e7df9589aa7a5384 (commit)], add support for Intel Core and Conroe [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6af586dc58820d052aa538abef4d4d15c2a9e33e (commit)], add new hardware monitoring driver abituguru for the Abit uGuru [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2b84bbcebfdbe4855bab532909eef6621999f9f (commit)], add LM82 temperature sensor support (similar to the LM83, but less featureful) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cb7ebee2f478d3f987ad773d4e6b07fc23c631 (commit)], new hardware monitoring driver for the National Semiconductor LM70 temperature sensor [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1a8e913f97e36cc5a23a24a8b4717e84998f13c (commit)], new hardware monitoring driver for the Winbond W83791D [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9873964d6eb24bd0205394f9b791de9eddbcb855 (commit)] * w1: add userspace communication protocol over connector [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=12003375acd879e498c6c511faf27531296f9640 (commit)]; replace dscore and ds_w1_bridge with ds2490 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=81f6075ebcf3b0800321b7d81e4845d6ad9566d8 (commit)] * Bluetooth: add automatic sniff mode support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04837f6447c7f3ef114cda1ad761822dedbff8cf (commit)], add suspend/resume support to the HCI USB driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dcdcf63ef12dc3fbaa17a6d04f16ada8e63bb4d0 (commit)] * I2C: Add support for the ST m41t81 and m41t85 i2c rtc chips [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e9f4f2e5a02bb6908278a819952aa31fffefaa2 (commit)], add ATI IXP200/300/400 support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02e0c5d5c2e00374b6808a42f8eea4ea9baaa216 (commit)], add support for the new nForce4 MCP51 (also known as nForce 410 or 430) and nForce4 MCP55 to the i2c-nforce2 driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c7ae65899a4c5b05b6277f856018d1eeeb98907 (commit)], and new bus driver for the Opencores I2C controller [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=18f98b1e3147afdb51e545cc6ff2b016c7d088a7 (commit)] * pcmcia: TI PCIxx12 Cardbus controller support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59e35ba1257903eaff5203f62f77554da02f5b63 (commit)] * synclink_gt: add GT2 adapter support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6f84be84b4cde72fa2a2f0d10ac284a31e923200 (commit)] * AX88796 parallel port driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ad4063b0b2ffd7c8359b62c830e88152fc39ab20 (commit)] * Add Specialix IO8+ card support hotplug support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7691030bc9732f7d535522dda78cfdd36716def1 (commit)] * Add Computone Intelliport Plus serial hotplug support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eb0e71c7f388bfcb3f74897f23d0cf09310fc05b (commit)] * LED: Support for Amstrad Delta [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9becde79d2c5e382d955167c07017b5e34b142f0 (commit)], add a LED heartbeat trigger [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=891c668b90ded38cec36f0852c4983573597170d (commit)], class support for Soekris net48xx [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1a87d9425e0347c0e880254816d8e9f41a0e2b0c (commit)] | <<Include(Linux_5.8)>> | 
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.8 has been released on Sun, 2 Aug 2020.
Summary: This release adds: memory management changes to improve the behaviour of systems under thrashing situations; a event notification mechanism built on top of standard pipes that splices messages from the kernel into pipes opened by userspace; support for having different procfs mounts with different mount options each one; a Kernel Concurrency Sanitizer that helps to find data race bugs; make it possible to use pidfds with setns(2) for easier attachment to the namespaces of a process; support for Shadow Call Stack and Branch Target Identification in ARM64 to prevent security exploits; support for Inline Encryption hardware; new CAP_BPF and CAP_PERFMON capabilities for BPF and performance monitoring programs; and IPv6 MPLS support. As always, there are many other new drivers and improvements.
Contents
- 
Prominent features- Better behavior in memory thrashing situations
- Kernel Concurrency Sanitizer
- Kernel event notification mechanism
- Private procfs instances
- Using pidfds to attach to namespaces
- Shadow Call Stack and Branch Target Identification for improved security on ARM64
- Support for Inline Encryption hardware
- Introduce CAP_BPF and CAP_PERFMON security capabilities
- IPv6 MPLS support
- bridge: Add support for Media Redundancy Protocol (MRP)
 
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- 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)
- 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
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- 1-Wire (W1)
- Firmware
- Various
 
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Better behavior in memory thrashing situations
The reclaim code that balances between swapping and cache memory reclaim tries to predict likely reuse of a memory page. When it fails it cannot detect when the cache is thrashing pathologically, or when the system is in the middle of a swap storm. This code has been tuned over time to a point where even in the presence of large amounts of cold anonymous memory and a capable swap device, the VM refuses to even seriously scan these pages, and can leave the page cache thrashing needlessly. The proliferation of fast random IO devices such as SSDs has made this undesirable behavior more noticeable.
This release sets out to address this. Since Linux 3.15, the kernel has exact tracking of refault IO - the ultimate cost of reclaiming the wrong pages. This allows to use an IO cost based balancing model that is more aggressive about scanning anonymous memory when the cache is thrashing, while being able to avoid unnecessary swap storms. This release base the LRU balance on the rate of refaults on each list, times the relative IO cost between swap device and filesystem (swappiness), in order to optimize reclaim for least IO cost incurred. The swapiness sysctl can also now be raised up to 200 to force the kernel to use swapping, which can be useful with in-memory swap, like zram or zswap.
1.2. Kernel Concurrency Sanitizer
The Kernel Concurrency Sanitizer (KCSAN) is a data race detector for the kernel. Key priorities in KCSAN's design are lack of false positives, scalability, and simplicity. KCSAN uses compile-time instrumentation to instrument memory accesses and it is supported in both GCC and Clang.
Documentation: The Kernel Concurrency Sanitizer (KCSAN)
Recommended LWN article: Concurrency bugs should fear the big bad data-race detector (part 1)
1.3. Kernel event notification mechanism
This release adds an event notification mechanism built on top of standard pipes, it splices notification messages from the kernel into pipes opened by userspace. The pipe is opened in a special mode, and its internal buffer is used to hold messages generated by the kernel, which are then read out by read(2). The owner of the pipe tells the kernel which sources it would like to watch through that pipe, and filters may also be emplaced on a pipe so that certain source types and subevents can be ignored if they’re not of interest. In this release, the only event source is for keys/keyrings, such as linking and unlinking keys and changing their attributes, which will be used by Gnome.
Documentation: General notification mechanism
Recommended LWN article: A kernel event notification mechanism
1.4. Private procfs instances
Procfs was historically tied to PID namespaces, this has the effect that all new procfs mounts are just a mirror of the internal one; any change, any mount option update, any new future introduction will propagate to all other procfs mounts in the same PID namespace.
This release allows to have several procfs mounts with different mounts options within the same PID namespace. The main aim of this work is to have on embedded systems one supervisor for apps. It also adds some convenient mount options that let a private procfs mount to show only ptraceable processes in the procfs, which allows to support lightweight sandboxes in Embedded Linux. Or a mount option that allows to hide non-pid inodes.
1.5. Using pidfds to attach to namespaces
This release makes it possible to use pidfds to attach to the namespaces of a process, i.e. they can be passed as the first argument to the setns(2) syscall. When a pidfd is passed, multiple namespace flags can be specified in the second argument and setns(2) will then attach the caller to all the specified namespaces all at once or to none of them. Eg: setns(pidfd, CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWNET);
These features support various use-cases where callers setns to a subset of namespaces to retain privilege, perform an action and then re-attach another subset of namespaces. Apart from reducing the number of syscalls needed to attach to all currently supported namespaces, this also allows to setns to a set of namespaces atomically, this is useful for a standard container manager interacting with a running container.
1.6. Shadow Call Stack and Branch Target Identification for improved security on ARM64
This release adds generic support for Clang's Shadow Call Stack on ARM64, which uses a shadow stack to protect function return control flow from buffer overruns on the main stack.
There is also support for ARMv8.5-BTI in both user- and kernel-space. This allows branch targets to limit the types of branch from which they can be called and additionally prevents branching to arbitrary code.
Recommended LWN article: Some near-term arm64 hardening patches
1.7. Support for Inline Encryption hardware
This release supports Inline Encryption in the block layer. Inline Encryption hardware allows software to specify an encryption context (an encryption key, crypto algorithm, data unit num, data unit size, etc.) along with a data transfer request to a storage device, and the inline encryption hardware will use that context to en/decrypt the data. The inline encryption hardware is part of the storage device, and it conceptually sits on the data path between system memory and the storage device.
Recommended LWN article: Inline encryption for filesystems
1.8. Introduce CAP_BPF and CAP_PERFMON security capabilities
Using BPF has required the CAP_SYS_ADMIN capability to run. This means that software that needs to use BPF needs that capability, which grants way too many privileges. This releases grants access to BPF functionality with a new CAP_BPF capability combined with CAP_PERFMON, CAP_NET_ADMIN and some of them kept under CAP_SYS_ADMIN. The user process has to have: CAP_BPF to create maps and do other sys_bpf() commands, CAP_BPF and CAP_PERFMON to load tracing programs, and CAP_BPF plus CAP_NET_ADMIN to load networking programs.
This release also adds the CAP_PERFMON capability for performance monitoring and observability.
Recommended LWN article: CAP_PERFMON — and new capabilities in general
1.9. IPv6 MPLS support
This release extends the Multi-Protocol Label Switching support to IPv6.
1.10. bridge: Add support for Media Redundancy Protocol (MRP)
This release adds support for the Media Redundancy Protocol is a data network protocol standardized by International Electrotechnical Commission as IEC 62439-2. It allows rings of Ethernet switches to overcome any single failure with recovery time faster than STP. It is primarily used in Industrial Ethernet applications.
2. Core (various)
- (FEATURED) Add Kernel Concurrency Sanitizer (KCSAN) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- (FEATURED) Add a general notification queue concept and add an event source for keys/keyrings, such as linking and unlinking keys and changing their attributes. Key/keyring notifications are desirable because if you have your kerberos tickets in a file/directory, your Gnome desktop will monitor that and tell you if your credentials cache changes. The notification queue is built on top of a standard pipe. Messages are effectively spliced in. The pipe is opened with a special flag: pipe2(fds, O_NOTIFICATION_PIPE). The pipe is then configured and messages are read out of the pipe. LSM hooks are included: A set of hooks are provided that allow an LSM to rule on whether or not a watch may be set, and a hook to allow an LSM to rule on whether or not a particular message may be posted to a particular queue commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- (FEATURED) Add support for Clang's Shadow Call Stack mitigation, which uses a separately allocated shadow stack to protect against return address overwrites commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- (FEATURED) namespaces: make it possible to use pidfds to attach to the namespaces of another process, i.e. they can be passed as the first argument to the setns(2) syscall. Multiple namespace flags can be specified in the second setns() argument and setns() will attach the caller to all the specified namespaces all at once or to none of them. The obvious example where this is useful is a standard container manager interacting with a running container: pushing and pulling files or directories, injecting mounts, attaching/execing any kind of process, etc. It also allows to switch to a set of namespaces atomically commit, commit, commit 
- VFS - (FEATURED) procfs: support multiple private instances commit, commit, commit, commit, commit, commit, commit, commit 
- Add faccessat2(2) syscall. POSIX defines faccessat() as having a fourth "flags" argument, while the linux syscall doesn't have it. Glibc tries to emulate AT_EACCESS and AT_SYMLINK_NOFOLLOW, but AT_EACCESS emulation is broken. This release adds a new faccessat(2) syscall with the added flags argument and implement both flags commit 
- utimensat(2): AT_EMPTY_PATH support, this makes it possible to use utimensat on an O_PATH file (including symlinks) commit 
- Allow unprivileged whiteout creation commit 
- Have syncfs() return error when there are writeback errors commit, commit 
 
- Support setting sysctl parameters from kernel command line in the form of sysctl.vm.something=1 commit, commit, commit, commit, commit 
- cgroup: add cpu.stat file to root cgroup commit 
- dynamic_debug: add an option to enable dynamic debug for modules only commit 
- EFI - GOP: Add the ability to use a command-line option to switch the gop's display mode. The options supported are: video=efifb:mode=n to choose a mode; video=efifb:<xres>x<yres>[-(rgb|bgr|<bpp>)] to specify mode by resolution and optionally color depth; and video=efifb:auto to let the EFI stub choose the highest resolution mode available commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Make initrd file loader configurable commit 
- Add a basic printf implementation for the EFI stub to use commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- io_uring - Add tee(2) support commit 
- Add support for enabling/disabling notifications on a registered eventfd commit, commit 
- Allow IORING_OP_POLL with double waitqueues commit 
- Enable closing of the ring itself commit 
- Export cq overflow status to userspace by adding new IORING_SQ_CQ_OVERFLOW flag commit 
- io_uring: call statx directly commit, commit, commit, commit 
 
- PM: allow to disable snapshot device commit 
- init: allow to configure the default init commit 
- kcov: collect coverage from usb soft interrupts commit, commit, commit, commit, commit, commit, commit 
- Introduce sysctl hung_task_all_cpu_backtrace to print all traces when a hung task is detected commit 
- panic: add sysctl oops_all_cpu_backtrace to dump all CPUs backtraces on oops event commit 
- panic: Add panic_on_taint boot option in order to provide a simple and generic way to stop execution and catch a coredump when the kernel gets tainted by any given taint flag commit 
- Locking - Introduce the concept of local_locks, which are strictly per CPU and satisfy the constraints required by PREEMPT_RT commit, commit, commit, commit, commit, commit, commit 
- Prototype RCU usable from idle, exception, offline 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 
 
- Build - Support 'userprogs' syntax commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add variables for compression tools, eg make GZIP=pigz BZIP2=pbzip2 commit 
- objtool - Implement noinstr validation (no-instrument) to ensure critical code (entry for now, idle later) run no unexpected code commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Support compressed debug info commit 
- Enable compilation of objtool for all architectures commit, commit, commit 
- Changes to check retpoline code commit, commit, commit, commit, commit, commit, commit 
 
 
- kgdb: Support late serial drivers; enable early debug w/ boot consoles commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
3. File systems
- BTRFS - Speedup dead root detection during orphan cleanup, eg. when there are many deleted subvolumes waiting to be cleaned commit 
- Read repair/direct I/O improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Snapshot creation with inherited qgroup will mark the qgroup inconsistent, requires a rescan commit 
- btrfs send will emit file capabilities after chown, this produces a stream that does not need postprocessing to set the capabilities again commit 
- Deal with a few ENOSPC corner cases commit, commit, commit, commit, commit 
 
- CIFS - Add new parm nodelete, which allows standard permission checks on the server to work, but prevents on the client any attempts to unlink a file or delete a directory on that mount point commit 
- Add support for idsfromsid on create and also for chgrp/chown allowing ability to save owner information more naturally for some workloads. Improves getattr when SMB3.1.1 posix extensions are negotiated by using new query info level commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Ensure several mount parameters work properly on multiuser mounts for non-root users commit, commit, commit, commit, commit, commit 
 
- FSCRYPT
- EXT4
- XFS
- F2FS - Introduce sysfs/data_io_flag to attach REQ_META/FUA commit 
- Support read iostat commit 
- Support partial truncation on compressed inode commit 
- Support fiemap on compressed inode commit 
- compress: support lzo-rle compress algorithm commit 
- Introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS commit and F2FS_IOC_RELEASE_COMPRESS_BLOCKS commit 
- Add compressed/gc data read IO stat commit 
 
- OVERLAYFS
- PSTORE
- SQUASHFS - squashfs: migrate from ll_rw_block usage to BIO - decreases boot time by close to 40% when using squashfs for the root file-system commit 
 
- AFS - Various improvements: Improve callback processing, improve keeping NAT or firewall channels open, improving detection of delayed or lost callbacks, determine aliasing of cells, improve the fileserver rotation 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 
 
- OCFS2 - Mount shared volume without ha stack commit 
 
- EROFS - Convert to use the new mount fs_context api commit 
 
- EXFAT - Add boot region verification commit 
 
- FAT - Improve the readahead for FAT entries commit 
 
4. Memory management
- (FEATURED) Balance LRU lists based on relative thrashing: The reclaim code that balances between swapping and cache reclaim tries to predict likely reuse based on in-memory reference patterns alone. The balancing code has been tuned over time to a point where it mostly goes for page cache and defers swapping until the VM is under significant memory pressure. Since commit a528910e12ec Linux has exact tracking of refault IO - the ultimate cost of reclaiming the wrong pages. This allows us to use an IO cost based balancing model that is more aggressive about scanning anonymous memory when the cache is thrashing, while being able to avoid unnecessary swap storms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- swap: speed up swapoff by properly updating readahead statistics commit 
- swap: improve swap scalability reduce lock contention on swap cache from swap slots allocation commit 
- swap: improve swap scalability by trying to scan more free slots even when fragmented commit 
- memory_hotplug: Interface to add driver-managed system ram commit, commit, commit 
- Expand the atomic DMA pools for the various possible gfp requirements as a means to prevent an unnecessary depletion of lowmem. This allows devices that required unencrypted memory to do non-blocking allocations through the DMA API commit, commit, commit, commit, commit, commit, commit 
- Expand the cases khugepaged can handle and switch anon-THP copy-on-write handling to 4k commit, commit, commit, commit, commit, commit, commit, commit 
- memcg - Expose root cgroup's memory.stat commit 
- Add workingset_restore in memory.stat commit 
- Slow down swap allocation as the available space gets depleted. It adds a memory.swap.high knob, which can be used to protect the system from SWAP exhaustion. The mechanism used for penalizing is similar to memory.high penalty (sleep on return to user space) commit, commit, commit, commit 
- Optimize memory.numa_stat like memory.stat commit 
- Reworks memcg to charge swapin pages directly at swapin time, rather than at fault time, which may be much later, or not happen at all commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- Improvements about lowmem_reserve and /proc/zoneinfo commit, commit, commit 
- Change readahead API 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 
- Parallelize deferred struct page init commit, commit, commit, commit, commit, commit, commit, commit 
- Add a new mmap locking API wrapping mmap_sem calls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
5. Block layer
- loop: Add LOOP_CONFIGURE ioctl. This allows userspace to completely setup a loop device with a single ioctl, removing the in-between state where the device can be partially configured commit 
- Add support for Inline Encryption to the block layer. Inline Encryption hardware allows software to specify an encryption context (an encryption key, crypto algorithm, data unit num, data unit size, etc.) along with a data transfer request to a storage device, and the inline encryption hardware will use that context to en/decrypt the data. The inline encryption hardware is part of the storage device, and it conceptually sits on the data path between system memory and the storage device commit, commit, commit, commit, commit 
- Device Mapper - dm crypt: support using encrypted keys commit 
- Add emulated block size target. Its main purpose is to emulate 512 byte sectors on 4K native disks commit 
- dma-zoned: Add a new metadata version 2, which brings the following improvements: UUIDs and labels, extend random zones by an additional regular disk device, and tertiary superblock support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- dm mpath: add Historical Service Time Path Selector. It keeps an exponential moving average of the service time for each path, and uses this along with the number of inflight requests to estimate future service time for a path commit 
- dm ebs: pass discards down to underlying device commit 
- dm bufio: implement discard commit 
- dm writecache: improve performance on DDR persistent memory (Optane) commit 
- dm-zoned: improve cache performance commit, commit, commit, commit, commit, commit 
- dm-zoned: multiple drive support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- CEPH
6. Tracing, perf and BPF
- (FEATURED) Introduce CAP_PERFMON to secure system performance monitoring and observability commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- BPF - (FEATURED) Introduce CAP_BPF to split BPF operations that are allowed under CAP_SYS_ADMIN into combination of CAP_BPF, CAP_PERFMON, CAP_NET_ADMIN and keep some of them under CAP_SYS_ADMIN. The user process has to have: CAP_BPF to create maps and do other sys_bpf() commands, CAP_BPF and CAP_PERFMON to load tracing programs, and CAP_BPF plus CAP_NET_ADMIN to load networking programs commit, commit, commit 
- bpftool: Allow probing for CONFIG_HZ from kernel config commit 
- Add get{peer,sock}name cgroup attach types to the BPF sock_addr programs in order to enable rewriting sockaddr structs commit, commit, commit, commit 
- Add sk_msg and networking helpers to all networking programs with perfmon_capable() capabilities commit, commit, commit, commit, commit 
- Implement a new BPF ring buffer, as presented at BPF virtual conference. It presents an alternative to perf buffer, following its semantics closely, but allowing sharing same instance of ring buffer across multiple CPUs efficiently commit, commit, commit, commit, commit 
- The bpf iterator provides in-kernel aggregation abilities for kernel data. This can greatly improve performance compared to e.g., iterating all process directories under /proc commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Introduce a new bpf_link type for attaching to network namespace commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add rx_queue_mapping to bpf_sock commit 
- Sharing bpf runtime stats with BPF_ENABLE_STATS commit, commit, commit 
- Add various observability APIs to bpf_link commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add support for XDP programs in DEVMAP entries commit, commit, commit, commit, commit 
- Extending bpf_setsockopt with SO_BINDTODEVICE sockopt commit, commit, commit 
- Allow TC programs to call BPF_FUNC_skb_change_head, it allows TC eBPF programs to modify and forward (redirect) packets from interfaces without ethernet headers (for example cellular) to interfaces with (for example ethernet/wifi) commit 
- Allow any port in bpf_bind helper commit, commit, commit, commit 
- Enable BPF programs to fetch sockets from SOCKMAP/SOCKHASH by doing a map lookup commit, commit, commit 
- Allow a bunch of existing sk lookup and skb cgroup id helpers, and adds two new bpf_sk_{,ancestor_}cgroup_id helpers to be used in cgroup skb programs commit, commit, commit, commit, commit 
- bpf_{g,s}etsockopt for struct bpf_sock_addr commit 
- Adjust uapi for devmap prior to kernel release commit, commit 
- Enable more helpers for BPF_PROG_TYPE_CGROUP_{DEVICE, SYSCTL, SOCKOPT} commit 
- Add bpf_ktime_get_boot_ns() as a mirror of bpf_ktime_get_ns() based around CLOCK_BOOTTIME instead of CLOCK_MONOTONIC commit 
- cgroup: allow multi-attach program to replace itself commit 
- libbpf: Add API to consume the perf ring buffer content commit 
- libbpf: Add BTF-defined map-in-map support commit, commit, commit 
- bpftool: Allow unprivileged users to probe features commit 
 
- Perf: - perf annotate: Add basic support for bpf_image commit 
- Add a benchmark for synthesis performance in a new benchmark collection called 'internals'
- Add a multi-threaded version of the internals synthesize benchmark commit, commit, commit 
- perf bench: Add event synthesis benchmark commit, commit, commit, commit 
- Improvements for kallsyms__parse, which improve perf record startup time commit, commit, commit 
- Stitch LBR call stack commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- perf config: Add stat.big-num support commit 
- Make Perf tool aware of SELinux access control commit, commit, commit 
- perf list: Add metrics to command line usage commit 
- Share events between metrics commit, commit, commit, commit, commit, commit, commit 
- perf probe: Accept the instance number of kretprobe event commit 
- perf record: Add --num-thread-synthesize option to specify number of threads to run for event synthesis commit 
- perf record: Implement --switch-output-event commit, commit, commit, commit, commit, commit, commit, commit, commit 
- perf script: Add flamegraph.py script commit 
- perf stat: Support overall statistics for interval mode commit, commit, commit, commit, commit 
- perf tools: Add optional support for libpfm4 commit 
- perf tools: Support CAP_PERFMON capability commit 
 
- tracing: Make synthetic events a separate option commit, commit 
- tracing: histogram internals doc, hist_debug, and misc commit, commit, commit 
7. Virtualization
- VMBus channel interrupt reassignment. This feature can be used for load balancing or other purposes (e.g. CPU offlining) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- KVM
- Add UAPIs to support migration for VFIO devices commit, commit, commit, commit, commit, commit, commit, commit 
- vfio-pci: Block user access to disabled device MMIO commit, commit, commit 
- vDPA: doorbell mapping commit, commit, commit, commit, commit 
- virtio-mem: Paravirtualized memory hot(un)plug commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- vmxnet3: upgrade to version 4 (with several new features which includes offload support for tunnel packets, support for new commands the driver can issue to emulation, change in descriptor fields, etc) commit, commit, commit, commit 
8. Cryptography
9. Security
- LSM: Add hook to set*gid syscalls commit 
- lockdown: Allow unprivileged users to see lockdown status commit 
- audit: log audit netlink multicast bind and unbind commit 
- apparmor: provides a /proc/self/attr/apparmor/ subdirectory. Enabling userspace to use the apparmor attributes without having to worry about collisions with selinux or smack on interface files in /proc/<pid>/attr commit 
- SELinux - A number of improvements to various SELinux internal data structures to help improve performance commit, commit, commit 
- Add a new SELinux policy version which allows for a more space efficient way of storing the filename transitions in the binary policy. Given the default Fedora SELinux policy with the unconfined module enabled, this change drops the policy size from ~7.6MB to ~3.3MB. The kernel policy load time dropped as well commit 
 
10. Networking
- Make the number generation more random to complicate remote observations that could lead to guessing the network RNG's internal state commit 
- Add RFC 2863 Oper status testing support. An interface is placed into this state when a self test is performed using ethtool commit, commit, commit 
- Add infrastructure in ethtool and phylib support for triggering a cable test and reporting the results commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- New sysctl to turn off nexthop API compat mode which is on by default but provides the ability to turn off compatibility mode allowing systems to run entirely with the new routing API if they wish to. Old route API behaviour and support is not modified by this sysctl commit, commit, commit 
- (FEATURED) IPv6: add MPLS support commit, commit, commit, commit, commit 
- IPv6: Implement the upcoming rev of RFC4941 (IPv6 temporary addresses) commit 
- netlink: add infrastructure to expose policies to userspace commit 
- namespaces: enable to inherit devconf from current namespace. The goal is to be able to inherit the initial devconf parameters from the current netns, ie the netns where this new netns has been created. This is useful in a containers environment where /proc/sys is read only. For example, if a pod is created with specifics devconf parameters and has the capability to create netns, the user expects to get the same parameters than his 'init_net', which is not the real init_net in this case commit 
- Introduce netns_bpf for BPF programs attached to netnamespace commit 
- Relax SO_TXTIME CAP_NET_ADMIN check to allow QUIC/UDP applications to use EDT model so that pacing can be offloaded to the kernel (sch_fq) or the NIC commit 
- TCP: Allow traceroute -Mtcp for unprivileged users commit 
- IPv6: support RFC 6069 (TCP-LD) commit 
- Add IPv6 encapsulation support for ESP over UDP and TCP commit, commit 
- XDP - Introduce AF_XDP buffer allocation API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- XDP extend with knowledge of frame size 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 
- XDP: Add egress_ifindex to xdp context for bpf programs to see the Tx device commit 
 
- bridge - (FEATURED) Add support for Media Redundancy Protocol(MRP), which allows rings of Ethernet switches to overcome any single failure with recovery time much faster than achievable with Spanning Tree Protocol commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Allow enslaving some DSA master network devices commit, commit, commit, commit 
 
- 802.11 - Initial definitions for S1G (802.11ah) commit, commit, commit, commit 
- Support bigger kek/kck key length commit 
- Support multicast RX registration commit 
- Allow SA-QUERY processing in userspace commit 
- Implement Operating Mode Notification extended NSS support commit 
- Support control port TX status reporting commit 
- Add support to configure TID specific Tx rate configuration commit 
 
- devlink: Add support for control packet traps commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Packet scheduler
- dsa
- erspan: Add type I frame format version 0 commit 
- inet_diag
- Netfilter
- Support for fdb ECMP nexthop groups commit, commit, commit, commit, commit 
- qrtr: Add MHI transport layer commit 
- sit: handle userspace requests for various ioctls commit 
- smc - Add event-based framework for LLC msgs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Preparations for SMC-R link failover commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add failover processing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add and delete link processing commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Extent buffer mapping and port handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- TIPC
- Bluetooth - Add BT_MODE socket option commit 
- Experimental feature support commit, commit, commit, commit, commit, commit, commit 
- Add framework for Microsoft vendor extension commit 
- Add support for Read Local Simple Pairing Options commit 
- Add support for reading security information commit 
- Always request for user confirmation for Just Works (LE SC) commit 
- Always request for user confirmation for Just Works commit 
- Enable LE Enhanced Connection Complete event commit 
- L2CAP: add support for waiting disconnection resp commit 
- Add support to notify using SCO air mode commit 
- debugfs option to unset MITM flag commit 
 
- RDMA - Add Enhanced Connection Established (ECE), a new negotiation scheme introduced in IBTA v1.4 to exchange extra information about nodes capabilities and later negotiate them at the connection establishment phase commit, commit, commit, commit, commit, commit 
- Enable asynchronous event FD per object commit, commit, commit, commit, commit, commit, commit 
- Add support for RTRS (RDMA Transport), a reliable high speed transport library which allows for establishing connection between client and server machines via RDMA. RTRS is multipath capable and provides I/O fail-over and load-balancing functionality. RNBD (RDMA Network Block Device) is a pair of kernel modules (client and server) that allow for remote access of a block device on the server over RTRS protocol 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 
 
- psample: Add tunnel support commit 
11. Architectures
11.1. ARM
- Device Tree updates - The Renesas shmobile platform gains support for "RZ/G1H" (r8a7742), a high-end 32-bit industrial SoC and the iW-RainboW-G21D-Qseven-RZG1H board/SoM commit, commit, commit, commit, commit, commit, commit, commit 
- Add new SoC Realtek RTD1195, an older Cortex-a7 based relative of the RTD12xx chips commit 
- Add new SoCs Realtek RTD1395 and RTD1619, three SoCs used in both NAS devices and Android Set-top-box designs, along with the "Horseradish", "Lion Skin" and "Mjolnir" reference platforms; the Mele X1000 and Xnano X5 set-top-boxes and the Banana Pi BPi-M4 single-board computer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add SoC Rockchips RK3326, low-end 64-bit SoC along with the Odroid-GO Advance game console commit, commit, commit 
- Add AMLogic S905D based Smartlabs SML-5442TW TV box commit, commit 
- Add AMLogic S905X3 based ODROID-C4 SBC commit 
- Add AMLogic S922XH based Beelink GT-King Pro TV box commit, commit, commit, commit 
- Add Allwinner A20 based Olimex A20-OLinuXino-LIME-eMMC SBC commit, commit 
- Add Aspeed ast2500 based BMCs in Facebook x86 "Yosemite V2" and YADRO OpenPower P9 "Nicole" commit, commit 
- Marvell Kirkwood based Check Point L-50 router commit 
- Mediatek MT8173 based Elm/Hana Chromebook laptops commit 
- Microchip SAMA5D2 "Industrial Connectivity Platform" reference board commit, commit 
- NXP i.MX8m based Beacon i.MX8m-Mini SoM development kit commit 
- Octavo OSDMP15x based Linux Automation MC-1 development board commit, commit 
- Qualcomm SDM660/SDM630 platform and the Xiaomi Redmi Note 7 (lavender) phone commit, commit, commit 
- STMicroelectronics STM32MP1 based Stinger96 single-board computer and IoT Box commit, commit 
- Samsung Exynos4210 based based Samsung Galaxy S2 phone commit, commit 
- TI am5729 based Beaglebone-AI development board commit 
- colibri: introduce device trees with UHS-I support commit 
- The PXA platform drops support for Compulab's pxa2xx boards that had rather unusual flash and PCI drivers but no known users remaining commit 
 
- coresight
- tegra: fuse: Add custom SoC attributes commit 
- qcom: cmd-db: Add debugfs dumping file commit 
- ti: add k3 platforms chipid module driver commit 
- perf arm-spe: Add support for synthetic events commit, commit, commit 
- ARM64 - Add missing 32 bit system registers (ID_PFR2, ID_DFR1 and ID_MMFR5) and add missing features bits on all existing system registers (32 and 64 bit) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- crash_core: Export KERNELPACMASK in vmcoreinfo commit, commit 
- (FEATURED) Branch Target Identification support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add support for protecting the kernel and vDSO with BTI including code compiled with the BPF JIT at runtime commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- Allow the compat vdso (32b) to be compiled as either THUMB2 (default) or ARM commit 
- Support enabling dirty log gradually in small chunks commit 
11.2. MIPS
- Identify Loongson-2K processors commit 
- Add page soft dirty tracking commit 
- ingenic: Add support for GCW Zero prototype commit 
- CPUCFG emulation future-proofing & HWCAP addition commit, commit, commit 
- Loongson-3: Add some unaligned instructions emulation commit 
- Loongson: Add support for perf tool commit 
- perf: Add hardware perf events support for new Loongson-3 commit 
- Prepare MIPS-arch code for Baikal-T1 SoC support commit, commit, commit, commit, commit, commit, commit, commit, commit 
- KVM: Add Loongson-3 support (Host Side) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Remove support for LASAT commit 
- Remove PMC MSP71xx platform commit 
- Remove NEC MARKEINS/EMMA commit 
11.3. X86
- Fixes for the new SRBDS security issue. SRBDS is an MDS-like speculative side channel that can leak bits from the random number generator (RNG) across cores and threads. New microcode serializes the processor access during the execution of RDRAND and RDSEED. This ensures that the shared buffer is overwritten before it is released for reuse. This is equivalent to a full bus lock, which means that many threads running the RNG instructions in parallel have the same effect as the same amount of threads issuing a locked instruction targeting an address which requires locking of two cachelines at once commit, commit, commit, commit 
- Add an initrdmem= option to specify initrd physical address commit 
- platform - Add Elkhart Lake SCU/PMC support commit 
- Add Slim Bootloader firmware update signaling driver commit 
- ISST: Add new PCI device ids commit 
- thinkpad_acpi: Add support for dual fan control commit 
- touchscreen_dmi: Add info for the MP-man MPWIN895CL tablet commit 
- touchscreen_dmi: Add info for the ONDA V891 v5 tablet commit 
- touchscreen_dmi: Add info for the Trekstor Yourbook C11B commit 
- touchscreen_dmi: Add touchscreen info for techBite Arc 11.6 commit 
- touchscreen_dmi: add Vinga J116 touchscreen commit 
 
- Remove CONFIG_DOUBLEFAULT on 32 bits commit 
- Drop deprecated DISCONTIGMEM support for 32-bit commit 
- amd_nb: Add AMD family 17h model 60h PCI IDs commit 
- Introduce TPAUSE instruction that suspends execution in a lower power state until the TSC (Time Stamp Counter) exceeds a certain value commit, commit, commit 
- binfmt_elf: Update READ_IMPLIES_EXEC logic for modern CPUs commit, commit, commit, commit, commit, commit 
- Support XSAVES supervisor states in preparation for new features that will make use of supervisor xstates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- mce: Add mce=print_all option commit 
- resctrl: Support wider MBM counters commit, commit, commit, commit, commit, commit, commit 
- split_lock: Add Icelake microserver and Tigerlake CPU models commit 
- tsc: Add tsc_early_khz command line parameter commit 
- intel_th
- iommu/vt-d: Add page request draining support commit, commit, commit, commit, commit 
- perf - rapl: Add AMD Fam17h RAPL support commit 
- rapl: Add Ice Lake RAPL support commit 
- perf: Add hardware performance events support for Zhaoxin CPU commit 
- perf intel-pt: Sampling improvements commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- perf intel-pt: Add support for synthesizing branch stacks for regular events commit, commit, commit, commit, commit, commit, commit, commit, commit 
 
- powercap/intel_rapl: add support for ElkhartLake commit 
- efi: Support builtin command line commit 
- KVM - VMX: enable X86_FEATURE_WAITPKG in KVM capabilities commit 
- Improve latency for single target IPI fastpath commit 
- nSVM: migration support 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 
- Add module param to force TLB flush on root reuse commit 
- Support full width counting commit 
- Interrupt-based mechanism for async_pf 'page present' notifications commit, commit, commit, commit, commit, commit, commit 
- Nested Shared Virtual Address (SVA) VT-d support: Shared virtual address (SVA), a.k.a, Shared virtual memory (SVM) on Intel platforms allow address space sharing between device DMA and applications. SVA can reduce programming complexity and enhance security. This enables SVA virtualization, i.e. enable use of SVA within a guest user application commit, commit, commit, commit, commit, commit, commit, commit 
 
- hyper-v: add support for synthetic debugger commit, commit, commit, commit, commit, commit, commit, commit 
11.4. POWERPC
- crypto/nx: Enable GZIP engine and provide userpace API commit, commit, commit, commit, commit, commit, commit, commit, commit 
- powerpc/papr_scm: Add support for reporting nvdimm health commit, commit, commit, commit, commit, commit 
- Initial Prefixed Instruction support: A future revision of the ISA will introduce prefixed instructions. A prefixed instruction is composed of a 4-byte prefix followed by a 4-byte suffix. This series enables prefixed instructions and extends the instruction emulation to support them 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 
- powerpc/32: Disable KASAN with pages bigger than 16k commit 
- Modernise powerpc 40x commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Use hugepages to map kernel mem on 8xx 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, commit, commit 
- Base support for POWER10 commit, commit, commit, commit, commit, commit 
- hv-24x7: Expose chip/sockets info to add json file metric support for the hv_24x7 socket/chip level events commit, commit, commit, commit, commit 
- Enables memory hot-remove after reboot on pseries guests commit 
- Track and expose idle PURR and SPURR ticks commit, commit, commit, commit, commit 
- xmon: Support 2nd DAWR commit 
- Add stress_slb kernel boot option to increase SLB faults and stress test some code commit 
11.5. RISCV
- Add KGDB and KDB support commit, commit, commit, commit, commit 
- Allow device trees to be built into the kernel commit 
- K210: Add a built-in device tree commit 
- Use 16KB kernel stack on 64-bit commit 
11.6. S390
- Expose new port attribute for PCIe functions commit 
- Add pci=norid} when on, disallow the use a new firmware field, RID commit 
- qeth: add debugfs file for local IP addresses commit 
- vfio-ccw: Channel Path Handling commit, commit, commit, commit, commit, commit, commit, commit 
- vfio-ccw: Enable transparent CCW IPL from DASD commit 
11.7. ARC
11.8. M68K
- mcf5441x: add support for esdhc mmc controller commit 
11.9. SH
- Remove sh5 support commit 
11.10. PARISC
- Add sysctl file interface panic_on_stackoverflow commit 
12. Drivers
12.1. Graphics
- Managed DRM resources, a little internal framework for managed resources tied to the drm_device lifetime 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Intel - Global sseu pinning commit 
- Per-engine default property values in sysfs commit 
- Tigerlake GEN12 enabled.
- Cherryview full-ppgtt support commit 
- Add new PCI IDs to TGL commit 
- Add YUV444 packed format support for skl+ commit 
- Port sync for skl+ commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add debugfs entry for DP phy compliance commit 
- Add connector debugfs for all connectors commit 
- Add i915_lpsp_capability debugfs commit 
- Add i915_lpsp_status debugfs attribute commit 
- Drop stage_pool debugfs commit 
 
- amdgpu - Introduce secure buffer object support (trusted memory zone) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Support FP16 pixel format commit 
- Introduces ACQUIRE_MEM packet submission at the begining of each gfx IB if requested by user mode client. This is helpful in solving issues with cache coherency during amdgpu_test and Vulkan CTS tests commit, commit, commit, commit 
- FRU chip access support commit 
- VCN DPG (powergating) enablement commit 
- Add autodump debugfs node for gpu reset commit 
- Add HDCP caps debugfs commit 
- p2p dma-buf support commit 
- gfx10 soft recovery commit 
- amdkfd
 
- nouveau
- adv7511 - HDMI SPDIF support commit 
 
- lima
- MSM
- vkms - Enable cursor by default commit 
 
- rockchip - Add support for afbc commit 
 
- bridge
- panel - Add ASUS TM5P5 NT35596 panel driver commit 
- Add Starry KR070PE2T commit 
- Add panel driver for Leadtek LTK050H3146W commit 
- Add support for rm69299 visionox panel commit 
- Support for boe,tv105wum-nw0 dsi video mode panel commit 
- nt39016: Add support for 50 Hz refresh rate commit 
- nt39016: Add support for multiple modes commit 
- simple: Add BOE NV133FHM-N61 commit 
- simple: Add BOE NV133FHM-N62 commit 
- simple: Add Ivo M133NWF4 R0 commit 
- simple: Add support for AUO G121EAN01.4 panel commit 
- simple: Add support for AUO G156XTN01.0 panel commit 
- simple: Add support for AUO G190EAN01 panel commit 
 
- backlight: qcom-wled: Add support for WLED5 peripheral that is present on PM8150L PMICs commit 
12.2. Power Management
- ACPI: Add support for DPTF (Dynamic Platform and Thermal Framework) battery participant device support commit, commit 
- cpuidle: Make cpuidle governor switchable to be the default behaviour commit, commit, commit, commit, commit, commit 
- Improve SBS battery support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- thermal
12.3. Storage
- nvme-fc/nvmet-fc: Add FC-NVME-2 disconnect association support 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 
- nvme-rdma/nvmet-rdma: Add metadata/T10-PI support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- SCSI - dh: Add Fujitsu device to devinfo and dh lists commit 
- qedi: Add modules param to enable qed iSCSI debug commit 
- scsi_debug: random doublestore verify commit, commit, commit, commit, commit, commit, commit, commit 
- scsi_debug: Add ZBC support commit, commit, commit, commit, commit, commit, commit 
- sd: Add zoned capabilities device attribute commit 
- Introduce Zone Append for writing to zoned block devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- ufs: Add write booster feature support commit, commit, commit 
- ufs: Allow WriteBooster on UFS 2.2 devices commit 
- ufs: support LU Dedicated buffer mode for WriteBooster commit, commit, commit, commit, commit, commit, commit, commit 
- hisi_sas: Add SAS_RAS_INTR0 to debugfs register name list commit 
 
12.4. Drivers in the Staging area
- media: imx: imx7-mipi-csis: Add missing RAW formats commit, add support for 10-bit YUV 4:2:2 commit 
- atomisp: add support for different PMIC configurations commit 
- tegra-video: Add Tegra210 Video input driver commit 
- wfx: allow to join IBSS networks commit 
- wfx: add support for hardware revision 2 and further commit 
12.5. Networking
- Bluetooth - btbcm: Add 2 missing models to subver tables commit 
- btbcm: Added 003.006.007, changed 001.003.015 commit 
- btrtl: Add support for RTL8761B commit 
- btusb: Add support for Intel Bluetooth Device Typhoon Peak (8087:0032) commit 
- Add BTUSB and quirk support for the driver to confirm that the reported LE_states can be trusted commit, commit, commit 
- btusb: Enable MSFT extension for Intel ThunderPeak devices commit 
- hci_qca: Add support for Qualcomm Bluetooth SoC QCA6390 commit 
- hci_qca: Enable WBS support for wcn3991 commit 
 
- Infiniband: hfi1: Accelerated IP using the rdma netdev mechanism commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- RDMA
- ath10k
- ath11k
- atlantic
- ax88179_178a: Implement ethtool_ops set_eeprom commit 
- bcmgenet: add support for Wake on Filter commit, commit, commit, commit, commit, commit, commit 
- brcmfmac: adds the second p2p connection support commit, commit 
- carl9170: remove P2P_GO support commit 
- cxgb4: Improve and tune TC-MQPRIO offload commit, commit, commit 
- dpaa2-eth:
- dsa - felix: tc taprio and CBS offload support commit, commit, commit 
- mv88e6xxx: 88e6390 10G serdes support commit 
- Traffic support for dsa_8021q in vlan_filtering=1 mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- tc-gate offload for SJA1105 DSA switch commit, commit, commit, commit, commit, commit 
- sja1105: offload the Credit-Based Shaper qdisc commit 
 
- ena
- enetc:
- dwmac: add ethernet glue logic for NXP imx8 chip commit 
- hinic
- hns3
- ice
- igc - Add ECN support for TSO commit 
- Add partial generic segmentation offload (GSO partial) support commit 
- Enable NETIF_F_HW_TC flag by default commit 
- Add Receive Error Counter commit 
- Add new device IDs for i225 part commit 
- Enable NFC rules based on source MAC address commit, commit, commit, commit 
- Add support to eeprom, registers and link self-tests commit 
 
- ionic: add more ethtool stats commit 
- iwlwifi - Add ACPI DSM support commit 
- Add new cards for AX family commit 
- Add support for range request command version 9 commit and version 10 commit 
- Support version 9 of WOWLAN_GET_STATUS notification commit 
- Enable A-MSDU in low latency mode commit 
- Remove iwlmvm's tfd_q_hang_detect module parameter commit 
- Stop supporting swcrypto and bt_coex_active module parameters commit 
- pcie: add n_window/ampdu to tx_queue debugfs commit 
 
- Remove fw_monitor module parameter commit 
- ks8851: Implement Parallel bus operations commit 
- lan743x: Added fixed link and RGMII support commit 
- mac80211_hwsim
- mlx5 - Driver part of the RDMA-CM ECE series commit, commit, commit, commit, commit, commit, commit, commit 
- Add support for drop action in DV steering commit 
- Add steering support for default miss commit, commit, commit, commit 
- Support TX port affinity for VF drivers in LAG mode commit 
- Add support for COPY steering action commit 
- Add support for RDMA TX FT headers modifying commit 
- Add support to get xmit slave commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Set flow_label and RoCEv2 UDP source port for datagram QP commit, commit, commit, commit, commit, commit, commit 
- Introduce IPsec Connect-X offload hardware bits and structures commit 
- Introduce TLS RX offload hardware bits commit 
 
- mlx5e - New mlx5 kconfig flag for TC support commit, commit, commit, commit 
- Support for MPLS over UPD encap and decap TC offloads commit, commit, commit, commit 
- Support for self looback to allow communication between ipoib pkey child interfaces on the same host commit, commit 
- Support VM traffics failover with bonded VF representors and e-switch egress/ingress ACLs commit, commit, commit, commit, commit, commit, commit 
 
- mscc:
- mt76 - Add MediaTek IEEE 802.11ax devices - MT7915E commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Enable TDLS support commit 
- Enable p2p support commit 
- Introduce WoW support to mt7663 driver commit, commit, commit, commit, commit, commit, commit 
- hw scan, scheduled scan and noise floor estimation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- mt7615: add more useful Tx mib counters commit 
- mt7615: add passive mode for hw scan commit 
- mt7615: add support for MT7611N commit 
- mt7615: disable aspm by default commit 
- mt7615: enable MSI by default commit 
- mt7615: enable scs for mt7663 driver commit 
- mt7663: add support to sched scan with randomise addr commit 
- mt7663: add the possibility to load firmware v2 commit 
- mt7663u: enable AirTimeFairness commit 
- mt76x02u: Add support for newer versions of the XBox One wifi adapter commit 
- mt76x0: pci: add mt7610 PCI ID commit 
- mt76x2u: introduce Mercury UD13 support commit 
- MT7915: add TxBF support commit, commit, commit, commit, commit, commit, commit 
- Add rx queues info to mt76 debugfs commit 
- mt7915: add spatial reuse support commit 
 
- Add the driver for the MediaTek STAR Ethernet MAC currently used on the MT8* SoC family commit 
- mvneta: Add 2500BaseX support for SoCs without comphy commit 
- mwifiex: Add support for NL80211_ATTR_MAX_AP_ASSOC_STA commit 
- p54usb: add AirVasT USB stick device-id commit 
- PHY - Add Broadcom BCM54140 support commit 
- at803x: add cable diagnostics support commit 
- at803x: add cable diagnostics support for ATH9331 and ATH8032 commit 
- at803x: add downshift support commit 
- at803x: add support for AR8032 PHY commit 
- broadcom: cable tester support commit, commit, commit, commit 
- bcm54140: add hwmon support commit 
- broadcom: Add support for BCM53125 internal PHYs commit 
- broadcom: add support for BCM54811 PHY commit 
- Raw PHY TDR data commit, commit, commit, commit, commit, commit, commit 
- micrel: add phy-mode support for the KSZ9031 PHY commit 
- tja11xx: add cable-test support commit 
- tja11xx: add initial TJA1102 support commit 
- Provide support for PHY master/slave configuration commit, commit 
 
- ptp: Add adjust_phase to ptp_clock_caps capability commit 
- qed/qede: critical hw error handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- qed*: Add support for pcie advanced error recovery commit, commit 
- qed: Add EDPM mode type for user-fw compatibility commit 
- qmi_wwan: add support for Quectel EG95 LTE modem commit 
- rt2800: enable MFP support unconditionally commit 
- rtw88
- stmmac
- ti: k3: introduce common platform time sync driver - cpts commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- wlcore: Add support for IGTK key commit 
12.6. Audio
- fireface: add support for RME FireFace 802 commit 
- fireface: add support for RME Fireface UFX commit 
- firewire-motu: add support for MOTU UltraLite-mk3 (FireWire only model) commit 
- hda - realtek: Add LED class support for micmute LED commit 
- realtek: Enable headset mic of Acer TravelMate B311R-31 with ALC256 commit 
- realtek: enable headset mic of ASUS ROG Zephyrus G14(G401) series with ALC289 commit 
- Add ElkhartLake HDMI codec vid commit 
- Intel: add missing PCI IDs for ICL-H, TGL-H and EKL commit 
- Add autodetection for SoundWire commit 
- Add sienna_cichlid audio asic id for sienna_cichlid up commit 
 
- Adds support for polling and non-blocking read for hwdep interface commit, commit 
- usb-audio: Add duplex sound support for USB devices using implicit feedback commit 
- usb-audio: Add Pioneer DJ DJM-900NXS2 support commit 
- usb-audio: RME Babyface Pro mixer patch commit 
- ASoC - Add initial ZL38060 driver commit 
- Intel: Skylake: Automatic DMIC format configuration according to information from NHLT commit 
- Intel: boards: sof-wm8804: support for Hifiberry Digiplus boards commit 
- Intel: boards: support Elkhart Lake with rt5660 commit 
- Add Renoir ACP driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- da7213: Add regulator support commit 
- max98390: Added Amplifier Driver commit 
- max9867: add digital microphone controls commit 
- max9867: add mono playback switch commit 
- mmp-sspa: Make sound work on DT-based MMP2 machines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- rt1016: Add the rt1016 support commit 
- snd-sof-intel-hda-common: add hda_model parameter and pass it to HDA codec driver commit 
- tlv320adcx140: Add controls for PDM clk commit 
- tlv320adcx140: Add support for configuring GPI pins commit 
- nau8810: add AUX related dapm widgets and routes commit 
 
- SOF - Add support for SOF on i.MX8M commit, commit, commit, commit, commit 
- Intel: add PCI ID for CometLake-S commit 
- Intel: add PCI ID for ElkhartLake commit 
- Intel: add PCI IDs for ICL-H and TGL-H commit 
- Support for an extended firmware manifest, which helps retrieve capabilities directly from the firmware file instead of the current IPC mechanism commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add probe support extend data commit 
 
- soundwire: bus_type: add sdw_master_device support commit, commit, commit, commit, commit 
- ac97: Remove sound driver for ancient platform commit 
12.7. Tablets, touch screens, keyboards, mouses
- Add driver for the Cypress CY8CTMA140 touchscreen commit 
- Add support for Azoteq IQS269A commit 
- elan_i2c: add more hardware ID for Lenovo laptops commit 
- i8042: add Lenovo XiaoXin Air 12 to i8042 nomux list commit 
- mms114: add extra compatible for mms345l commit 
- synaptics: enable InterTouch for ThinkPad X1E 1st gen commit 
- Delete unused GP2AP002A00F driver commit 
- Remove msm-vibrator driver commit 
- HID
12.8. TV tuners, webcams, video capturers
- Add V4L2_CAP_IO_MC to indicate that input and output are controlled by the Media Controller instead of V4L2 commit, commit, commit, commit, commit 
- Add support for the CODA960 JPEG decoder to the coda-vpu driver commit, commit 
- Report camera properties commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- media: rockchip: Add the rkvdec driver commit, commit, commit, commit 
- coda: add RC enable controls commit 
- coda: jpeg: support optimized huffman tables commit 
- si2157: Analog tuning and optimizations commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- dvb-usb: Add Cinergy S2 PCIe Dual Port support commit 
- i2c: Add ov2740 image sensor driver commit 
- ov8856: Add devicetree support commit 
- vimc: Make use of V4L2_CAP_IO_MC commit 
- vimc: Add support for {RGB,BGR,GBR}888 bus formats on debayer source pad commit, commit, commit 
- sh_veu: Remove driver commit 
12.9. Universal Serial Bus
- roles: Enable role-switch uevent reporting commit 
- chipidea: Enable user-space triggered role-switching commit 
- chipidea: introduce imx7d USB charger detection commit 
- chipidea: udc: add software sg list support commit 
- dwc3: gadget: Handle streams commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- dwc3: meson: add OTG support for GXL/GXM commit, commit, commit, commit, commit, commit, commit, commit 
- dwc3: Add support for DWC_usb32 IP commit 
- dwc3: pci: add support for the Intel Jasper Lake commit 
- dwc3: pci: add support for the Intel Tiger Lake PCH -H variant commit 
- gadget: tegra-xudc: Add Tegra194 support commit 
- Add XHCI, EHCI and OHCI support for Broadcom STB SoS's commit, commit, commit, commit 
- renesas-xhci: Add the renesas xhci driver commit 
- serial: ch341: add new Product ID for CH340 commit 
- serial: cypress_m8: enable Simply Automated UPB PIM commit 
- serial: option: add GosunCn GM500 series commit 
- serial: option: add Quectel EG95 LTE modem commit 
- serial: option: add Telit LE910C1-EUX compositions commit 
- serial: qcserial: add DW5816e QDL support commit 
- typec: mux: intel_pmc_mux: Support for static SBU/HSL orientation commit 
- xhci: Add support for Renesas controller with memory commit 
12.10. Serial Peripheral Interface (SPI)
- bcm-qspi: add support for MSPI sys clk 108Mhz commit 
- dw: Add Elkhart Lake PSE DMA support commit 
- dw: Add support for DesignWare DWC_ssi commit 
- dw: Add support for Intel Keem Bay SPI commit 
- dw-apb-ssi: Add Intel Keem Bay support commit 
- pxa2xx: Add support for Intel Tiger Lake PCH-H commit 
- spi-amd: Add AMD SPI controller driver support commit 
- spi-rockchip: add support for spi slave mode commit 
- spidev: Add support for Octal mode data transfers commit 
- stm32-qspi: Add pm_runtime support commit 
12.11. Real Time Clock (RTC)
12.12. Pin Controllers (pinctrl)
- intel: Add Intel Jasper Lake pin controller support commit 
- qcom: Add sm8250 pinctrl driver commit 
- sh-pfc: r8a7790: Add r8a7742 PFC support commit 
12.13. Multi Media Card (MMC)
- Export device/vendor ids from Common CIS for SDIO cards commit 
- Expose info about enhanced rpmb support commit 
- host: add Coldfire esdhc support commit 
- host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host commit 
- sdhci: arasan: Add support for Versal Tap Delays commit 
- sdhci-esdhc-imx: Add HS400 support for i.MX6SLL commit 
- sdhci-of-arasan: Add support for Intel Keem Bay commit 
- sdhci-of-dwcmshc: add suspend/resume support commit 
- sdhci-pci-gli: Add Genesys Logic GL9763E support commit 
12.14. Memory Technology Devices (MTD)
- MLC in SLC mode commit, commit, commit, commit, commit, commit, commit, commit 
- rawnand: Remove the cmx270 NAND controller driver commit 
- rawnand: arasan: Add new Arasan NAND controller commit 
- rawnand: arasan: Support the hardware BCH ECC engine commit 
- rawnand: brcmnand: support v2.1-v2.2 controllers commit 
- spi-nor: Add support for Cypress cy15x104q commit 
- spi-nor: Add support for s25fs128s1 commit 
- spi-nor: macronix: Add support for mx25l51245g commit 
- spi-nor: macronix: Add support for mx25u51245g commit 
- spi-nor: spansion: Enable dual and quad read for s25fl256s0 commit 
12.15. Industrial I/O (iio)
- Add SEMTECH SX9310/9311 sensor driver commit 
- accel: Add bma150 family support to bma180 commit, commit, commit, commit, commit, commit, commit 
- accel: st_sensors: add support for LIS2HH12 commit 
- adi-axi-adc,ad9647: Add support for AD9467 ADC commit, commit, commit, commit, commit, commit, commit, commit 
- adc: Add MAX1241 driver commit 
- adc: Add scaling support to exynos adc driver commit 
- adc: ad7476: Add AD7091 support commit 
- adc: mp2629: Add support for mp2629 ADC driver commit 
- bmg160: Add support for BMI088 chip commit 
- chemical: Add support for external Reset and Wakeup in CCS811 commit 
- chemical: add atlas-ezo-sensor initial support commit 
- chemical: atlas-sensor: add RTD-SM module support commit 
- imu: Add support for adis16475 commit 
- imu: inv_mpu6050: add debugfs register r/w interface commit 
- imu: st_lsm6dsx: Add sensor hub device LIS3MDL commit 
- light: cm32181: Add support for ACPI enumeration commit 
- light: cm32181: Add support for the CM3218 commit 
- magnetometer: ak8974: add Alps hscdtd008a commit 
- proximity: Add driver support for vcnl3020 proximity sensor commit 
- vcnl: Add interrupts support for VCNL4010/20 commit, commit, commit, commit, commit 
12.16. Multi Function Devices (MFD)
- Add Gateworks System Controller core driver commit 
- Add support for PMIC MT6360 commit 
- mp2629: Add support for mps battery charger commit 
12.17. Pulse-Width Modulation (PWM)
- Add support for Azoteq IQS620A PWM generator commit 
- jz4740: Add support for the JZ4725B commit 
- sun4i: Support direct clock output on Allwinner A64 commit 
- tegra: Support dynamic clock frequency configuration commit 
12.18. Inter-Integrated Circuit (I2C + I3C)
- Add Qualcomm CCI I2C driver commit 
- cadence: Added slave support commit 
- designware: Add Baikal-T1 System I2C support commit 
- designware: Allow slave mode for PCI enumerated devices commit 
- iproc: add support for SMBUS quick cmd commit 
- mediatek: Add i2c ac-timing adjust support commit 
- npcm7xx: Add Nuvoton NPCM I2C controller driver commit 
- npcm7xx: Add support for slave mode for Nuvoton commit 
- pxa: implement generic i2c bus recovery commit 
- slave-eeprom: add support for 24c512 EEPROMs commit 
- tegra: Add support for the VI I2C on Tegra210 commit 
12.19. Hardware monitoring (hwmon)
- Add amd_energy driver to report core and package energy sensors, based on RAPL MSR for AMD family 17h and above CPUs commit, commit 
- ina2xx: Implement alert functions commit 
- k10temp: Add AMD family 17h model 60h PCI match commit 
- lm70: Add support for ACPI commit 
- lm90: Add max6654 support to lm90 driver commit 
- nct7904: Add watchdog function commit 
- pmbus: Driver for Maxim MAX16601 commit 
- Add Gateworks System Controller support commit 
- hwmon: Add Baikal-T1 SoC Process, Voltage and Temp sensor support commit, commit 
- Add Baikal-T1 PVT sensor driver commit 
12.20. General Purpose I/O (gpio)
12.21. Leds
- Add aw2013 driver commit 
- Add sgm3140 driver commit 
- ariel: Add driver for status LEDs on Dell Wyse 3020 commit 
12.22. DMA engines
- idxd: export hw version through sysfs commit 
12.23. Cryptography hardware acceleration
- chcr: support for 48 byte key_len in aes-xts commit 
- chtls: IPv6 support for inline TLS commit 
- crypto/nx: Enable GZIP engine and provide userpace API commit, commit, commit, commit, commit, commit, commit 
- ccp: Add support for SEV-ES to the PSP driver commit 
- hisilicon: add debugfs for DFX commit, commit, commit, commit, commit, commit, commit 
- hisilicon: add controller reset support commit, commit, commit, commit, commit 
- hisilicon: add vfs_num module parameter for hpre/sec commit 
12.24. PCI
- Add Loongson PCI Controller support commit 
- Add endpoint driver for R-Car PCIe controller commit, commit, commit, commit, commit, commit, commit, commit 
- P2PDMA: Add AMD Zen Raven and Renoir Root Ports to whitelist commit 
- aardvark: Add PHY support commit 
- rcar: Add endpoint mode support commit 
- rcar: Add suspend/resume commit 
- uniphier: Add Socionext UniPhier Pro5 PCIe endpoint controller driver commit 
12.25. Non-Transparent Bridge (NTB)
- intel: Add Icelake (gen4) support for Intel NTB commit 
12.26. Thunderbolt
- Add support for Intel Tiger Lake commit 
12.27. Clock
- Add Baikal-T1 SoC Clock Control Unit support commit, commit, commit, commit 
- Ingenic: Add CGU driver for X1830 commit 
- clk-si5341: Add support for the Si5345 series commit 
- intel: Add CGU clock driver for a new SoC commit 
- mediatek: Add MT6765 clock support commit 
- mmp2: Enable Audio and GPU on MMP2 and MMP3 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- mmp2: Add audio clock controller driver commit 
- Add the missing clock drivers and dts nodes to enable the GPU on both SM8150 and SM8250
- qcom: gcc-msm8939: Add MSM8939 Generic Clock Controller commit 
- qcom: gcc: Add GPU and NPU clocks for SM8150 commit 
- qcom: gcc: Add missing UFS clocks for SM8150 commit 
- renesas: cpg-mssr: Add R8A7742 support commit 
- socfpga: agilex: add clock driver for the Agilex platform commit 
- tegra: Add custom CCLK implementation commit 
- tegra: Implement Tegra210 EMC clock commit 
- vc5: Add support for IDT VersaClock 5P49V6965 commit 
- timer-ti-dm: Add clockevent and clocksource support commit 
12.28. PHY ("physical layer" framework)
- Add driver for Qualcomm IPQ40xx USB PHY commit 
- cadence: salvo: add salvo phy driver commit 
- intel: Add driver support for ComboPhy commit 
- qcom-qmp: Add QMP V3 USB3 PHY support for SC7180 commit 
- qcom-qmp: Add SM8150 QMP USB3 PHY support commit 
- qcom-snps: Add SNPS USB PHY driver for QCOM based SOCs commit 
- ti: am654: add support for USB super-speed commit, show up in regmap debugfs commit 
12.29. EDAC (Error Detection And Correction)
- amd64: Add AMD family 17h model 60h PCI IDs commit 
12.30. 1-Wire (W1)
- w1_therm
12.31. Firmware
- xilinx: Add xilinx specific sysfs interface 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 
- SCMI Notifications Core Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- imx: support SCU channel type commit, commit, commit, commit 
12.32. Various
- habanalabs - Add GAUDI ASIC support. Similar to GOYA, GAUDI includes a set of eight TPC cores, a GEMM engine and DMA channels to move data between host and different memories of the ASIC. Each engine has a hardware queue manager (QMAN) attached to it, which exposes 4 streams to allow complex programs with control flows (in GOYA you had 1 stream per QMAN) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit 
- Add INFO IOCTL opcode for time sync information commit 
- Support hwmon_reset_history attribute commit 
- Add signal/wait to CS IOCTL operations commit, commit, commit, commit 
- Enable trace data compression (profiler) commit 
 
- Add Baikal-T1 SoC APB/AXI/L2 drivers commit, commit, commit, commit, commit 
- bus: Add driver for Integrator/AP logic modules commit 
- fpga: dfl: fme: add performance reporting support commit, commit 
- fpga: dfl: support multiple opens on feature device node commit 
- interconnect: Add imx support via devfreq commit, commit, commit, commit, commit 
- irqchip: Three Loongson irqchip support commit, commit, commit, commit, commit, commit 
- iommu: Add Allwinner H6 IOMMU driver commit 
- irqchip: RISC-V per-HART local interrupt controller driver commit 
- mailbox: Add support for Qualcomm IPCC commit 
- mailbox: imx: Support runtime PM commit 
- mailbox: qcom: Add ipq6018 apcs compatible commit 
- mailbox: sprd: Add Spreadtrum mailbox driver commit 
- mei: me: add tiger lake point device ids for H platforms commit 
- mfd: Add support for the MediaTek MT6358 PMIC commit 
- misc: pci_endpoint_test: Add Device ID for RZ/G2E PCIe controller commit 
- mptcp: add new sock flag to deal with join subflows commit 
- of: reserved-memory: Support lookup of regions by name commit 
- of: reserved-memory: Support multiple regions per device commit 
- opp: Add support for parsing interconnect bandwidth commit 
- opp: Expose bandwidth information via debugfs commit 
- pinctrl: imx: Add imx8dxl driver commit 
- ptp: Add adjphase function to support phase offset control commit 
- remoteproc: qcom: Add callbacks for remoteproc events commit, commit, commit 
- remoteproc: Add PAS and MSA based Modem support commit, commit, commit, commit, commit, commit, commit 
- remoteproc: Add support for runtime PM commit 
- remoteproc: ingenic: Added remoteproc driver commit 
- remoteproc: qcom: pas: Add SM8250 PAS remoteprocs commit 
- reset: hi6220: Add support for AO reset controller commit 
- reset: imx7: Add support for i.MX8MP SoC commit 
- scs: Add support for Clang's Shadow Call Stack (SCS) commit 
- spi: spidev_test: Add support for Octal mode data transfers commit 
- tee
13. List of Pull Requests
