• Immutable Page
  • Info
  • Attachments

Linux 2 6 25

Linux kernel version 2.6.25 Released 17 April 2008 (full SCM git log)

Summary: 2.6.25 includes support of a new architecture (MN10300/AM33) and the widely used Orion SoCs, a new interface for more accurate measurement of process memory usage, a 'memory resource controller' for controlling the memory usage of groups of processes, realtime group scheduling, a tool for measuring high latencies called latencytop, ACPI thermal regulation, timer event notifications through file descriptors, an alternative MAC security framework called SMACK, an ext4 update, BRK and PIE-executable address space randomization, RCU preemption support, FIFO spinlocks in x86, EFI support in x86-64, a new network protocol called CAN, initial ATI r500 DRI/DRM support, the beginning of the end for tasks stuck in D state, improved device support and many other small improvements.

  1. Important features (AKA: the cool stuff)
    1. Memory Resource Controller
    2. Real Time Group scheduling
    3. RCU Preemption support
    4. FIFO ticket spinlocks in x86
    5. Better process memory usage measurement
    6. timerfd() syscall
    7. SMACK, Simplified Mandatory Access Control
    8. Latencytop
    9. BRK and PIE executable randomization
    10. Controller area network (CAN) protocol support
    11. ACPI thermal regulation/WMI
    12. EXT4 update
    13. MN10300/AM33 architecture support
    14. TASK_KILLABLE
  2. Subsystems
    1. Various
    2. Filesystems
    3. Networking
    4. Crypto
    5. Security
    6. Architecture-specific changes
  3. Drivers
    1. Graphics
    2. SATA/IDE
    3. Sound
    4. SCSI
    5. Network
    6. V4L/DVB
    7. I2C
    8. HID
    9. Input
    10. USB
    11. FireWire
    12. RDMA
    13. Hwmon
    14. MTD
    15. ACPI
    16. RTC/W1
    17. LEDs
    18. Various

1. Important features (AKA: the cool stuff)

1.1. Memory Resource Controller

Recommended LWN article (somewhat outdated, but still interesting): "Controlling memory use in containers"

The memory resource controller is a cgroups-based feature. Cgroups, aka "Control Groups", is a feature that was merged in 2.6.24, and its purpose is to be a generic framework where several "resource controllers" can plug in and manage different resources of the system such as process scheduling or memory allocation. It also offers a unified user interface, based on a virtual filesystem where administrators can assign arbitrary resource constraints to a group of chosen tasks. For example, in 2.6.24 they merged two resource controllers: Cpusets and Group Scheduling. The first allows to bind CPU and Memory nodes to the arbitrarily chosen group of tasks, aka cgroup, and the second allows to bind a CPU bandwidth policy to the cgroup.

The memory resource controller isolates the memory behavior of a group of tasks -cgroup- from the rest of the system. It can be used to:

  • Isolate an application or a group of applications. Memory hungry applications can be isolated and limited to a smaller amount of memory.

  • Create a cgroup with limited amount of memory, this can be used as a good alternative to booting with mem=XXXX.

  • Virtualization solutions can control the amount of memory they want to assign to a virtual machine instance.

  • A CD/DVD burner could control the amount of memory used by the rest of the system to ensure that burning does not fail due to lack of available memory.

The configuration interface, like all the cgroups, is done by mounting the cgroup filesystem with the "-o memory" option, creating a randomly-named directory (the cgroup), adding tasks to the cgroup by catting its PID to the 'task' file inside the cgroup directory, and writing values to the following files: 'memory.limit_in_bytes', 'memory.usage_in_bytes' (memory statistic for the cgroup), 'memory.stats' (more statistics: RSS, caches, inactive/active pages), 'memory.failcnt' (number of times that the cgroup exceeded the limit), and 'mem_control_type'. OOM conditions are also handled in a per-cgroup manner: when the tasks in the cgroup surpass the limits, OOM will be called to kill a task between all the tasks involved in that specific cgroup.

Code: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

1.2. Real Time Group scheduling

Group scheduling is a feature introduced in 2.6.24. It allows to assign different process scheduling priorities other than nice levels. For example, given two users on a system, you may want to to assign 50% of CPU time to each one, regardless of how many processes is running each one (traditionally, if one user is running f.e. 10 cpu-bound processes and the other user only 1, this last user would get starved its CPU time), this is the "group tasks by user id" configuration option of Group Scheduling does. You may also want to create arbitrary groups of tasks and give them CPU time privileges, this is what the "group tasks by Control Groups" option does, basing its configuration interface in cgroups (feature introduced in 2.6.24 and described in the "Memory resource controller" section).

