Size: 82370
Comment: add secmark article
|
Size: 881
Comment: converted to 1.6 markup
|
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 James Morris article] 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)] * Dock driver [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a5e1b94008f2a96abf4a0c0371a55a56b320c13e (commit)] === Generic IRQ layer === This is Yet More Generalization of the IRQ 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)] * OMAP: 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)] * OMAP: Readd Amstrad Delta USB support [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0711615290510bfba11c3f4eabcde6ac92c0766e (commit)] * OMAP: Add GPMC support for OMAP2 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4bbbc1adc2095c6504a556819dd8842135df300b (commit)] * OMAP: 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)] * 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)] * Add 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_4.14)>> |
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 4.14 has been released on 12 Nov 2017.
Summary: This release includes support for bigger memory limits in x86 hardware (128PiB of virtual address space, 4PiB of physical address space); support for AMD Secure Memory Encryption; a new unwinder that provides better kernel traces and a smaller kernel size; a cgroups "thread mode" that allows resource distribution across the threads of a group of processes; support for the zstd compression algorithm has been added to Btrfs and Squashfs; support for zero-copy of data from user memory to sockets; better asynchronous buffered I/O support; support for Heterogeneous Memory Management that will be needed in future GPUs; better cpufreq behaviour in some corner cases; Longer-lived TLB entries by using the PCID CPU feature; asynchronous non-blocking buffered reads; and many new drivers and other improvements.
Contents
-
Prominent features
- Bigger memory limits
- Add support for AMD Secure Memory Encryption
- Better kernel traces with the ORC unwinder
- zstd compression in Btrfs and Squashfs
- Zero-copy from user memory to sockets
- Heterogeneous Memory Management for future GPUs
- Asynchronous buffered I/O support
- Better cpufreq coordination with SMP
- Control Groups thread mode
- Longer-lived TLB Entries with PCID
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Security
- Networking
- Architectures
-
Drivers
- Graphics
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- ACPI, EFI, cpufreq, thermal, Power Management
- Real Time Clock (RTC)
- Voltage, current regulators, power capping, power supply
- 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)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Clock
- Various
- List of merges
- Other news sites
1. Prominent features
1.1. Bigger memory limits
Original x86-64 was limited by 4-level paging to 256 TiB of virtual address space and 64 TiB of physical address space. People are already bumping into this limit: some vendors offers servers with 64 TiB of memory today. To overcome the limitation upcoming hardware will introduce support for 5-level paging. It is a straight-forward extension of the current page table structures adding one more layer of translation. It bumps the limits to 128 PiB of virtual address space and 4 PiB of physical address space. This "ought to be enough for anybody" ©.
On x86, 5-level paging enables 56-bit userspace virtual address space. Not all user space is ready to handle wide addresses. It's known that at least some JIT compilers use higher bits in pointers. It collides with valid pointers with 5-level paging and leads to crashes. To mitigate this, the Linux kernel will not allocate virtual address space above 47-bit by default. Userspace can ask for allocation from full address space by specifying hint address above 47-bits.
Recommended LWN article: Five-level page tables
Code: commit, commit, commit, commit, merge
1.2. Add support for AMD Secure Memory Encryption
Secure Memory Encryption can be used to mark individual pages of memory as encrypted through the page tables. A page of memory that is marked encrypted will be automatically decrypted when read from DRAM and will be automatically encrypted when written to DRAM. Secure Memory Encryption can therefore be used to protect the contents of DRAM from physical attacks on the system.
Recommended LWN article: Two approaches to x86 memory encryption
AMD Memory encryption whitepaper: link
Code: 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
1.3. Better kernel traces with the ORC unwinder
This release includes a new "unwinder". An "unwinder" is what prints the list of functions (aka. stack trace, callgraph, call stack...) that have been executed before reaching a determinate point of the code, and it's used, for example, the list of functions that lead to a crash when a kernel oopses. The new unwinder is called ORC, an alias for "Oops Rewind Capability", and has been developed as an simpler alternative to the DWARF debuginfo format.
Linux already has an unwinder, and while it usually works well, it isn't reliable in all situations, which causes troubles for modern functionality like live patching that requires completely reliable stack traces. It also requires a functionality called "frame pointers" (CONFIG_FRAME_POINTERS) to print complete call stacks. Frame pointers make GCC add instrumentation code to every function in the kernel, which increases the size of the kernel executable code by about 3.2%, resulting in a broad kernel-wide slowdown, and more for some workloads. This option is enabled by default in some Linux distros.
In contrast, the ORC unwinder does not need to insert code anywhere so it has no effect on text size or runtime performance, because the debuginfo (about 2-4MiB) is placed out of band. So the ORC unwinder provides a nice performance improvement across the board compared with frame pointers, while at the same time having reliable stack traces.
Recommended LWN article: The ORCs are coming
Recommended article: The Linux x86 ORC Stack Unwinder
1.4. zstd compression in Btrfs and Squashfs
zstd offers a wide variety of compression speed and quality trade-offs. It can compress at speeds approaching lz4, and quality approaching lzma. zstd decompressions at speeds more than twice as fast as zlib, and decompression speed remains roughly the same across all compression levels. Because it is a big win in speed over zlib and in compression ratio over lzo, FB has been using it in production with great results. Support has also been added for squashfs. For benchmark numbers see the links.
Project page: https://github.com/facebook/zstd
Code: commit, commit, commit, commit
1.5. Zero-copy from user memory to sockets
Copying large buffers between user process and kernel can be expensive. Linux supports various interfaces that eschew copying, such as sendpage(2) and splice(2). The MSG_ZEROCOPY socket flag extends the underlying copy avoidance mechanism to common socket send calls. Copy avoidance is not a free lunch. As implemented, with page pinning, it replaces per byte copy cost with page accounting and completion notification overhead. As a result, MSG_ZEROCOPY is generally only effective at writes over around 10 KB.
Recommended LWN article: Zero-copy networking
Documentation: MSG_ZEROCOPY
Netdev talk: sendmsg copy avoidance with MSG_ZEROCOPY
1.6. Heterogeneous Memory Management for future GPUs
Today device driver expose dedicated memory allocation API through their device file, often relying on a combination of IOCTL and mmap calls. The device can only access and use memory allocated through this API. This effectively split the program address space into object allocated for the device and useable by the device and other regular memory (malloc, mmap of a file, share memory, ...) only accessible by CPU (or in a very limited way by a device by pinning memory). Allowing different isolated component of a program to use a device thus require duplication of the input data structure using device memory allocator. This is reasonable for simple data structure (array, grid, image, ...) but this get extremely complex with advance data structures. This is becoming a serious limitation on the kind of work load that can be offloaded to device like GPU.
New industry standard like C++, OpenCL or CUDA are pushing to remove this barrier. This require a shared address space between GPU device and CPU so that GPU can access any memory of a process (while still obeying memory protection like read only). This kind of feature is also appearing in various other operating systems. Heterogeneous Memory Management is a set of helpers to facilitate several aspects of address space sharing and device memory management.
Recommended LWN article: Heterogeneous memory management
Documentation: Documentation/vm/hmm.txt
Code: commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
1.7. Asynchronous buffered I/O support
The buffered I/O path in Linux can block in some situations. Using a threadpool to emulate non-blocking operations on regular buffered files is a common pattern today (samba, libuv, etc...) Applications split the work between network bound threads (epoll) and IO threadpool. Not every application can use sendfile syscall (TLS / post-processing). This common pattern leads to increased request latency. Latency can be due to additional synchronization between the threads or fast (cached data) request stuck behind slow request (large / uncached data).
In this release, the preadv2(2) syscall with RWF_NONBLOCK will let userspace applications bypass enqueuing operation in the threadpool if it's already available in the pagecache.
Code: commit, commit, commit, commit
1.8. Better cpufreq coordination with SMP
In Linux, notifications of task scheduler events are sent to the cpufreq subsystem, so that it can increase the frequency if needed, and achieve good interactivity. However, the cpufreq drivers are not called when the events are happening in different CPUs, for example, a new process being created in another CPU. This release makes task scheduler to update the cpufreq policies for remote CPUs as well. The schedutil, ondemand and conservative governors are updated to process cpufreq updates for remote CPUs (the intel_pstate driver is updated to always reject them).
Recommended LWN article: CPU frequency governors and remote callbacks
1.9. Control Groups thread mode
In this release, cgroup v2 supports thread granularity, to support use cases requiring hierarchical resource distribution across the threads of a group of processes. By default, all threads of a process belong to the same cgroup, which also serves as the resource domain to host resource consumptions which are not specific to a process or thread. The thread mode allows threads to be spread across a subtree while still maintaining the common resource domain for them.
Recommended LWN article: A milestone for control groups
Code: commit, commit, commit, commit, commit, commit
1.10. Longer-lived TLB Entries with PCID
PCID is a hardware feature that has been available on Intel CPUs and that it attaches an address space tag to TLB entries and thus allows the hardware to skip TLB flushes when it context-switches. x86's PCID is far too short to uniquely identify a process, and it can't even really uniquely identify a running process because there are monster systems with over 4096 CPUs. To make matters worse, past attempts to use all 12 PCID bits have resulted in slowdowns instead of speedups.
This release uses PCID differently. It uses a PCID to identify a recently-used mm on a per-cpu basis. An mm has no fixed PCID binding at all; instead, it is given a fresh PCID each time it's loaded except in cases where the kernel wants to preserve the TLB, in which case it reuses a recent value.
Code: commit, commit, commit, commit, commit, commit, commit, commit
2. Core (various)
Asynchronous I/O: non-blocking buffered reads (FEATURED) commit, commit, commit, commit
- Control Groups (cgroup)
Implement cgroup v2 thread mode (FEATURED) commit, commit, commit, commit, commit, commit
Adds a new cgroupfs mount option, cpuset_v2_mode, to enable cpuset controller to use v2 behavior in a v1 cgroup commit, commit
cgroup: introduce an ability to control the size of cgroup hierarchy. The cgroup.max.descendants file allows to set the maximum allowed number of descendant cgroups, the cgroup.max.depth file controls the maximum depth of the cgroup tree. A cgroup.stat file is added with some stats commit, commit, commit, commit
cpufreq: schedutil: Make iowait boost more energy efficient by doubling the boost for every consecutive iowait update, instead of going directly to the maximum commit
- gcc plugins
PM: docs: Describe high-level PM strategies and sleep states commit
futex: Allow for compiling out PI support commit
Remove gperf usage from toolchain commit
- IRQ
ipc: optimize semget/shmget/msgget for lots of keys commit
lockdep: Add 'cross-release' support, which allows APIs like completions or page locks, where it's not the 'owner' who releases the lock, to be tracked too commit, commit, commit,commit
Add zstd compression and decompression (FEATURED) commit
Add xxhash hash algorithms (needed by zstd) commit
Extend the sys_membarrier(2) ABI with the MEMBARRIER_CMD_PRIVATE_EXPEDITED variant. It executes faster than the non-expedited variant (no blocking), and it also works on NOHZ_FULL configurations commit
prctl: Allow local CAP_SYS_ADMIN changing exe_file, used by checkpointing software commit
- task scheduler
Call the cpufreq callbacks for remote CPUs as well as local (FEATURED) commit, commit
Hotplug state fail injection commit
Improve the interrupt and rescheduling latency in systems that have a very long wakeup list commit, commit
Add debugfs knob for "sched_debug" commit
Show task state in /proc/sched_debug commit
objtool: Add ORC unwind table generation (FEATURED) commit
Greatly improve quota scalability (100% improvement for file creation and about 50% improvement for file unlink in some benchmarks) 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
driver core: emit uevents when device is bound to a driver commit
power management: Extend generic power domain debugfs commit
firmware: delete in-kernel firmware commit
3. File systems
- BTRFS
Add zstd support (FEATURED) commit
Allow a degraded read-write mount if all the raid profile constraints are met commit, commit
Improve ssd allocation algorithms commit
Allow defrag compress to override NOCOMPRESS attribute commit
Convert prelimary reference tracking to use rbtrees (prep work for better extent reference tracking) commit
Deprecate userspace transaction ioctls commit
- EXT4
- XFS
Disable per-inode DAX flag, as it can crash commit
- F2FS
Support F2FS_IOC_FS{GET,SET}XATTR commit
Support inode checksum commit
Introduce discard_granularity sysfs entry commit
Support project quota commit
Support journalled quota commit
Add app/fs io stat commit
Enhance on-disk inode structure scalability commit
Introduce gc_urgent mode for background GC commit
- CIFS
- SQUASHFS
Add zstd support (FEATURED) commit
- AUTOFS4
4. Memory management
Heterogeneous Memory Management (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Second step of Transparent Huge Page swap optimization. In the first step, the splitting huge page is delayed from almost the first step of swapping out to after allocating the swap space for the THP and adding the THP into the swap cache. In the second step, the splitting is delayed further to after the swapping out finished. Swap out throughput of THP improves 42% in some benchmarks commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Virtual memory based swap readahead. The traditional approach is readahead based on the placement of pages in the swap device; this release does swap readahead based on the placement of swapped pages in virtual memory. This approach causes extra overhead in traditional HDDs, which is why it's only enabled for SSDs. A sysfs knob, /sys/kernel/mm/swap/vma_ra_enabled, has been added that allows to enable it manually; swap readahead statistics are also available commit, commit, commit, commit, commit
percpu: replace percpu area map allocator with bitmap allocator. There now exist use cases that allocate a million or more objects, which made the previous implementation inadequate 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
Memory hotplug: remove zone restrictions and allow explicit onlining type on any memblock, regardless of the physical adress commit, commit
Separate NUMA statistics from zone statistics for improved scalability commit, commit, commit
Transparent huge pages migration without breaking the huge page first commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hugetlb: when clearing a huge page from the begin to the end, it is possible that the begin of the huge page is evicted from the CPU cache, and it is possible for the application to access the begin of the huge page after clearing the huge page. This release clears the huge page from the end to the beginning commit
madvise(2): introduce MADV_WIPEONFORK, which result in a memory area being empty in the child process after fork. It differs from MADV_DONTFORK in that if a child process accesses memory that was MADV_WIPEONFORK, it will get zeroes, but the address ranges are still valid. It only works on private, anonymous VMAs. It is similar to the OpenBSD minherit syscall with MAP_INHERIT_ZERO commit, commit
swap: choose swap device according to numa node to improve performance commit
shmem: add hugetlbfs support to memfd_create(2), adding a new flag, MFD_HUGETLB. It is useful for the Oracle garbage collection commit
Add /proc/pid/smaps_rollup, a new proc file. Some systems (eg Android) regularly samples the memory usage in /proc/pid/smaps to determine aggregate memory statistics (e.g., total PSS) of a process. For very large processes, that can be too slow, as printing the information in /proc/pid/smaps can be too slow. The new file contains most of the fields of /proc/pid/smaps, but instead of a set of fields for each VMA, it contains one synthetic smaps-format entry representing the whole process. In the single smaps_rollup synthetic entry, each field is the summation of the corresponding field in all of the real-smaps VMAs. The same format is preserved so thatuserspace parsers can repurpose parsers with minimal fuss commit
SLUB: add free list pointer obfuscation inspired from PaX. It adds nearly zero overhead and frustrates the very common heap overflow exploitation method of overwriting freelist pointers commit
SLUB: add a naive detection of double free or corruption similar to "fasttop" check in GNU C Library allocator commit
userfaultfd: enable zeropage support for shmem commit, commit, commit, commit, commit, commit, commit
userfaultfd: allow to request for a signal to the faulting process, instead of the page-fault event. Dealing with page-fault event using a monitor thread can be an overhead in these cases commit
userfaultfd: provide pid in userfault msg, it could be useful for calculating downtime during postcopy live migration per vCPU commit, commit
zRam: support writing incompressible pages to disk commit, commit, commit, commit, commit, commit, commit, commit, commit
z3fold: use per-cpu unbuddied lists for improved scalability commit
5. Block layer
Add a DAX common 4k zero page commit, commit, commit, commit, commit
bfq: boost throughput with flash-based non-queueing devices commit
Device Mapper: dm integrity: count and display checksum failures commit
loop: add ioctl for changing logical block size commit
drbd: new disk-option disable-write-same commit
null_blk: add configfs interface commit, add interface to power on disk commit, badbblocks support commit, bandwidth control commit, emulate cache commit, support discard commit, support memory backed store commit
6. Tracing, perf and BPF
- perf
Record the branch type and then show statistics and info about in callchain entries. A new option save_type is added in --branch-filter option for perf record. It is also possible now for --branch-history to work without callgraphs commit, commit, commit, commit, commit, commit, commit, commit
Add the new sample type for physical address to allow the tracing/profiling of physical memory addresses (with new option --phys-data), where the PMU supports it commit, commit, commit, commit, commit
Implement a visual marker for fused x86 instructions in the annotate TUI browser, available now in 'perf report' commit, commit
Export some PMU capability details in the new /sys/bus/event_source/devices/cpu/caps/ sysfs directory commit
Add initial support for namespaces, using setns to access files in namespaces, grabbing their build-ids, etc commit, commit, commit, commit, commit
pipe mode: process tracing data in 'perf annotate' pipe mode commit
perf annotater: Support --show-nr-samples option commit, commit
perf annotate browser: Circulate percent, total-period and nr-samples view commit
perf buildid-cache: Cache debuginfo commit
perf report: Enable finding kernel inline functions commit
perf script: Add support for exporting to sqlite3 commit
perf tools: Add support for printing new mem_info encodings commit
- BPF
Add support for sys_enter_* and sys_exit_* tracepoints commit
Allow selecting numa node during map creation commit, commit
Add new jump instructions (BPF_J{LT,LE,SLT,SLE) to eBPF in order to reduce register pressure by avoiding BPF_J{GT,GE,SGT,SGE} rewrites and result in shorter BPF programs, less stack usage and less verification complexity commit, commit, commit, commit, commit, commit, commit, commit, commit
Add bpf device maps and XDP_REDIRECT, which can be used to build arbitrary switching frameworks using XDP commit, commit, commit, commit, commit, commit, commit, commit, commit
Implements a sockmap and socket redirect helper using a model similar to XDP netdev redirect. A sockmap is a BPF map type that holds references to sock structs. Then with a new sk redirect bpf helper BPF programs can use the map to redirect skbs between sockets. To use this infrastructure a new BPF program BPF_PROG_TYPE_SK_SKB is added that allows users to reference sock details, such as port and ip address fields, to build useful socket layer program commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add option to set mark and priority in addition to bound device for newly created sockets. Also, allow the bpf programs to use the get_current_uid_gid helper meaning socket marks, priority and device can be set based on the uid/gid of the running process commit, commit, commit, commit, commit, commit, commit
7. Virtualization
XEN: introduce the frontend for the newly introduced PV Calls procotol commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hv_sock: implements Hyper-V transport for Virtual Sockets (AF_VSOCK) commit
8. Security
- seccomp
Improved logging: admins can permit or quiet logging of specific seccomp actions; applications can request logging of all actions (except for RET_ALLOW); it makesit possible for devsto request logging of specific syscalls commit, commit, commit, commit, commit, commit
Implement SECCOMP_RET_KILL_PROCESS action (SECCOMP_RET_KILL is aliased to SECCOMP_RET_KILL_THREAD) commit, commit, commit, commit
Introduce v3 namespaced file capabilities that allows to change file capabilities inside a namespace, without leaking the capability outside of the namespace. For more information, read the recommended LWN article. commit
exec: Use sane stack rlimit under secureexec commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Selinux
audit: Reduce overhead using a coarse clock commit
Extract early boot entropy from the passed cmdline commit
9. Networking
Introduce zerocopy socket send flag MSG_ZEROCOPY (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Support RX checksum with IPsec crypto offload for esp4/esp6 commit, commit
Generic Routing Encapsulation: Add ERSPAN type II tunnel support. One of the purposes is for Linux box to be able to receive ERSPAN monitoring traffic sent from the Cisco switch, by creating a ERSPAN tunnel device. In addition, the patch also adds ERSPAN TX, so Linux virtual switch can redirect monitored traffic to the ERSPAN tunnel device commit
IPv6 Segment Routing
Add support for advanced local segment processing, as specified in most recent specifications of IPv6 SR commit, commit, commit, commit, commit
Support encapsulation of IPv4 packets commit
Implements the T.Encaps.L2 SR function, enabling to encapsulate an L2 Ethernet frame within an IPv6+SRH packet commit
Update the seg6local lightweight tunnel, and mainly implement four new actions: End.T, End.DX2, End.DX4 and End.DT6 commit, commit, commit
sched actions: improve dump performance by adding support for filtering based on time since last used commit, commit, commit, commit
NCSI: VLAN Filtering Support commit
unix sockets: drop obsolete fd-recursion limits. All unix sockets now account inflight FDs to the respective sender. There is no known way for a local user to exceed those limits or exploit the accounting commit
UDP: Allow to switch off UDP-based tunnel offloads per device commit, commit, commit, commit, commit, commit
Distributed Switch Architecture: learning static FDB entries via the switchdev notification chain rather then by using bridge bypass SELF flag commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv6: optimization: avoid overhead when no custom FIB rules are installed commit
IPv6: Add sysctl for per namespace flow label reflection commit
Allow IPsec GSO for local sockets commit
Allow generic XDP to work on virtual devices commit
Network Service Header (NSH) is a new protocol for service function chaining, it can be handled as a L3 protocol like IPv4 and IPv6; Eth + NSH + Inner packet or VxLAN-gpe + NSH + Inner packet are two typical use cases commit, commit, commit, commit
- Infiniband
RDMA Netlink Device Client, needed to properly integrate coming RDMAtool into iproute2 package which is based on netlink commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New ioctl API for the RDMA ABI merge, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cma: Set default gid type to RoCEv2 commit
Hardware tag matching support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ipoib: Enable ioctl for to IPoIB rdma netdevs commit
ethtool: add support for forward error correction mode setting on a link commit
geneve: add rtnl changelink support commit
macvlan: add offload features for encapsulation commit
tap: XDP support commit
- netfilter
netfilter: nf_tables: support for recursive chain deletion commit, commit, commit
xt_hashlimit: add rate match mode that allows matching on the current packet/byte rate without rate limiting. The main difference between the existing algorithm and the new one is that the existing algorithm rate-limits the flow whereas the new algorithm classifies the flow based on whether it is above or below a certain rate commit
nftables: tcp mss mangling support commit, commit, commit, commit
nftables: Attach process info to NFT_MSG_NEWGEN notifications, this is helpful for 'nft monitor' to track which process caused a given change to the ruleset commit
nftables: add FIB expression to the netdev table. The lookup will be delegated to the IPv4 or IPv6 FIB depending on the protocol of the packet commit
nft_limit: Add a stateful limit named object type, this allows to create limit policies that you can identify via name commit
- TCP
- Transformation (xfrm)
Support setting an output mark. On systems that use mark-based routing (eg Android) it may be necessary for routing lookups to use marks in order for packets to be routed correctly commit
Add support for network devices capable of removing the ESP trailer commit
Remove flow cache (no longer needed) commit
Add xdst pcpu cache commit
irda: move to staging, will be removed in future releases commit, commit, commit
Remove software UDP fragmentation offload code. gives little other than bugs commit, commit, commit, commit
10. Architectures
- ARM
eBPF JIT compiler commit
crypto: ghash: add NEON accelerated fallback for vmull.p64 commit
coresight tmc: Add support for Coresight SoC 600 components commit, commit
- Device Tree Sources (both 32 and 64 bit)
Qualcomm IPQ8074 commit
Marvell Armada 8080 commit
Uniphier PXs3 commit
TI AM335x Moxa UC-8100-ME-T open platform commit
TI AM57xx Beaglebone X15 Rev C commit
Broadcom Raspberry Pi Zero W commit
Gemini-based D-Link DIR-685 router commit
Toradex Apalis module + Apalis and Ixora carrier boards commit, commit
Freescale i.MX53-based Beckhoff CX9020 Embedded PC commit
A64-OLinuXino commit
Rockchip RK3329 Pine64/Rock64 board support commit
Haikou baseboard with RK3399-Q7 SoM commit
RK3399 Sapphire module on Excavator carrier (RK3399 reference design) commit, commit
Theobroma Systems RK3399-Q7 SoM commit
ZTE ZX296718 PCBOX Board commit
BCM53573: Add Broadcom BCM947189ACDBMR board support commit
a64: add DTSI file for AXP803 PMIC commit
Add dts file for MT7622 reference board variant 1 commit, commit
renesas: Add Renesas Draak board support commit
dts: uniphier: remove sLD3 SoC support commit
- ARM64
VMAP_STACK support, allowing the kernel stacks to be allocated in the vmalloc space with a guard page for trapping stack overflows commit, commit
Initial support for persistent memory on ARM: DC CVAP instruction exposed to user space (HWCAP) and the in-kernel pmem API implemented commit, commit, commit
Support mremap() for vDSO commit
perf: add support for Cortex-A35 commit, add support for Cortex-A73 commit
perf: Allow more than one cycle counter to be used commit
- crypto
Add non-SIMD generic fallback for crct10dif commit, aes-ce-cipher commit, aes-blk, commit, ghash-ce commit, arm64/sha2-ce commit, sha1-ce commit, aes-bs commit, aes-ce-ccm commit, crc32 commit
gcm: implement native driver using v8 Crypto Extensions commit
ghash - add NEON accelerated fallback for 64-bit PMULL commit
raid6: use faster multiplication for ARM NEON delta syndrome commit, implement recovery using ARM NEON intrinsics commit
- X86
Enable PCID optimized TLB flushing on newer Intel CPUs (FEATURED) commit, commit, commit, commit, commit, commit, commit, commit
Add 5-level paging support (FEATURED) commit, commit, commit, commit
Add 'encrypted memory' support, which is a new hardware feature on upcoming AMD CPUs ('Secure Memory Encryption', SME) (FEATURED) 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
Add the ORC unwinder and asm code unwind hints commit, commit
Implement fast refcount overflow protection. It does not have a noticeable performance impact, but it doesn't have the fuller checking either commit
Complete rewrite of the Cache Quality Monitoring (CQM) facility. The CQM support has been integrated into the Resource Director Technology (RDT) facility, which is the obvious choise as in hardware CQM is part of RDT. This allowed to add Memory Bandwidth Monitoring support on top commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
intel_th: Add Cannon Lake PCH-LP support commit, add Cannon Lake PCH-H support commit, add Cedar Fork PCH support commit, add Lewisburg PCH support commit
intel_rdt: Add command line options for resource director technology commit, turn off most RDT features on Skylake commit
Remove lguest support commit
- KVM
- hyper-v
perf vendor events: Add Skylake server event list commit, commit
- MIPS
- Device Tree Source
Add DWARF unwinding to assembly commit
math-emu: Add severak FP emu debugfs statistics commit, commit, commit
CPS: Detect CPUs in secondary clusters commit
CPS: Cluster support for topology functions commit
bpf: Implement JLT, JLE, JSLT and JSLE ops in the eBPF JIT commit
Remove unused R6000 support commit
- PARISC
- POWERPC
perf: access via perf to a new type of PMU (IMC) on Power9, which can count both core events as well as nest unit events (Memory controller etc) commit, commit, commit, commit
perf vendor events: Add POWER9 PMU events commit
Size of vmalloc area is increased to 56T on 64-bit hash MMU systems. This avoids problems with the percpu allocator on systems with very sparse NUMA layouts commit
random: Use darn instruction for get_random_seed() on Power9 commit
Add support for powercap framework commit, add support to clear sensor groups data commit, support to set power-shifting-ratio commit
Implement STRICT_KERNEL_RWX on PPC32 commit
hugetlb: Add support for reserving gigantic huge pages via kernel command line commit
Enable removal of memory for use in memory tracing commit
Add Power9 scheduler topology, to capture the fact that pairs of cores may share an L2 cache commit
Power9 support for VAS, which is a new mechanism for accessing coprocessors, and initial support for using it with the NX compression accelerator commit, commit, commit, commit, commit, commit, commit, commit
Add emulation for the addpcis instruction commit
Support for guests under PowerVM to use the Power9 XIVE interrupt controller commit
Enable PCI peer-to-peer commit
KVM: Book3S HV: Report storage key support to userspace commit
xmon: Add ISA v3.0 SPRs to SPR dump commit, add AMR, UAMOR, AMOR, IAMR to SPR dump commit
- S390
Add support for IBM z14 machines commit
Add IBM z14 TLB flushing improvements for KVM guests commit, commit
Add support for the TOD clock epoch extension commit
Add NIAI spinlock hints for IBM z14 commit
- KVM
topology: enable/disable dynamically commit
vmcp: make use of contiguous memory allocator commit
dasd: Add discard support for FBA devices commit, blk-mq conversion commit, add average request times to dasd statistics commit
- SPARC
- ARC
11. Drivers
11.1. Graphics
Enhanced syncobj APIs (wait/signal/reset/create signalled), useful for Vulkan commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
dma-buf/sync_file: Allow multiple sync_files to wrap a single dma-fence commit
Add YCBCR 4:2:0 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Format modifier/blob plane property added commit
atomic: initial support for asynchronous plane update commit
- bridge
Add Synopsys Designware MIPI DSI host bridge driver commit
- tiny
- i915
- Lots of GEN10/CNL support patches
Add support for drm syncobjs commit
GVT vGPU 48-bit ppgtt support commit
NOA change ioctl commit
CCS (color compression) scanout support commit, commit, commit, commit, commit
Let user specify override VBT via firmware load commit
debugfs: Export per-engine reset count info to debugfs commit, report execlists irq bit in debugfs commit, add slice and subslice information to debugfs commit
- amdgpu
- Vega10 improvements
Command submission overhead improvements commit
amdgpu: Disabling Power Gating for Stoney platform commit
powerplay: add CZ profile support commit
powerplay: add avfs profiling_info_v4_2 support on Vega10 commit, add profile mode for vega10 commit, add support for 3DP 4K@120Hz on vega10 commit, added didt support for vega10 commit, enable ACG feature on vega10 commit
Reduce internal gart to 256M (this does not affect the ttm GTT pool size) commit
Add new gttsize module parameter to configure the size of the GTT domain commit
Expose VM fragment size as module parameter commit
Add vis_vramlimit module parameter to Restrict visible VRAM for testing commit
Add sdma_phase_quantum module parameter to make SDMA phase quantum configurable commit
- amdkfd
- nouveau
- vmwgfx
- msm
Add modeset module param commit
- exynos
NV12MT support commit
- tegra
- sun4i
- omapdrm
- stm
- dw_hdmi
- atmel-hlcdc
Add 8-bit color support commit
- vc4
fbcon: Make fbcon a built-time depency for fbdev commit
fbcon: add fbcon=margin:<color> command line option commit
11.2. Storage
ata: mediatek: add support for MediaTek SATA controller commit
cs5536: add support for IDE controller variant commit
- nvme
- SCSI
hisi_sas: add v2 hw DFX feature commit
hisi_sas: support zone management commands commit
hpsa: add support for legacy boards commit
lpfc: Add Buffer to Buffer credit recovery support commit
qla2xxx: Add LR distance support from nvram bit commit
qla2xxx: Add ability to autodetect SFP type commit
qla2xxx: Add support for minimum link speed commit
qla2xxx: Enable Async TMF processing commit
smartpqi: add in new controller ids commit
smartpqi: add pqi reset quiesce support commit
Show .retries and .jiffies_at_alloc in debugfs commit
cciss: Drop obsolete driver commit
11.3. Drivers in the Staging area
Add driver for Realtek RTL8822BE 802.11ac PCIe wireless network adapters commit, commit, commit, commit, commit, commit, commit
typec: fusb302: Add support for USB2 charger detection through extcon commit
media: cxd2099: Add module parameter for buffer mode commit
pi433: New driver commit
11.4. Networking
- Bluetooth
- Infiniband
mlx4: Add resource utilization support commit
hfi1: Add 16B RC/UC support commit, add 16B UD support commit, add 16B trace support commit, add support to process 16B header errors commit, add support to receive 16B bypass packets commit, add support to send 16B bypass packets commit, add kernel receive context info to debugfs commit
mlx4: Add inline-receive support commit, add support for RSS QP commit, add support for WQ indirection table related verbs commit, add support for WQ related verbs commit, dd user mac FW update support commit
mlx5: Add debug control parameters for congestion control commit, add delay drop configuration and statistics commit, add multicast flow steering support for underlay QP commit, add raw ethernet local loopback support commit, add support for QP with a given source QPN commit, add support for multi underlay QP commit, add support to dropless RQ commit, add raw ethernet local loopback firmware command commit, separate between E-Switch and MPFS commit, commit, add PCIe outbound stalls counters infrastructure commit
mlx5e: Add PCIe outbound stalls counters commit, add RX buffer fullness counters commit, add outbound PCI buffer overflow counter commit, enable local loopback in loopback selftest commit, IPoIB, Add support for get_link_ksettings in ethtool commit, support RSS for GRE tunneled packets commit, support TSO and TX checksum offloads for GRE tunnels commit
qedr: notify user application if DPM is supported commit, notify user application of supported WIDs commit
vmw_pvrdma: Add RoCEv2 support commit
amd-xgbe: Add additional ethtool statistics commit, add hardware features debug output commit, add per queue Tx and Rx statistics commit, add support for VXLAN offload capabilities commit, add support to handle device renaming commit
aquantia: Switch to use napi_gro_receive commit
ath10k: add initial USB support commit, add tdls support for 10.4 firmwares commit, add queue restarts stats counter commit
ath9k: Add Dell Wireless 1802 with wowlan capability commit
bnxt: Add PCIe device IDs for bcm58802/bcm58808 commit, allow the user to set ethtool stats-block-usecs to 0 commit, implement ndo_bridge_{get|set}link methods commit, add TC flower offload flow_alloc/free FW cmds commit, add code to query TC flower offload stats commit, add support for port_attr_get and and get_phys_port_name commit, add support to enable VF-representors commit, add vf-rep RX/TX and netdev implementation commit, add TC flower filter offload support commit
brcmfmac: Add support for CYW4373 SDIO/USB chipset commit
cxgb4: core hardware/firmware support for Forward Error Correction on a link commit, ethtool forward error correction management support commit
dpaa_eth: enable Rx hashing control commit
usb: add device id for TP-LINK UE300 USB 3.0 Ethernet commit
qualcomm: rmnet: Initial implementation commit
fsl/fman: enable FMan Keygen commit
hv_netvsc: Add ethtool handler to set and get UDP hash levels commit
i40e/i40evf: support for VF VLAN tag stripping control commit
ibmvnic: Implement ethtool .get_channels commit, .get_ringparam commit, implement per-queue statistics reporting commit
igb: support BCM54616 PHY commit
iwlwifi: add support of FPGA fw commit, add new PCI ID for 7265D commit, mvm: add debugfs to force CT-kill commit
ixgbe: add initial support for xdp redirect commit
liquidio: added support for ethtool --set-channels feature commit, added support for ethtool --set-ring feature commit, support new firmware statistic fw_err_pki commit
- mlxsw
mvneta: Driver and hardware supports IPv6 offload, so enable it commit
hinic: Initialize hw interface commit
arc_emac: Add support for ndo_do_ioctl net_device_ops operation commit
dsa: mv88e6xxx: add Energy Detect ops commit
stmmac: dwmac-rk: Add rv1108 gmac support commit, add Adaptrum Anarion GMAC glue layer commit, dwmac-rk: Add RK3128 GMAC support commit
fec: Allow reception of frames bigger than 1522 bytes commit
hns3: Add driver for Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer and Hisilicon HNS3 Ethernet Device Support commit, commit, commit, commit, commit, commit, commit, commit, commit
hns: Add self-adaptive interrupt coalesce support in hns driver commit
mvpp2: add support for TX interrupts and RX queue distribution modes commit, software tso support commit
phy: Add rockchip PHY driver support commit
phy: add I2C mdio bus commit
qcom/emac: add software control for pause frame mode commit
qualcomm: rmnet: Implement ndo_get_iflink commit
netvsc: allow controlling send/recv buffer size commit, transparent VF management commit
nfp: add basic SR-IOV ndo functions commit, add ethtool statistics for representors commit, report MAC statistics in ethtool commit
phylink: add in-band autonegotiation support for 10GBase-KR mode commit, add module EEPROM support commit, add phylink infrastructure commit, add support for MII ioctl access to Clause 45 PHYs commit
qed: Add setter APIs support for RX flow classification commit, add support for Energy efficient ethernet commit, add support for vf coalesce configuration commit
qede: Add ethtool support for Energy efficient ethernet commit, add getter APIs support for RX flow classification commit
qtnfmac: implement cfg80211 channel_switch handler commit, implement cfg80211 dump_survey handler commit, implement reporting current channel commit, implement scan timeout commit, introduce counter for Rx underflow events commit
r8152: add Linksys USB3GIGV1 id commit
ravb: add wake-on-lan support via magic packet commit
rndis_host: support Novatel Verizon USB730L commit
rsi: support legacy power save, U-APSD, rf-kill and AP mode commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sfc: Add ethtool -m support for QSFP modules commit, add SFP module support commit, add sfp-bus to bridge between network devices and sfp cages commit
sunvnet: add support for IPv6 checksum offloads commit
wil6210: add statistics for suspend time commit, support FW RSSI reporting commit
11.5. Audio
firewire-motu: add support for MOTU Audio Express commit
hda: Implement mic-mute LED mode enum commit, realtek - Enable jack detection function for Intel ALC700 commit, add Cannonlake PCI ID commit, realtek - Add support for ALC236/ALC3204 commit
ice1712: Add support for STAudio ADCIII commit
- ASoC
Intel: Add Kabylake machine driver for RT5663 commit, Headset button support in kabylake machine driver commit, add Geminilake platform support commit
Intel: cannonlake: Add support commit, commit, commit, commit
Intel: kbl: Add Multi-Playback & Echo-reference commit, commit, commit
tlv320aic32x4: Add support for tlv320aic32x6 commit
codecs: add wm8524 codec driver commit
codecs: msm8916-wcd-analog: add MBHC support commit
cs43130: Add support for CS43130 codec commit
cygnus: Add support for 384kHz frame rates commit
qcom: apq8016-sbc: Add support to Headset JACK commit
rockchip: Add support for DMIC codec commit, add support for DP codec commit
rt5514: Add the I2S ASRC support commit, support the DSP recording continuously after the hotwording triggered commit, support the TDM docking mode commit
samsung: i2s: Support more resolution rates commit
sun4i-i2s: Add support for H3 commit
tlv320aic3x: Support for OCMV configuration commit
11.6. Tablets, touch screens, keyboards, mouses
axp20x-pek: add support for AXP221 PEK commit
PS/2 gpio bit banging driver for serio bus commit
atmel_mxt_ts: add support for reset line commit
elan_i2c: support touchpads with two physical buttons commit
Add power key driver for Rockchip RK805 PMIC commit
Add a driver for PWM controllable vibrators commit
goodix: add support for capacitive home button commit
- HID
multitouch: Support Asus T304UA media keys commit
multitouch: support buttons and trackpoint on Lenovo X1 Tab Gen2 commit
input: map digitizer battery usage commit
asus: Add T100CHI bluetooth keyboard dock special keys mapping commit, add support for T100 touchpad commit, add T100CHI bluetooth keyboard dock touchpad support commit
11.7. TV tuners, webcams, video capturers
v4l: Add packed Bayer raw12 pixel formats commit
Added support for the TerraTec T1 DVB-T USB tuner [IT9135 chipset] commit
adv7180: add missing adv7180cp, adv7180st i2c device IDs commit
camms: Qualcom camss driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
cec-pin: add low-level pin hardware support commit
coda: add h264 and mpeg4 profile and level controls commit
ddbridge: Kconfig option to control the MSI modparam default commit, support MaxLinear MXL5xx based cards (MaxS4/8) commit, support for CineS2 V7(A) and DuoFlex S2 V4 hardware commit
stv0910: add multistream (ISI) and PLS capabilities commit
Add ST STV0910 DVB-S/S2 demodulator frontend driver commit
Add ST STV6111 DVB-S/S2 tuner frontend driver commit
i2c: Add Omnivision OV5670 5M sensor support commit
i2c: adv748x: add adv748x driver commit
omap3isp: add CSI1 support commit
ov5645: Add control to export CSI2 link frequency commit, add control to export pixel clock frequency commit
Add Amlogic Meson AO CEC Controller driver commit
- remote control
s5p-jpeg: Add support for resolution change event commit, decode 4:1:1 chroma subsampling format commit
smiapp: add CCP2 support commit
Add support for CSI-1 and CCP2 busses commit
vsp1: Add pipe index argument to the VSP-DU API commit, add support for header display lists in continuous mode commit, add support for multiple DRM pipelines commit, add support for multiple LIF instances commit, add support for new VSP2-BS, VSP2-DL and VSP2-D instances commit, add support for the BRS entity commit
11.8. Universal Serial Bus
serial: option: add support for D-Link DWM-157 C1 commit
chipidea: Add support for Tegra20/30/114/124 commit
gadget: add RNDIS configfs options for class/subclass/protocol commit, f_hid: {GET,SET} PROTOCOL Support commit, f_midi: add super speed support commit, udc: renesas_usb3: add support for R-Car M3-W commit, renesas_usb3: add debugfs to set the b-device mode commit, renesas_usb3: add support for R-Car H3 ES2.0 commit
xhci: rcar: Add support for R-Car H3 ES2.0 commit
mtu3: add a vbus debugfs interface commit
phy: Add USB charger support commit
xhci: Support enabling of compliance mode for xhci 1.1 commit
11.9. Serial Peripheral Interface (SPI)
loopback-test: implement testing with no CS commit
11.10. Watchdog
11.11. ACPI, EFI, cpufreq, thermal, Power Management
efi: Enable reset attack mitigation commit
- ACPI
- cpufreq
libnvdimm, nfit: export an 'ecc_unit_size' sysfs attribute commit
pm-graph: AnalyzeBoot v2.1 commit, AnalyzeSuspend v4.7 commit
- thermal
11.12. Real Time Clock (RTC)
Add Realtek RTD1295 commit
ds1307: add basic support for ds1341 chip commit
goldfish: Add RTC driver for Android emulator commit
m41t80: remove debug sysfs attribute commit
s35390a: implement ioctls commit
sun6i: Add support for the external oscillator gate commit
11.13. Voltage, current regulators, power capping, power supply
- power/supply:
power: wm831x_power: Support USB charger current limit management commit
- regulator
11.14. Pin Controllers (pinctrl)
Add pinctrl driver for the RK805 PMIC commit
add a Gemini SoC pin controller commit
aspeed: g4: Add USB device and host support commit, g5: Add USB device and host support commit
imx: add imx7ulp driver commit
intel: Add Intel Cannon Lake PCH-H pin controller support commit, add Intel Denverton pin controller support commit, add Intel Lewisburg GPIO support commit
rockchip: Add rk3128 pinctrl support commit
sprd: Add Spreadtrum pin control driver commit
sunxi: add support of R40 to A10 pinctrl driver commit
11.15. Multi Media Card (MMC)
renesas-sdhi: add support for R-Car Gen3 SDHI DMAC commit
dw_mmc-k3: add sd support for hi3660 commit
sdhci-xenon: Support HS400 Enhanced Strobe feature commit
sunxi: Add support for A83T eMMC (MMC2) commit
host: Add CQE interface commit
11.16. Memory Technology Devices (MTD)
create per-device and module-scope debugfs entries commit
nand: hynix: add support for 20nm NAND chips commit
nand: qcom: Support for IPQ8074 QPIC NAND controller commit, support for IPQ4019 QPIC NAND controller commit
spi-nor: add support for Microchip sst26vf064b QSPI memory commit, Add support for Intel Denverton SPI serial flash controller commit
11.17. Industrial I/O (iio)
Add LTC2471/LTC2473 driver commit
accel: st_accel_spi: add support to H3LIS331DL, LIS331DL, LIS3LV02DL commit
adc: Add support for DLN2 ADC commit
adc: New driver for Cirrus Logic EP93xx ADC commit
adc: at91-sama5d2_adc: add hw trigger and buffer support commit
adc: stm32: add optional st,min-sample-time-nsecs commit, add support for lptimer triggers commit
adc:ltc2497: Add support for board file based iio consumer mapping commit
adc: ti-ads1015: add threshold event support commit
chemical: ccs811: Add support for AMS CCS811 VOC sensor commit, add triggered buffer support commit
counter: Add support for STM32 LPTimer commit
dac: stm32: add support for stm32f4 commit
humidity: hts221: support active-low interrupts commit, support open drain mode commit
imu: st_lsm6dsx: support open drain mode commit
magnetometer: add support to LIS2MDL commit, ak8974: support AMI306 variant commit
srf08: add sensor type srf10 commit, add support for srf02 in i2c mode commit, add triggered buffer support commit
trigger: Add STM32 LPTimer trigger driver commit
trigger: stm32-timer: add support for STM32H7 commit
11.18. Multi Function Devices (MFD)
Add ROHM BD9571MWV-M MFD PMIC driver commit
Add STM32 LPTimer driver commit
axp20x: Add support for AXP813 PMIC commit
intel-lpss: Add missing PCI ID for Intel Sunrise Point LPSS devices commit
rk808: Add RK805 support commit
Add support for TPS68470 device commit
11.19. Pulse-Width Modulation (PWM)
Add STM32 LPTimer PWM driver commit
Add ZTE ZX PWM device driver commit
rockchip: Add rk3328 support commit
11.20. Inter-Integrated Circuit (I2C)
Add Intel Cherry Trail Whiskey Cove SMBUS controller driver commit
Add Spreadtrum I2C controller driver commit
altera: Add Altera I2C Controller driver commit
i2c-stm32f7: add driver commit
i801: Add support for Intel Cedar Fork commit
rk3x: add support for rv1108 commit
11.21. Hardware monitoring (hwmon)
aspeed-pwm-tacho) cooling device support commit
jc42: Add support for CAT34TS02C commit, add support for GT30TS00, GT34TS02, and CAT34TS04 commit
ltq-cputemp: add cpu temp sensor driver commit
pmbus: Add IBM Common Form Factor (CFF) power supply driver commit, add debugfs for status registers commit, add support for Intel VID protocol VR13 commit, add support for Texas Instruments tps53679 device commit, lm25066: Add support for TI LM5066I commit
da9052: Add support for TSI channel commit
11.22. General Purpose I/O (gpio)
vf610: add imx7ulp support commit
Add support for TPS68470 GPIOs commit
it87: add support for IT8772F Super I/O commit
Add gpio driver support for ThunderX and OCTEON-TX commit
11.23. Leds
11.24. DMA engines
sun6i: support V3s SoC variant commit
Add driver for Altera / Intel mSGDMA IP core commit
bcm-sba-raid: Add debugfs support commit
ioatdma: Add intr_coalesce sysfs entry commit
dmatest: add support for memset test commit
11.25. Cryptography hardware acceleration
nx: Add P9 NX support for 842 compression engine commit
atmel-ecc - introduce Microchip / Atmel ECC driver commit
axis - add ARTPEC-6/7 crypto accelerator driver commit
brcm - Support more FlexRM rings than SPU engines commit
caam/jr - add support for DPAA2 parts commit
ccp - Add XTS-AES-256 support for CCP version 5 commit, add support for RSA on the CCP commit, introduce the AMD Secure Processor device commit
stm32 - Support for STM32 HASH module commit
sun4i-ss - support the Security System PRNG commit
csrypto: ccp - Expand RSA support for a v5 ccp commit
11.26. PCI
mediatek: Add controller support for MT2712 and MT7622 commit, add MSI support for MT2712 and MT7622 commit
rockchip: Add per-lane PHY support commit
qcom: Add support for IPQ8074 PCIe controller commit
DPC: Add eDPC support commit
layerscape: Add support for ls1088a commit, add support for ls2088a commit
11.27. Clock
sunxi-ng: Add interface to query or configure MMC timing modes commit, support R40 SoC commit, add sun4i/sun7i CCU driver commit
meson: gxbb-aoclk: Add CEC 32k clock commit
axs10x: introduce AXS10X pll driver commit
renesas: rcar-usb2-clock-sel: Add R-Car USB 2.0 clock selector PHY commit, add support for SCCG/Clean peripheral clocks commit, cpg-mssr: Add R8A77995 support commit
ARC: clk: introduce HSDK pll driver commit
mb86s7x: Drop non-building driver commit
stm32h7: Add stm32h743 clock driver commit
at91: add audio pll clock drivers commit
imx-tpm: Add imx tpm timer support commit
11.28. Various
hwrng: mx-rngc - add a driver for Freescale RNGC commit
fpga manager: Add altera-ps-spi driver for Altera FPGAs commit
fpga manager: Add Altera CvP driver commit
iommu/mediatek: Add mt2712 IOMMU support commit
irqchip/armada-370-xp: Enable MSI-X support commit
irqchip/gic-v3: Advertise GICv4 support to KVM commit
irqchip/ls-scfg-msi: Add LS1043a v1.1 MSI support commit, add LS1046a MSI support commit, add MSI affinity support commit
mailbox: bcm-flexrm-mailbox: Add debugfs support commit
MCB: add support for SC31 to mcb-lpc commit
libnvdimm, pfn, dax: show supported dax/pfn region alignments in sysfs commit
of: overlay: add overlay symbols to live device tree commit
phy: phy-mt65xx-usb3: add SATA PHY support commit
phy: qcom-qmp: Add support for IPQ8074 commit
phy: rockchip-inno-usb2: add support of usb2-phy for rv1108 SoCs commit
phy: phy-mt65xx-usb3: add PCIe PHY support commit
phy: sun4i-usb: Support A83T USB PHYs commit
phy: ralink-usb: add driver for Mediatek/Ralink commit
phy: add the mvebu cp110 comphy driver commit
phy: Add an USB PHY driver for the Lantiq SoCs using the RCU module commit
remoteproc: qcom: Add support for SSR notifications commit
remoteproc: imx_rproc: add a NXP/Freescale imx_rproc driver commit
reset: uniphier: remove sLD3 SoC support commit
ARC: reset: introduce HSDKv1 reset driver commit
reset: Add a reset controller driver for the Lantiq XWAY based SoCs commit
rpmsg: glink: Add announce_create ops and preallocate intents commit, add support for transport version negotiation commit, introduce glink smem based transport commit, add rx done command commit, add support for TX intents commit
soc: qcom: GLINK SSR notifier commit
soc: mediatek: add SCPSYS power domain driver for MediaTek MT7622 SoC commit
soc: Add Amlogic SoC Information driver commit
spmi: pmic-arb: add support for HW version 5 commit
tty: serial: owl: Implement console driver commit
serial: stm32: add RTS support commit, add fifo support commit
Introduce 8250_men_mcb commit
tty: goldfish: Implement support for kernel 'earlycon' parameter commit
w1: add hwmon temp support for w1_therm commit, Add 1w slave driver for DS28E05 EEPROM commit
12. List of merges