发新话题
打印

Linux 2.6.20新面孔(虚拟技术登场了)

Linux 2.6.20新面孔(虚拟技术登场了)

Linux 2.6.20目录

Short overview (for news sites, etc)With 2.6.20,Linux joins the virtualization trend. This release adds twovirtualization implementations: A full-virtualization implementationthat uses Intel/AMD hardware virtualization capabilities called KVM (http://kvm.sourceforge.net) and a paravirtualization implementation (http://lwn.net/Articles/194543)that can be used by different hypervisors (Rusty's lguest; Xen andVMWare in the future, etc). This release also adds initial SonyPlaystation 3 support, a fault injection debugging feature (http://lwn.net/Articles/209257),UDP-lite support, better per-process IO accounting, relative atime,support for using swap files for suspend users, relocatable x86 kernelsupport for kdump users, small microoptimizations in x86 (sleazy FPU,regparm, support for the Processor Data Area, optimizations for theCore 2 platform), a generic HID layer, DEEPNAP power savings forPPC970, lockless radix-tree readside, shared pagetables for hugetbl,ARM support for the AT91 and iop13xx processors, full NAT fornf_conntrack and many other things.
Important things (AKA: ''the cool stuff'')Sony Playstation 3 supportYou may likethe Wii or the 360 more, but only the PS3 is gaining official Linuxsupport, written by Sony engineers. Note that the support at this timeis incomplete (apparently enabling it will not boot on a stock PS3) andit doesn't support the devices included like the graphics card, etc. (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,  12)
Virtualization support through KVMKVM (project page)adds a driver for Intel's and AMD's hardware virtualization extensionsto the x86 architecture (KVM will not work in CPUs withoutvirtualization capabilities). See the Virtualization wiki for more information about virtualization in Linux
Thedriver adds a character device (/dev/kvm) that exposes thevirtualization capabilities to userspace. Using this driver, a processcan run a virtual machine (a "guest") in a fully virtualized PCcontaining its own virtual hard disks, network adapters, and display.Each virtual machine is a process on the host; a virtual CPU is athread in that process. kill(1), nice(1), top(1) work as expected. Ineffect, the driver adds a third execution mode to the existing two: wenow have kernel mode, user mode, and guest mode. Guest mode has its ownaddress space mapping guest physical memory (which is accessible touser mode by mmap()ing /dev/kvm). Guest mode has no access to any I/Odevices; any such access is intercepted and directed to user mode foremulation.
32and 64 bits guests are supported (but not x86-64 guests on x86-32hosts!). For i386 guests and hosts, both pae and non-pae paging modesare supported. SMP hosts and UP guests are supported, SMP guests aren't(support will be added in the future). You also can start multiplevirtual machines in a host. Performance currently is non-stellar, itwill be improved by a lot with the future inclusion of KVM paravirtualization KVM support.
TheWindows install currently bluescreens due to a problem with the virtualAPIC, a fix is being worked on and will be added in future releases. Atemporary workaround is to use an existing image or install throughqemu - Windows 64-bit does not work either (commit)
Paravirtualization support for i386Paravirtualizationis the act of running a guest operating system, under control of a hostsystem, where the guest has been ported to a virtual architecture whichis almost like the hardware it is actually running on. This techniqueallows full guest systems to be run in a relatively efficient manner(continue reading this LWN articlefor more information). This allows to link different hypervisors(lguest/lhype/rustyvisor implements a hypervisor in 6.000 lines; Xenand Vmware will be probably ported to this framework some day). Thereare limitations like no SMP support yet; this feature will evolve a lotwith the time (commit 1, 2, 3, 4, 5,  6, 7, 8, 9,  10 11,  12, 13)
Relocatable kernel support for x86Thisfeature (enabled with CONFIG_RELOCATABLE) isn't very noticeable forend-users but it's quite interesting from a kernel POV. Until now, itwas a requirement that a i386 kernel was loaded at a fixed memoryaddress in order to work, loading it in a different place wouldn'twork. This feature allows to compile a kernel that can be loaded atdifferent 4K-aligned addresses, but always below 1 GB, with no runtimeoverhead. Kdump users (a feature introduced in 2.6.13 that triggers kexecin a kernel crash in order to boot a kernel that has been previouslyloaded at an 'empty' address, then runs that kernel, saves the memorywhere the crashed kernel was placed, dumps it in a file and continuesbooting the system) will benefit from this because until now the"rescue kernel" needed to be compiled with different configurationoptions in order to make it bootable at a different address. With arelocatable kernel, the same kernel can be booted at differentaddresses. (commit 1, 2, 3, 4)
Fault injectionThis is adebugging feature that 'injects' failures in several layers in thekernel (kmalloc() failures, alloc_pages() failures, disk IO errors). By'injecting' them on purpose, a developer can test how their code reactsto errors that are very difficult to find in the real world, wherethings do not fail so often. For example, a filesystem could not behandling correctly an error triggered by a broken hard disk. Becausethose error code paths are exercised very rarely the code may containbugs that could be hit by a user some day. This feature 'injects' thoseerrors on purpose so testing can find bugs much faster. Enabled by thefollowing configuration options: CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC andCONFIG_MAKE_REQUEST. If you also want to configure them via debugfs youmust enable CONFIG_FAULT_INJECTION_DEBUG_FS. Here is a LWN article about it; and the documentation is here. (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)
IO AccountingThe presentper-task IO accounting isn't very useful. It simply counts the numberof bytes passed into read() and write(). So if a process reads 1MB froman already-cached file, it is accused of having performed 1MB of I/O,which is 'wrong'. So this IO accounting implements per-processstatistics of "storage I/O" (i.e.: I/O that _really_ does I/O on thestorage device - Linux already had I/O storage statistics but it's notper-task). The data is reported through taskstats and procfs(/proc/$PID/io) (commit 1, 2, 3, 4, 5, 6, 7, 8, 10, 11)
Relative atime support'Atime' isthe 'Access time' field of a file: When a process reads a file, itsatime is updated. Disabling atime updates, with the 'noatime' mountflag, is probably the most used performance tweak that Linuxadministrators use: An active server is continually reading files,generating lots of atime updates, which translate to metadata updatesthat the filesystem must write to disk. And writing those updates canseriously damage your performance. Believe it or not, a busy serverlike kernel.org (vsftpd + apache workload) cut their load average in half just by mounting their filesystems with 'noatime'.
Relativeatime ('relatime') only updates the atime if the previous atime isolder than the mtime or ctime. It avoids a lot of metadata atimeupdates (but not all of them, obviously, there's 'noatime' for that).It's like noatime, but useful for applications like mutt that need toknow when a file has been read since it was last modified. Currentlyonly OCFS2 supports it. A corresponding patch against mount(8) isavailable here (commit), ocfs2 support (commit)
UDP-Lite supportSupport for UDP-Lite (RFC 3828) for IPv4 and an extension for UDP-Lite over IPv6 is added in 2.6.20. Documentation and programming guide.UDP-Lite is a Standards-Track IETF transport protocol whosecharacteristic is a variable-length checksum. This has advantages fortransport of multimedia (video, VoIP) over wireless networks, as partlydamaged packets can still be fed into the codec instead of beingdiscarded due to a failed checksum test (commit)
Generic HID layerCurrentlythe HID layer (Human Interface Device) does only work with USB devices.2.6.20 turns the USB-oriented HID layer into a generic HID layer thatcan be used for any subsystem that needs it, like Bluetooth. (commit 1, 2, 3, 4, 5, 6, 7, 8)
Sleazy FPU optimizationThis is an x86-32 port of the x86-64 feature implemented in 2.6.19.It gives only a small improvement in FPU-intensive programs, but it'salso an interesting optimization. Right now the kernel has a 100% lazyFPU behavior: after *every* context switch a trap is taken for thefirst FPU use to restore the FPU context lazily. This is great forapplications that have very sporadic or no FPU use (since then youavoid doing the expensive save/restore all the time).
However,for very frequent FPU users every context switch takes an extra trap.This feature adds a simple heuristic to this code: After 5 consecutivecontext switches of FPU use, the lazy behavior is disabled and thecontext gets restored every context switch. If the application indeeduses the FPU, the trap is avoided (the chance of the 6th time sliceusing FPU after the previous 5 having done so are quite highobviously). After 256 switches, this is reset and lazy behavior isreturned (until there are 5 consecutive switches again). The reason forthis is to give the lazy behavior back to applications that use the FPUin bursts. (commit)
Use 'regparm' in x86-32This isanother not-relevant-to-users-yet-interesting-for-geeks feature, thathas been available as an option for a while but it's default now. Sinceforever the x86 architecture has stored the function parameters in thestack. Modern architectures (PPC, SPARC, etc) use registers: It's muchfaster, since you don't need to do anything to bring the parametersback: The parameters are just there, in the register. The x86 world(including Linux) continued using stacks for parameter passing, forcompatibility reasons with software, compilers, etc; they only addedextensions to compilers to optionally tell the compiler to useregisters for parameter passing in a given function (usually involvingthe 'fastcall' keyword) for performance-critical paths.
Thanksto a GCC extension, the Linux kernel uses the '-mregparm=3' compileoption, which means that as long as a function uses 3 or lessarguments, GCC will automatically use registers to pass its parameters.And if you're wondering about x86-64, in that platforms using theregisters has always been the default (commit)
round_jiffies() infrastructureThis is anexample of the power savy trend ongoing in the Linux kernel. Thisfeature introduces the round_jiffies()/round_jiffies_relative()functions. These functions round a jiffies value to the next wholesecond. The target of this rounding is all the "we don't care exactlywhen" timers. By rounding these timers to whole seconds, all suchtimers will fire at the same time, rather than at various times spreadout; with dynamic ticks these extra timers cause wakeups from deepsleep CPU sleep states and thus waste power (commit 1, 2, 3)
New driversHere are some important new drivers that have been added to the Linux tree:
  • Networking:  
    • Driver for the Atmel MACB on-chip Ethernet module (commit)
    • Tsi108/9 On Chip Ethernet device driver (commit)
    • Netxen 1G/10G Ethernet driver (commit 1, 2, 3)
  • Hwmon
    • New Winbond W83793 hardware monitoring driver (commit)
    • New PC87427 hardware monitoring driver (commit)
    • New AMS hardware monitoring driver (commit)
  • I2C
  • Watchdog:
  • Input
    • Add Philips UCB1400 touchscreen driver (commit)
    • Add driver for keyboard on AAED-2000 development board (ARM) (commit)
  • Graphics: Fbdev driver for IBM GXT4500P videocards (commit)
  • RTC: rtc-omap driver (commit)
Various core changes
  • Memory management, block layer, etc
    • Make the readside of the radix-tree (used in the page-cache) RCU lockless (commit)
    • Shared page tables for hugetlb (commit), (commit)
    • Newswap token algorithm. The old algorithm had a crude timeout parameterthat was used to handover the token from one task to another. The newalgorithm transfers the token to the tasks that are in need of thetoken. The urgency for the token is based on the number of times a taskis required to swap-in pages. Accordingly, the priority of a task isincremented if it has been badly affected due to swap-outs. To ensurethat the token doesn't bounce around rapidly, the token holders aregiven a priority boost. The priority of tasks is also decremented, iftheir rate of swap-in's keeps reducing (commit)
    • Memorypage_alloc zonelist caching speedup: Optimize the critical zonelistscanning for free pages in the kernel memory allocator by caching thezones that were found to be full recently (in the last second), andskipping them. Benchmarks on a 56-CPU/96GB-RAM systems can be found inthe commit link (commit)
    • fdtable: Implement new pagesize-based fdtable allocator (commit)
    • Optimize o_direct on block devices (commit)
    • Supportlarger block pc requests. Modify blk_rq_map/unmap_user() so that itsupports requests larger than bio by chaining them together (commit)
    • Add numa node information to struct device (commit)
    • Add'noaliencache' boot option to disable numa alien caches. When usingnuma=fake on non-NUMA hardware there is no benefit to having the aliencaches, and they consume much memory (commit)
  • Workqueuerevamp. The struct work_struct was a bit bloated, so efforts have beendone to fix it, resulting in a division between delayable andnon-delayable events, and some API changes. See this LWN article for complete details and this link for details on how to adapt broken code for the new workqueue API (commit 1, 2,   3, 4)
  • TTY: termios revamp, adds proper speed control (commit 1, 2, 3, 4, 5)
  • Generic BUG implementation (commit 1, 2, 3, 4, 5, 6)
  • Driver core: add API for internal notification of bus events (commit); show the initialization state (live, coming, going) of the module (cat /sys/module/usbcore/initstate) (commit); show drivers in /sys/module/ (commit),  
  • Sysrq: Add new sysrq feature: Sysrq + X: show blocked (TASK_UNINTERRUPTIBLE) tasks.;useful for debugging IO stalls (commit); add sysrq_always_enabled boot option (commit)
  • Create CONFIG_SYSFS_DEPRECATED (commit 1, 2, 3, 4, 5)
  • Add child reaper to pid_namespace (commit)
  • Allow user processes to raise their oom_adj value (commit)
  • Use softirq for load balancing (commit)
  • LOG2: Implement a general integer log2 facility in the kernel (commit)
  • bit reverse library (commit)
  • Implementprof=sleep profiling. TASK_UNINTERRUPTIBLE sleeps will be taken as aprofile hit, and every millisecond spent sleeping causes a profile-hitfor the call site that initiated the sleep (commit)
  • kprobes: enable booster on the preemptible kernel (commit)
  • Switchpci_{enable,disable}_device() to be nestable, so that eg, three callsto enable_device() require three calls to disable_device(). The reasonfor this is to simplify PCI drivers for multi-interface/capabilitydevices. These are devices that cram more than one interface in asingle function. A relevant example of that is the Wireless [USB] HostController Interface (commit), (commit)
Architecture-specific changes
  • i386
    • Supportfor Processor Data Area (PDA). From now, the kernel will use the %gsregister as the PDA base-segment (the old value of %gs is saved away).This will make possible to do some optimizations in the future (in thisrelease, 2.6.20 will use the PDA to get the 'current' task in a singleinstruction, as an example) (commit 1, 2, 3, 4, 5, 6, 7, 8)
    • 300Hzsupport. It is useful to have 300Hz support when doing multimedia work:250 is fine for us in Europe but the US frame rate is 30fps (29.99 blahfor pedants). 300 gives us a tick divisible by both 25 and 30, and forinterlace work 50 and 60. It's also giving similar performance to 250Hz(commit)
    • Add sysctl for kstack_depth_to_print (commit)
    • Add support for compilation optimizations for Core2 (commit), (commit)
    • x86-64: Don't keep interrupts disabled while spinning in spinlocks, like i386 (commit)
    • x86-64: Speed and clean up cache flushing in change_page_attr (commit)
    • Acpi: add support for the generic backlight device in asus_acpi (commit), ibm_acpi (commit) and toshiba_acpi (commit)
  • PPC
    • Enable DEEPNAP power savings mode on 970MP (commit)Without this patch, a idle 4-way system gets 103.8W. With this patch:65.0W. LoweringHZ to 100 can get it as low as 60.2W. Another (older)Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Naptakes 40-70 cycles longer than coming back from just Nap (which alreadytakes quite a while).
    • Add Efika platform support (commit)
    • Add MPC5200 Interrupt Controller support (commit)
    • Cell: Add support for adding/removing spu sysfs attributes (commit), remove /spu_tag_mask file (commit), cell iommu support (commit), add oprofile support for cell (commit), add isolated-mode SPE recycling support (commit), native cell support for MPIC in southbridge (commit), add a sd command (spu dump) to xmon to dump spu local store (commit), add cpufreq driver for Cell BE processor (commit), prepare for spu disassembly in xmon (commit), add support for nonschedulable contexts (commit), implement /mbox_info, /ibox_info, and /wbox_info. (commit), add support for dumping spu info from xmon (commit), import spu disassembly code into xmon (commit), add spu disassembly to xmon (commit), add temperature to SPU and CPU sysfs entries (commit), add /lslr, /dma_info and /proxydma files (commit), add SPU elf notes to coredump. (commit), add shadow registers for pmd_reg (commit), add low-level performance monitoring code (commit), add support for registering sysfs attributes to spus (commit), add support for stopping spus from xmon (commit),
    • Add non-OF serial console support (commit), add Kurobox(HG)/Linkstation-I NAS systems by Buffalo Technology support (commit), support ibm,dynamic-reconfiguration-memory nodes (commit), add xserve cpu-meter driver (commit), add lite5200 board support to arch/powerpc (commit), (commit), (commit), allow CONFIG_BOOTX_TEXT on iSeries (commit), import updated version of ppc disassembly code for xmon (commit), allow xmon to build on legacy iSeries (commit), make 970MP detectable by oprofile (commit), lazy interrupt disabling for 64-bit machines (commit), support for DCR based MPIC (commit)
  • ARM
    • Addiop13xx support. The iop348 processor integrates an Xscale (XSC3 512KBL2 Cache) core with a Serial Attached SCSI (SAS) controller,multi-ported DDR2 memory controller, 3 Application Direct Memory Access(DMA) controllers, a 133Mhz PCI-X interface, a x8 PCI-Expressinterface, and other peripherals to form a system-on-a-chip RAIDsubsystem engine. The iop342 processor replaces the SAS controller witha second Xscale core for dual core embedded applications. Thedeveloper's manual is available here: ftp://download.intel.com/design/iio/docs/31503701.pdf (commit)
    • AT91: Initial support for AT91SAM9261 and AT91SAM9260 (commit), SAM9 platform devices (commit), Update drivers for new headers (commit), split up system header file (commit), rename user peripheral header files (commit), support for Atmel AT91SAM9260-EK board (commit), hardware headers for SAM9 peripherals (commit), support for Atmel AT91SAM9261-EK board (commit), final SAM9 integration patches. (commit), SAM9 timer driver (commit), AT91RM9200 RTC (commit)
    • clocksource driver for netx (commit) and pxa2xx (commit), suspend to RAM support in H1940 (commit) and RX3715 (commit), MX/MX1 CPU Frequency scaling support (commit), add cirrus logic edb9302a board support to ep93xx (commit), add ads sphere support (commit), add sys_*at syscalls support (commit)
  • SH:  
    • Dyntick infrastructure (commit) and stacktrace/lockdep/irqflags tracing support (commit)
    • Add initial support for the SH7206 (SH-2A) and SH7619 (SH-2) MMU-less CPUs (commit), Solution Engine 7206 and 7619 boards. (commit), preliminary support for SH-X2 MMU. (commit), and SH-MobileR SH7722 CPU support. (commit)
  • S390: Add runtime switch for qdio performance statistics (commit), add virtual memmap for s390. (commit), add dynamic subchannel mapping (commit 1, 2, 3, 4, 5)
  • MIPS: Add support for kexec (commit), add STB810 support (Philips PNX8550-based) (commit), oprofile kernel support for the R10000. (commit)
  • SPARC: Add irqtrace/stacktrace/lockdep support. (commit)
  • IA64: Kexec and kdump support (commit); add initial ACPI IO support to Altix (commit), SN ACPI hotplug support for Altix (commit) and ROM shadowing for Altix (commit)
  • M32R: bootloader support for OPSPUT platform (commit)
  • m68knommu: add SHM support (commit)
Filesystems
  • OCFS2:
    • Add atime update (commit 1, 2), splice (commit) and configurable timeouts via configfs (commit 1, 2, 3)
    • Addsupport for 'local' OCFS2 filesystems: This allows users to format anocfs2 file system with a special flag,OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the filesystem sees that flag,it won't use any cluster services nor it will require clusterconfiguration, thus acting as a 'local' filesystem, like ext3 & co (commit)
  • FUSE: Add support for block device based filesystems. Useful for ntfs-3g, zfs, etc (commit 1, 2, 3, 4)
  • DebugFS: inotify create/mkdir support (commit)
  • DLM: Add support for tcp communications (commit)
Networking
  • Add sparse annotations to the networking code (lots of patches)
  • IPV6: Per-interface statistics support; for IP MIB (RFC4293) (commit)
  • Node-aware skb allocation (commit)
  • Turn nfmark into generic mark (commit)
  • The scheduled removal of the frame diverter. (commit)
  • TCP:Restrict congestion control choices for users via a sysctl: the list ofallowed congestion control choices is set in/proc/sys/net/ipv4/tcp_allowed_congestion_control (the list ofavailable congestion control algorithms is at/proc/sys/net/ipv4/tcp_available_congestion_control) (commit), (commit)
  • ieee80211: allow mtu bigger than 1500 (up to 2304) (commit)
  • TCP: MD5 Signature Option (RFC2385) support. (commit)
  • DCCP: Support for partial checksums (RFC 4340, sec. 9.2) (commit), use higher RTO default for CCID3 (commit), set TX Queue Length Bounds via Sysctl (commit), (commit), add sysctls to control retransmission behaviour (commit)
  • SCTP: Add support for SCTP_CONTEXT socket option. (commit)
  • Netfilter
  • IPSEC
    • Add auditing to ipsec. An audit message occurs when an ipsec SA or ipsec policy is created/deleted (commit)
    • Add netlink interface for the encapsulation family. (commit)
    • Add AF_KEY interface for encapsulation family. (commit)
    • Add encapsulation family. (commit) * Add support for AES-XCBC-MAC (commit)
Various subsystemsSoftware suspendCrypto
  • Add support for the Geode LX AES hardware (commit)
  • Liskov Rivest Wagner, a new tweakable narrow block cipher mode (commit)
  • New XCBC algorithm (commit)
  • Table driven multiplications in GF(2^128) (commit)
CPUFREQ
  • Grandunification of ACPI based speedstep-centrino and acpi-cpufreq drivers.It combines functionality of these two driver into acpi-cpufreq driver.ACPI based functionality in speedstep-centrino is marked deprecated andwill be removed in future. speedstep-centrino will continue to work onsystems that depend on older non-ACPI table based P-state changes (commit 1, 2, 3, 4, 5, 6, 7, 8)
  • p4-clockmod: fix support for Core (commit) and add support for more Intel CPUs (commit)
  • Longhaul: add support for CN400 (commit)
DMNoflush suspending (commit), (commit), (commit)
SELinuxAdd support for DCCP (commit)
DriversGraphicsAdd support for secondary vertical blank interrupt to DRM core and add support to i915 (commit 1, 2); add ioctl in i915 for scheduling buffer swaps at vertical blanks. (commit)
sstfb: add sysfs interface (commit), support command line options (commit), support flat panel timings (commit), fixups for the AMD Geode GX framebuffer driver (commit), add support for STN displays in s3c2410fb (commit), add YUV video overlay support (commit) in mbxfb
SoundThescheduled removal of the OSS drivers depending on OSS_OBSOLETE_DRIVER:miroSOUND PCM20 radio, Creative SBLive! (EMU10K1), Crystal Soundfusion(CS4280/461x), AD1816(A) based cards, AD1889 based cards (AD1819codec), ACI mixer (miroSOUND PCM1-pro/PCM12/PCM20), NM256AV/NM256ZXaudio support, Yamaha OPL3-SA2 and SA3 based PnP cards (commit)
V4L/DVBAdd support for remote control of Hauppauge HVR1110 (commit), add support for both DVB frontends of the Lifeview Trio (commit), add support ptv-305 (commit), add support for Avermedia AverTV Studio 507 (commit), add support for the Terratec Cinergy HT PCMCIA module (commit), add support for Pinnacle 310i (commit), add working dib7000m-module (commit), dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support (commit), add usbvision driver (commit), add support for a ASUSTEK P7131 Dual DVB-T variant (commit), add support for Leadtek Winfast DTV Dongle (STK7700P based) (commit), add initial DiB7000M-demod driver (commit), add support for Dibcom DiB7000PC (commit), remove the broken VIDEO_ZR36120 driver (commit), add Omnivision OV7670 driver (commit), adds support for Pinnacle PCTV 400e DVB-S (commit), add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid (commit), add support for the Compro Videomate DVB-T200A (commit), Implement IR reception for 24xxx devices (commit), add Marvell 88ALP01 "cafe" driver (commit), add support for new revision of Nova-T Stick (commit)
libata
  • Add power management (suspend/resume) support for libata drivers: pata_ali (commit), pata_serverworks (commit), pata_via suspend/resume support (commit), pata_sis and pata_pdc202xx (commit), pata_marvell (commit), pata_cmd64x (commit), pata_cs5520 (commit), pata_sil680 (commit), pata_hpt3x3 (commit), pata_amd (commit), pata_jmicron (commit), pata_it821x (commit), pata_cs5530 (commit), pata_hpt366 (commit),pata_atiixp, pata_cs5535, pata_cypress, pata_efar, pata_marvell,pata_mpiix, pata_netcell, pata_ns87410, pata_oldpiix, pata_opti,pata_optidma, pata_radisys, pata_sc1200, pata_triflex (commit)
  • Generic platform_device libata driver (commit), add 40pin "short" cable support, honour drive side speed detection (commit)
  • Winbond 83759A support (commit)
  • sata_nv ADMA/NCQ + 64 bit DMA support for nForce4 (commit)
  • Add ixp4xx PATA driver for ARM platforms (commit)
SCSIInput drivers
  • lifebook: Add Hitachi Flora-IE 55mi tablet DMI signature (commit)
  • appletouch: Add Geyser IV support (commit)ables.
Networking devices
  • e1000
    • Adda new dynamic itr algorithm, with 2 modes, and make it the defaultoperation mode. This greatly reduces latency and increases small packetperformance, at the "cost" of some CPU utilization. Bulk trafficthroughput is unaffected (commit)
    • Enable hw TSO for IPV6, reduces CPU utilizations by 50% when transmitting IPv6 frames (commit)
    • Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's (commit)
  • Chelsio
  • forcedeth:
  • zd1211rw
  • BNX2: 5709 copper and Serdes chips support (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
  • bcm43xx: add PCI-E code (commit)
  • sk98lin: MII ioctl support (commit)
  • AT91RM9200 Ethernet: Add netpoll / netconsole support (commit)
  • Gianfar: add netpoll support (commit)
USB
  • usbtouchscreen: add support for DMC TSC-10/25 devices (commit)
  • Allow hubs up to 31 children (commit)
  • Added dynamic major number for USB endpoints (commit)
  • Add driver for the USB debug devices (commit)
  • Add support for Novatel S720/U720 CDMA/EV-DO modems (commit)
  • Add autosuspend support to the hub driver (commit)
Hwmon
  • f71805f driver: Add support for "speed mode" fan speed control (commit), add manual fan speed control (commit), let the user adjust the PWM base frequency (commit), support DC fan speed control mode (commit)
  • Add support for the Fintek F71872F/FG chip (commit)
  • Remove the SMBus interface support for it87 (commit)
Watchdog
  • Add iTCO vendor specific support (commit)
I2C
  • Delete the broken i2c-ite bus driver (commit)
PCMCIA
  • IDs for Elan serial PCMCIA device (commit)
  • Allow for four multifunction subdevices (commit)
  • ide-cs: Add ID for "transcend TS1GCF80" (commit) and "Weida TWTTI" (commit)
MMC
  • Support for high speed (50 Hz clock speed) SD cards (commit)
  • Add support for mmc v4 high speed mode (commit)
  • Add support for mmc v4 wide-bus modes (commit)
  • SDHCI high speed support (commit)
IPMIRTC
  • ds1743 support (commit)
  • This adds alarm support for the RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET and RTC_WKALM_RD operations to rtc-sh (commit)
Firewire
  • ohci1394: Implement suspend/resume (commit)
Various
  • Add support for Korenix 16C950-based PCI cards (commit)
  • Driver for the PCEngines WRAP boards (http://www.pcengines.ch) (commit)
  • Remove long-unmaintained ftape driver subsystem. (commit)
  • pktcdvd: add sysfs and debugfs interface (commit)
  • Add a driver for the Xilinx uartlite serial controller (commit)
  • Exar quad port serial (commit)
  • cciss set sector_size to 2048 for performance (commit), add support for 1024 logical volumes (commit), increase number of commands on controller (commit)
透析真谛,似拨云穿雾;共享智慧,如春风沐浴
http://www.kerneltravel.net

TOP

期待kvm
邮箱 sanool at gmail.com  

TOP

希望能给Linux带来新面貌和新发展!

  习惯的力量是可怕的!我发现手机必须要放在笔记本的左边,因为放在右边的话,每次我都会情不自禁地去握它当鼠标用~

TOP

把重要的部分简单翻译解释一下吧。
zope/plone爱好者。

TOP

很早就关注这个了,不知道怎么用哦
广告时间:欢迎访问
http://blog.winupon.com/linux

开始组建www.linuxcoffee.org,欢迎加入

TOP

kankan ~~~~~~~~~~~~~~