Those are the two working modes of Control Groups. Additionally there're several types of tasks. What 2.6.25 adds to Group Scheduling is the ability to also handle real time (aka SCHED_RT) processes. This makes much easier to handle RT tasks and give them scheduling guarantees.

Documentation: sched-rt-group.txt

Code: (commit 1, 2, 3, 4)

There's serious interest in running RT tasks on enterprise-class hardware, so a large number of enhancements to the RT scheduling class and load-balancer have been merged to provide optimum behaviour for RT tasks.

Code: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)

1.3. RCU Preemption support

Recommended LWN article: "The design of preemptible read-copy-update"

RCU is a very powerful locking scheme used in Linux to scale to very large number of CPUs on a single system. However, it wasn't well suited for low latency,RT-ish workloads, and some parts could cause high latency. In 2.6.25, RCU can be preempted, eliminating that source of latencies and making Linux a bit more RT-ish.

Code: (commit 1, 2)

1.4. FIFO ticket spinlocks in x86

Recommended LWN article: "Ticket spinlocks"

In certain workloads, spinlocks can be unfair, ie: a process spinning on a spinlock can be starved up to 1,000,000 times. Usually starvation in spinlocks is not a problem, and it was thought that it was not too important because such spinlock would become a performance problem before any starvation is noticed, but testing has showed the contrary. And it's always possible to find an obscure corner case that will generate a lot of contention on some lock, and the processor that will grab the lock does it randomly.

