- 论坛徽章:
- 0
|
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.
目录
Important features (AKA: the cool stuff)
Memory Resource Controller
Real Time Group scheduling
RCU Preemption support
FIFO ticket spinlocks in x86
Better process memory usage measurement
timerfd() syscall
SMACK, Simplified Mandatory Access Control
Latencytop
BRK and PIE executable randomization
Controller area network (CAN) protocol support
ACPI thermal regulation/WMI
EXT4 update
MN10300/AM33 architecture support
TASK_KILLABLE
Subsystems
Various
Filesystems
Networking
Crypto
Security
Architecture-specific changes
Drivers
Graphics
SATA/IDE
Sound
SCSI
Network
V4L/DVB
I2C
HID
Input
USB
FireWire
RDMA
Hwmon
MTD
ACPI
RTC/W1
LEDs
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
- CIFS
- OCFS2
- XFS: Implement fallocate.
(commit)
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 - kprobes support.
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
- AT91CAP9 core support.
(commit)
- Marvell Feroceon CPU core support.
(commit)
- Support for the Marvell Orion SoC family.
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
,
(commit)
- pcm027: add support for phyCORE-PXA270 CPU module.
(commit)
, add network support for phyCORE-PXA270.
(commit)
, add support for pcm990 baseboard for phyCORE-PXA270.
(commit)
- Base support for pxa-based Toshiba e-series PDAs.
(commit)
- Add basic support for HTC Magician PDA phones.
(commit)
- KS8695: PCI support.
(commit)
- Support for Qualcomm MSM7X00A based systems.
(commit)
,
(commit)
,
(commit)
,
(commit)
- sa1100: add clock source support.
(commit)
- ARMv7: Add VFPv3 support.
(commit)
, add Advanced SIMD (NEON) extension support.
(commit)
- AT91: Configurable HZ, default to 128.
(commit)
- AT91CAP9A-DK board support.
(commit)
- Adds drivers for IXP4xx QMgr and NPE features
(commit)
pxa: add basic support for Littleton (PXA3xx Form Factor Platform).
(commit)
, add preliminary suspend/resume code for pxa3xx
(commit)
, add cpufreq support.
(commit)
Realview: clocksource support for the Realview platforms
(commit)
, clockevents support for the
RealView
platforms
(commit)
, add broadcasting clockevents support for ARM11MPCore
(commit)
, add clockevents suport for the local timers
(commit)
, add core-tile detection
(commit)
- OMAP: Add DMA support for chaining and 3430
(commit)
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)
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34937/showart_663100.html |
|