With the new spinlocks, the processes grab the spinlock in FIFO order, ensuring fairness (and more importantly, guaranteeing to some point the

Spinlocks configured to run on machines with more than 255 CPUs will use a 32-bit value, and 16 bits when the number of CPUs is smaller (as a bonus, the maximum theoretical limit of CPUs that spinlocks can support is raised up to 65536 processors)

Code: (commit 1, 2)

1.5. Better process memory usage measurement

Recommended LWN article: "How much memory are applications really using?"

Measuring how much memory processes are using is more difficult than it looks, specially when processes are sharing the memory used. Features like /proc/$PID/smaps (added in 2.6.14) help, but it has not been enough. 2.6.25 adds new statistics to make this task easier. A new /proc/$PID/pagemaps file is added for each process. In this file the kernel exports (in binary format) the physical page localization for each page used by the process. Comparing this file with the files of other processes allows to know what pages they are sharing. Another file, /proc/kpagemaps, exposes another kind of statistics about the pages of the system. The author of the patch, Matt Mackall, proposes two new statistic metrics: "proportional set size" (PSS) - divide each shared page by the number of processes sharing it; and "unique set size" (USS) (counting of pages not shared). The first statistic, PSS, has also been added to each file in /proc/$PID/smaps. In this HG repository you can find some sample command line and graphic tools that exploits all those statistics.

Code: (commit 1, 2, 3, 4)

1.6. timerfd() syscall

timerfd() is a feature that got merged in 2.6.22 but was disabled due to late complaints about the syscall interface. Its purpose is to extend the timer event notifications to something else than signals, because doing such things with signals is hard. poll()/epoll() only covers file descriptors, so the options were a BSDish kevent-like subsystem or delivering time notifications via a file descriptor, so that poll/epoll could handle them.

There were implementations for both approaches, but the cleaner and more "unixy" design of the file descriptor approach won. In 2.6.25, a revised API has been finally introduced. The API can be found in this LWN article

Code: (commit)

1.7. SMACK, Simplified Mandatory Access Control

Recommended LWN article: "Smack for simplified access control"

The most used MAC solution in Linux is SELinux, a very powerful security framework. SMACK is an alternative MAC framework, not so powerful as SELinux but simpler to use and configure. Linux is all about flexibility, and in the same way it has several filesystems, this alternative security framework doesn't pretends to reemplaze SELinux, it's just an alternative for those who find it more suited to its needs.

From the LWN article: Like SELinux, Smack implements Mandatory Access Control (MAC), but it purposely leaves out the role based access control and type enforcement that are major parts of SELinux. Smack is geared towards solving smaller security problems than SELinux, requiring much less configuration and very little application support.

Code: (commit)

1.8. Latencytop

Recommended LWN article: "Finding system latency with LatencyTOP"

Slow servers, Skipping audio, Jerky video - everyone knows the symptoms of latency. But to know what's really going on in the system, what's causing the latency, and how to fix it... those are difficult questions without good answers right now. LatencyTOP is a Linux tool for software developers (both kernel and userspace), aimed at identifying where system latency occurs, and what kind of operation/action is causing the latency to happen. By identifying this, developers can then change the code to avoid the worst latency hiccups.

There are many types and causes of latency, and LatencyTOP focus on type that causes audio skipping and desktop stutters. Specifically, LatencyTOP focuses on the cases where the applications want to run and execute useful code, but there's some resource that's not currently available (and the kernel then blocks the process). This is done both on a system level and on a per process level, so that you can see what's happening to the system, and which process is suffering and/or causing the delays.

You can find the latencytop userspace tool, including screenshots, at latencytop.org.

Code: (commit)

1.9. BRK and PIE executable randomization

Exec-shield is a Red Hat that was started in 2003 by Red Hat to implement several security protections and is mainly used in Red Hat and Fedora. Many features have already been merged lot of time ago, but not all of them. In 2.6.25 two of them are being merged: brk() randomization and PIE executable randomization. Those two features should make the address space randomization on i386 and x86_64 complete.

Code (commit 1, 2, 3)

1.10. Controller area network (CAN) protocol support

Recommended LWN article: "PF_CAN"

From the "Controller Area Network" Wikipedia article: Controller Area Network (CAN or CAN-bus) is a computer network protocol and bus standard designed to allow microcontrollers and devices to communicate with each other and without a host computer.. This implementation has been contributed by Volkswagen.

Code: (commit 1, 2, 3, 4, 5, 6)

1.11. ACPI thermal regulation/WMI

In 2.6.25 ACPI adds thermal regulation support (commit 1, 2, 3, 4) and a WMI (Windows Management Interface, a proprietary extension to ACPI) mapper (commit 1, 2, 3)

1.12. EXT4 update

Recommended article: "A better ext4"

EXT4 mainline snapshot gets an update with a bunch of features: Multi-block allocation, large blocksize up to PAGE_SIZE, journal checksumming, large file support, large filesystem support, inode versioning, and allow in-inode extended attributes on the root inode. These features should be the last ones that require on-disk format changes. Other features that don't affect the disk format, like delayed allocation, have still to be merged.

Code: (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)

1.13. MN10300/AM33 architecture support

The MN10300/AM33 architecture is now supported under the "mn10300" subdirectory. 2.6.25 adds support MN10300/AM33 CPUs produced by MEI. It also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices.

Code: (commit)

1.14. TASK_KILLABLE

Most Unix systems have two states when sleeping -- interruptible and uninterruptible. 2.6.25 adds a third state: killable. While interruptible sleeps can be interrupted by any signal, killable sleeps can only be interrupted by fatal signals. The practical implications of this feature is that NFS has been converted to use it, and as a result you can now kill -9 a task that is waiting for an NFS server that isn't contactable.

Further uses include allowing the OOM killer to make better decisions (it can't kill a task that's sleeping uninterruptibly) and changing more parts of the kernel to use the killable state. If you have a task stuck in uninterruptible sleep with the 2.6.25 kernel, please contact MatthewWilcox with the output from

$ ps -eo pid,stat,wchan:40,comm |grep D

Code: Commits 1-11 are prep-work. Patches 15 and 21 accomplish the major user-visible features, but depend on all the commits which have gone before them.

(commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)

2. Subsystems

2.1. Various

  • Block/VFS

    • IO context sharing. Syslets (or other threads/processes that want io context sharing) can set the CLONE_IO clone() flag to enforce sharing of io context (commit 1, 2, 3, 4, 5)

    • Enhanced partition statistics: core statistics (commit 1, 2, 3, 4

    • rewrite the ramdisk block device driver (commit), (commit)

    • blktrace: Add blktrace ioctls to SCSI generic devices (commit)

    • UBI: add auto-resize feature (commit)

    • SIGIO-driven I/O with inotify queues (commit)

    • get rid of NR_OPEN and introduce a sysctl_nr_open (commit)

    • md: allow devices to be shared between md arrays (commit), allow a maximum extent to be set for resyncing (commit), support 'external' metadata for md arrays (commit)

  • Process scheduler

    • Make the BKL always preemptable (commit)

    • High-resolution preemption tick: it uses High Resolution timers (when available) to deliver an accurate preemption tick (commit)

    • SCHED_FIFO/SCHED_RR watchdog timer (commit)

    • softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks (commit)

    • cpu-hotplug: refcount based cpu hotplug (commit)

  • Memory Management

    • writeback: speed up writeback of big dirty files (commit)

    • change dmapool free block management (commit)

    • slub: Support for performance statistics (commit)

    • slob: reduce external fragmentation by using three free lists (commit)

    • hugetlb: allow sticky directory mount option (commit)

    • oom: add sysctl to enable task memory dump (commit)

    • Allow executables larger than 2GB (commit)

  • Power Management

    • pm qos infrastructure and interface (commit)

    • Suspend: Testing facility (commit)

    • Hibernation: New testing facility (commit)

  • Various

    • Linux Kernel Markers: support multiple probes (commit)

    • The scheduled 'time' option removal (commit)

    • Remove a.out interpreter support in ELF loader (commit)

    • futex: Add bitset conditional wait/wakeup functionality (commit)

    • virtio: PCI device (commit), balloon driver (commit)

2.2. Filesystems

2.3. Networking

  • IPV6

    • Support RFC3484 configurable address selection policy table. (commit)

    • RFC4214 support (commit)

  • IPV4

    • ipconfig: Implement DHCP Class-identifier. (commit)

    • route cache: Introduce rt_genid for smooth cache invalidation (commit)

  • Netlabel

    • Introduce a new kernel configuration API for Netlabel (commit)

    • Introduce stati network labels for unlabeled connections (commit)

    • Add auditing to the static labeling mechanism (commit)

  • Network namespaces. There're was a initial attempt of network namespaces, but a huge amount of work to support it fully have been put into 2.6.25

  • TCP: Splice receive support. (commit), (commit)

  • Netfilter

    • Add CONFIG_NETFILTER_ADVANCED option. (commit)

    • x_tables: add TCPOPTSTRIP target. (commit)

    • Merge ipt_tos into xt_dscp. (commit), merge ipt_TOS into xt_DSCP. (commit)

    • IPv6 capable xt_TOS v1 target. (commit), IPv6 capable xt_tos v1 match. (commit)

    • ip_tables: remove obsolete SAME target. (commit)

    • x_tables: add RATEEST target. (commit), add rateest match (commit)

    • ctnetlink: add support for secmark. (commit)

  • Introducing socket mark socket option. (commit)

  • Introducing new memory accounting interface. (commit), add UDP memory accounting. (commit)

  • Net Sched: Add flow classifier (commit), support classification based on VLAN tag (commit)

  • 9p: add support for sticky bit (commit), block-based virtio client (commit)

  • IPSEC: Allow async algorithms (commit), add support for combined mode algorithms (commit)

  • The scheduled shaper removal. (commit)

  • mac80211

    • Better rate control algorithm selection. (commit), add PID controller based rate control algorithm (commit), make PID rate control algorithm the default (commit)

    • Introduce key handling (commit), support adding/removing keys via cfg80211 (commit), support getting key sequence counters via cfg80211 (commit)

    • Add beacon settings (commit), add beacon configuration via cfg80211 (commit)

    • Station handling (commit), implement station attribute retrieval (commit), implement station stats retrieval (commit), implement cfg80211 station handling (commit)

2.4. Crypto

  • salsa20: Salsa20 stream cipher (commit)

  • gcm: New algorithm (commit), (commit)

  • ctr: Add CTR (Counter) block cipher mode (commit)

  • hifn_795x: HIFN 795x crypto accelerator driver (commit)

  • sha256-generic: Extend to support SHA-224. (commit)

  • tcrypt: Add aead support. (commit)

  • lzo: Add LZO compression algorithm support. (commit)

  • chainiv: Add chain IV generator. (commit)

  • eseqiv: Add Encrypted Sequence Number IV Generator. (commit)

  • seqiv: Add Sequence Number IV Generator. (commit), add AEAD support. (commit)

  • null: Add null blkcipher algorithm. (commit)

  • ccm: Added CCM mode. (commit)

  • salsa20_i586: Salsa20 stream cipher algorithm (i586 version). (commit)

2.5. Security

  • SELinux

    • SELinux: Add network ingress and egress control permission checks (commit)

    • Support 64-bit capabilities (commit)

  • AUDIT

    • Collect uid, loginuid, and comm in OBJ_PID records (commit)

    • Add uid, gid fields to ANOM_PROMISCUOUS message (commit)

    • Add session id to audit messages (commit)

    • Add End of Event record (commit)

  • Allow Kconfig to set default mmap_min_addr protection (commit)

  • LSM/SELinux: Interfaces to allow FS to control mount options (commit)

  • Add 64-bit capability support to the kernel (commit), introduce per-process capability bounding set (commit)

2.6. Architecture-specific changes

  • x86

    • EFI x86-64 support (commit)

    • kprobe-booster for x86-64 (commit), (commit)

    • Provide a configurable (boot parameter or DMI based) port 0x80 I/O delay override (commit 1, 2, 3)

    • x86-64: Make sparsemem vmemmap the only memory model. (commit)

    • ptrace: Support for branch trace store(BTS) (commit), overflow signal API. (commit)

    • Add noclflush boot option (commit)

    • Add generic clearcpuid=... boot option (commit)

    • Add generic GPIO support to x86 (commit)

    • Add support for the RDC R-321x SoC (commit)

    • Enable DEBUG_PAGEALLOC on 64-bit (commit), (commit)

    • Early boot debugging via Firewire (ohci1394_dma=early). (commit)

    • Remove iBCS support. (commit)

  • POWERPC

    • Fake NUMA emulation for PowerPC (commit)

    • celleb: Add support for native CBE. (commit)

    • Merge libfdt upstream source. (commit)

    • Use embedded libfdt in the bootwrapper. (commit)

    • Add SPRN for Embedded registers specified in PowerISA 2.04. (commit)

    • 83xx: Add platform support for MPC837x MDS board. (commit)

    • pasemi: Implement MSI support. (commit)

    • Merge dtc upstream source. (commit)

    • 4xx: PLB to PCI-X support (commit), PLB to PCI 2.x support (commit), PLB to PCI Express support (commit), PCI support for Ebony board (commit), add early udbg support for 40x processors (commit), EP405 boards support for arch/powerpc (commit), add PCI to Walnut platform. (commit), base support for 440GX Taishan eval board. (commit), base support for 440SPe "Katmai" eval board. (commit), 440GRx Rainier board support. (commit), (commit), PIKA Warp base platform (commit)

    • pasemi: Implement NMI support. (commit), distribute interrupts evenly across CPUs. (commit)

    • Add hugepagesz boot-time parameter. (commit)

    • mpc5200: Add generic support for simple MPC5200 based boards. (commit)

    • QE: Add ability to upload QE firmware. (commit), add support for Freescale QUICCEngine UART. (commit), add support for Freescale QUICCEngine UART. (commit)

    • 8xx: Analogue & Micro Adder875 board support (commit)

    • 82xx: Embedded Planet EP8248E support (commit)

    • Add initial iomega Storcenter board port. (commit)

    • PS3: Add logical performance monitor device support (commit), add logical performance monitor driver support (commit)

    • 85xx: Port STX GP3 board over from arch/ppc (commit), port TQM85xx boards over from arch/ppc (commit), add support for Wind River SBC8560 in arch/powerpc (commit), add v1 device tree source for Wind River SBC8560 board (commit), add basic support for Wind River SBC8548 board (commit),

    • 83xx: Add support for Wind River SBC834x boards (commit), add device tree source for Wind River SBC834x board. (commit), add MPC837x RDB platform support (commit)

    • Cell IOMMU fixed mapping support (commit)

    • Add oprofile support for e300 (commit)

    • Xilinx: hwicap driver (commit)

    • mpc512x: Add MPC512x PSC support to MPC52xx psc driver (commit)

    • spufs: Add marker-based tracing facility (commit)

    • PS3: gelic: add support for port link status (commit), add support for dual network interface (commit), add wireless support for PS3 (commit)

  • SH

  • ARM

  • CRIS

  • AVR32

    • Oprofile support. (commit)

    • Add support for AT32AP7001 and AT32AP7002. (commit)

    • Add support for ATSTK1003 and ATSTK1004. (commit)

  • Blackfin

    • Initial checkin of the memory protection support. (commit)

    • Added support for 8250-class UARTs in HV Sistemas H8606 board, modification in 8250.c driver for correct compilation with Blackfin. (commit)

    • Add support for BF523/BF524/BF526. (commit)

    • Added support for OpenCores Keyboard Controller to H8606 board. (commit)

    • Add Hitachi TX09D70VM1CDA TFT LCD driver resource to Blackfin board. (commit)

    • Add "memmap=nn[KMG]@ss[KMG]" and "memmap=nn[KMG]$ss[KMG]" options to blackfin, based on arch/i386/kernel/e820.c (commit)

  • S390

    • latencytop support (commit)

    • Standby CPU activation/deactivation. (commit)

    • dasd: Add hyper PAV support to DASD device driver, part 1. (commit)

    • 1K/2K page table pages (commit), add four level page tables for CONFIG_64BIT=y. (commit), dynamic page tables (commit), CONFIG_HIGHPTE vs. sub-page page tables. (commit)

  • MIPS

    • MT: Scheduler support for SMT. (commit)

    • TXx9 watchdog support for rbhma3100, rbhma4200, and rbhma4500. (commit)

    • IP28 support. (commit)

    • Alchemy: Au1210/Au1250 CPU support. (commit)

  • SPARC64: Add kretprobe support. (commit)

  • uml: runtime host VMSPLIT detection (commit)

3. Drivers

3.1. Graphics

  • i915:

    • Add suspend/resume support. (commit)

    • Add support for E7221 chipset. (commit)

    • Add chipset ID for Intel Integrated Graphics Device. (commit)

  • Add initial ATI r500 DRM support. (commit)

  • Suspend support for SiS AGP (commit)

  • Add initial rs690 support to drm. (commit)

  • Add support for Sis 662/671 (commit), (commit)

  • fbdev: add BF52x EZkit Display driver (commit)

  • Add S3c2412 support to S3c2410 fb driver (commit)

3.2. SATA/IDE

  • Palmchip BK3710 IDE driver (commit)

  • pata_ninja32: Cardbus ATA initial support. (commit)

  • pata_legacy: Merge winbond support. (commit)

  • libata: implement drain buffers (commit)

  • cmd64x: Remove /proc/ide/cmd64x. (commit)

  • cdrom: Add support for Sega Dreamcast GD-ROM. (commit)

  • Add support for the RB500 PATA Compactflash (commit)

  • ahci: Add Marvell 6121 SATA support (commit)

  • sata_mv: Enable NCQ (commit), support SoC controllers (commit)

  • pata_sl82c105: dual channel support (commit)

  • sata_svw: Add support for HT1100 SATA controller (commit)

3.3. Sound

  • Scheduled OSS driver removal (commit)

  • HDA: Add Asus VX1 support (commit), add support for RV610/RV630 HDMI audio. (commit), STAC92HD71 codec mixer. (commit), add support of HP Thin Client T5735. (commit), add support for RV6xx HDMI audio. (commit), initial support of the Mitac 8252D (based on ALC883). (commit), add ALC889/ALC267/ALC269 support. (commit), add support for VIA VT1708B HD audio codec. (commit), added more 92HD71 codecs. (commit), added STAC92HD73 support. (commit), add IEC958 digital out support for Lenovo Thinkpads T61/X61. (commit), device ID for Macbook sound card. (commit), 92HD71BXX Mono Mute Support. (commit), 92HD7XXX power management support. (commit), add the support of Dell OEM laptops with ALC268. (commit), new model for conexant 5045 codec to support benq r55e. (commit), add model for Acer Aspire 5315. (commit), add Conexant 5051 codec support. (commit), add model for Acer Aspire 5310. (commit), add model for HP DV9553EG laptop. (commit), ALSA HD Audio patch for Intel ICH10 DeviceID's. (commit), add Dell T3400 support. (commit), add support for Intel SCH. (commit), add missing model for HD-audio Cx5045 codec (commit), add support for Samsung Q1 Ultra Vista edition. (commit)

  • ice1724: Add support of Onkyo SE-90PCI and SE-200PCI. (commit)

  • soc: ln2440sbc ac97 support. (commit)

  • Remove sequencer instrument layer. (commit)

  • Xilinx ML403 AC97 Controller Reference device driver. (commit)

  • ASoC TLV320AIC3X codec driver. (commit)

  • usb-caiaq: add support for Kore controller 2. (commit)

  • sis7019: Support the SiS 7019 Audio Accelerator. (commit)

  • USB audio suspend support. (commit)

  • Add Asus Xonar driver. (commit)

  • Add CMI8788 driver. (commit)

  • ASoC TLV support (commit), S3c2412 IIS driver (commit)

  • soc: Preliminary ac97 drivers for Toshiba e800 PDAs. (commit)

  • Add ASoC drivers for the Freescale MPC8610 SoC. (commit)

  • ICE1724: Added support for Audiotrak Prodigy 7.1 Hifi & HD2, Hercules Fortissimo IV. (commit)

3.4. SCSI

  • Bidirectional command support. (commit)

  • lpfc: Added support for ASICs that report temperature. (commit)

  • megaraid_sas: add hibernation support. (commit)

  • AHS Support. (commit),(commit)

  • qla2xxx: Add Fibre Channel Event (FCE) tracing support. (commit)

  • aacraid: Add Voodoo Lite class of cards (commit), add optional MSI support (commit)

  • psi240i: Remove driver (commit)

  • seagate: Remove driver (commit)

  • mvsas: Add Marvell 6440 SAS/SATA driver (commit), convert from rough draft to working driver (commit)

  • qla4xxx: add async scan support (commit)

  • ses: add new Enclosure ULD (commit)

  • enclosure: add support for enclosure services (commit)

  • mca_53c9x: remove driver (commit)

  • remove m68k NCR53C9x based drivers (commit)

  • dec_esp: Remove driver (commit)

  • NCR53C9x: remove driver (commit)

3.5. Network

  • Add driver for enc28j60 ethernet chip (commit)

  • b43legacy: LED triggers support (commit), RF-kill support (commit)

  • Add ath5k wireless driver (commit)

  • e1000e: alternate MAC address support (commit)

  • Add support for the RDC R6040 Fast Ethernet controller (commit)

  • E1000: Secondary unicast address support (commit)

  • Add bnx2x driver for BCM57710 (commit)

  • cxgb3 - Add EEH support (commit)

  • pasemi_mac: Software-based LRO support (commit), add support for changing mac address (commit), add support for setting MTU (commit)

  • zd1211rw: port to mac80211 (commit)

  • b43: Changes to enable BCM4311 rev 02 with wireless core revision 13 (commit)

  • libertas: implement suspend and resume (commit), (commit), add ethtool support for wake-on-lan configuration (commit)

  • ixgb: enable sun hardware support for broadcom phy (commit)

  • iwlwifi: proper monitor support (commit)

  • sky2: support for Yukon Supreme (commit)

  • BNX2: Support multiple MSIX IRQs. (commit)

  • ucc_geth: add support for netpoll (commit)

  • IPoIB: Add send gather support (commit)

  • IB/core: Add IP checksum offload support (commit)

  • DM9000: Add initial ethtool support (commit)

  • ehea: add kdump support (commit)

  • ipwireless: driver for PC Card 3G/UMTS modem (commit)

  • bas_gigaset: suspend support (commit)

  • usb_gigaset: suspend support (commit)

3.6. V4L/DVB

  • Add tuner-xc2028 driver. (commit)

  • v4l2: Add support for bus-based I2C drivers. (commit)

  • Add support for MT9V111 on sn9c102. (commit)

  • Add support for the DViCO FusionHDTV Dual Digital 4. (commit)

  • Add support for the DViCO FusionHDTV NANO2 w/ZL10353 and firmware. (commit)

  • Add support for MT352-based DViCO FusionHDTV DVB-T NANO devices. (commit)

  • ivtv: Add AVerMedia EZMaker PCI Deluxe support. (commit)

  • cs5345: New i2c driver. (commit)

  • Add support for the Xceive xc5000 silicon tuner. (commit)

  • Add support for the Hauppauge HVR1500Q. (commit)

  • cx23885: Add support for Hauppauge WinTV HVR-1500. (commit), enable EZ-QAM mode for Hauppauge WinTV HVR-1800. (commit)

  • tda18271: Add support for NXP TDA18271HD/C2. (commit)

  • Add Beholder TV 401/405/407/409/505/507/609/M6 support. (commit)

  • cx25840: Add basic CX23885 AVCore support. (commit), add basic video support for the HVR1800. (commit)

  • V4L: Add support for Syntek DC1125 webcams. (commit)

  • New card supported(partially): Pinnacle 800i. (commit)

  • zr364xx: add support for Creative DiVi CAM 516 (commit)

  • Support for Twinhan Hybrid DTV-DVB 3056 PCI (commit)

  • saa7134: add support for the Medion / Creatix CTX948 card (commit)

  • Adds support for Genius TVGo A11MCE (commit)

3.7. I2C

  • i2c-i801: Implement I2C block read support. (commit)

  • i2c-viapro: Add support for the VT8237S. (commit)

  • tsl2550: Add power management added. (commit)

  • Add support for the PCF8575 chip. (commit)

  • The scheduled I2C RTC driver removal. (commit)

  • Some overdue driver removal. (commit)

3.8. HID

  • Map MS Presenter 8000 bottom-side buttons. (commit)

  • Add support for Apple aluminum USB keyboards. (commit)

  • Add full support for Genius KB-29E. (commit)

  • Add support for Logitech Elite keyboards. (commit)

3.9. Input

  • Add driver for Fujitsu application buttons (commit)

  • Add Tosa keyboard driver (commit)

3.10. USB

  • Add support for 4348:5523 Winchiphead USB->RS 232 adapter (commit)

  • Sierra - Add support for Aircard 881U (commit)

  • Adding YC Cable USB Serial device to pl2303 (commit)

  • sierra driver - add devices (commit), add support for Onda H600/Zte MF330 datacard to USB Driver for Sierra Wireless (commit)

  • ftdi-sio: Patch to add vendor/device id for ATK_16IC CCD (commit)

  • pl2303: add support for RATOC REX-USB60F (commit)

  • Variant of the Dell Wireless 5520 driver (commit)

  • add iuu_phoenix driver (commit)

  • m66592-udc: Add support for SH7722 USBF (commit)

  • Add Printer Gadget Driver (commit)

  • Export suspend statistics (commit)

  • Add support for SuperH OHCI (commit)

  • usb: ohci-sm501 driver (commit)

  • Add support for Motorola ROKR Z6 cellphone in mass storage mode (commit)

3.11. FireWire

  • init_ohci1394_dma: new standalone driver for remote kernel debugging via FireWire in early kernel initialization phase (commit)

  • A whole boatload of bug fixes for firewire-core, firewire-ohci, firewire-sbp2. The sum of them brings huge improvements of stability and functionality of these drivers over linux 2.6.24. See the linux1394-user changelog for a list of fixes.

3.12. RDMA

3.13. Hwmon

  • Add support for Texas Instruments/Burr-Brown ADS7828 (commit)

  • Add support for Winbond W83L786NG/NR (commit)

  • lm87: Add support for the Analog Devices ADM1024 (commit)

  • w83781d: Drop W83627HF support (commit)

  • coretemp: Add Penryn CPU to coretemp (commit)

  • New driver for Analog Devices ADT7473 sensor chip (commit)

3.14. MTD

  • Remove Photron PNC-2000 map driver (commit)

  • NAND

    • Add Blackfin BF52x support in bf5xx_nand driver (commit)

    • pasemi_nand driver (commit)

    • Marvell Orion device bus NAND controller (commit)

    • Freescale enhanced Local Bus Controller FCM NAND support. (commit)

  • NOR

    • Add support for the SST 39VF1601 flash chip (commit)

3.15. ACPI

  • thinkpad-acpi: add X61t HKEY events (commit)

  • Create /sys/firmware/acpi/interrupts (commit)

  • Enable MWAIT for C1 idle (commit)

  • cpuidle: Add a poll_idle method (commit), create processor.latency_factor tunable (commit), default processor.latency_factor=2 (commit)

  • asus_acpi: add support for F3sa (commit)

  • sony-laptop: add Type4 model (commit)

  • intel_menlo: introduce new platform specific driver (commit)

3.16. RTC/W1

  • ds1302 rtc support (commit)

  • SH-5 RTC support (commit)

  • SH-2A RTC support (commit)

  • Platform real time clock driver for Dallas 1511 chip (commit)

  • Add support for Epson RTC-9701JE V2 (commit)

  • at91sam9 RTC support (RTT and/or RTC) (commit)

  • Add support for Epson RTC-9701JE V4 (commit)

  • w1-gpio: add GPIO w1 bus master driver (commit)

  • Add support for the S-35390A RTC chip (commit)

3.17. LEDs

3.18. Various

  • gpiolib

  • drivers-edac

  • Watchdog

    • Add support for SB1 hardware watchdog (commit)

    • HP Proliant Watchdog driver (commit)

  • memstick

    • Initial commit for Sony Memorystick support (commit)

    • Add support for JMicron jmb38x Memorystick host controller (commit)

  • nozomi driver (commit)

  • pda_power: add suspend/resume support (commit)

  • SC26XX: New serial driver for SC2681 uarts (commit)

  • spi: SuperH SPI using SCI (commit)

  • atmel_lcdfb: backlight control (commit)

  • ASIC3 driver (commit)

  • mxser driver: remove it, replace it with mxser_new (commit)

  • Basic PWM driver for AVR32 and AT91 (commit)

  • The ps2esdi driver was marked as BROKEN more than two years ago due to being (commit)

Tell others about this page:

last edited 2014-03-30 13:48:14 by diegocalleja