|
|
Subscribe / Log in / New account

2.6.39 merge window, part 2

By Jonathan Corbet
March 23, 2011
As of this writing, some 5,500 non-merge changesets have been merged into the mainline since last week's 2.6.39 merge window summary. A wide-ranging set of new features, cleanups, and performance improvements has been added to the kernel. Some of the more significant user-visible changes include:

  • The ipset mechanism has been merged. Ipset allows the creation of groups of IP addresses, port numbers, and MAC addresses in a way which can be quickly matched in iptables rules.

  • The size of the initial congestion window in the TCP stack has been increased, a change which should lead to shorter latencies for the loading of web pages and other server-oriented tasks. See this article for details.

  • There is a new system call:

        int syncfs(int fd);
    

    It behaves like sync() with the exception that only the filesystem containing fd will be flushed to persistent storage.

  • The USB core has gained support for USB 3.0 hubs.

  • The transcendent memory core has been added to the staging tree. Along with it came "zcache," a compressed in-memory caching mechanism.

  • There is a new "multi-queue priority scheduler" queueing discipline in the networking layer which enables the offloading of quality-of-service processing work to suitably capable hardware.

  • The CHOKe flow scheduler and the Stochastic Fair Blue scheduler have been added to the networking code.

  • RFC 4303 extended IPSEC sequence numbers are now supported.

  • Support for the UniCore 32-bit RISC architecture has been merged.

  • New drivers include:

    • Processors and systems: VIA/WonderMedia VT8500/WM85xx System-on-Chips, IMX27 IPCAM boards, and MX51 Genesi Efika Smartbook systems.

      Block: Broadcom NetXtreme II FCoE controllers and Freescale MXS Multimedia Card interfaces.

    • Graphics: Intel GMA500 controllers (2D acceleration only), USB-connected graphics devices, MXS LCD framebuffer devices, and LD9040 AMOLED panels.

    • Input: Hyper-V virtualized mice, Roccat Kova[+] mouse devices, Roccat Arvo keyboards, Wolfson WM831x PMIC touchscreen controllers, Atmel AT42QT1070 touch sensor chips, and Texas Instruments TSC2005 touchscreen controllers.

    • Networking: Texas Instruments WiLink7 bluetooth controllers (graduated from staging), Bosch C_CAN controllers, Faraday FTMAC100 10/100 Ethernet controllers, and the Xen "netback" back-end driver.

    • Miscellaneous: Faraday FUSB300 USB peripheral controllers, OMAP USBHS host controllers, NVIDIA Tegra USB host controllers, Texas Instruments PRUSS-connected devices, MSM UARTs, Maxim MAX517/518/519 DACs, RealTek PCI-E card readers, Analog Devices ad7606, ad7606-6, and ad7606-4 analog to digital converters, Maxim MAX6639 temperature monitors, Maxim MAX8688, MAX16064, MAX34440 and MAX34441 hardware monitoring chips, Lineage compact power line power entry modules, PMBus-compliant hardware monitoring devices, Linear Technology LTC4151 is high voltage I2C current and voltage monitors, Intel SCU watchdog devices, Ingenic jz4740 SoC hardware watchdogs, Xen watchdog devices, NVIDIA Tegra internal I2C controllers, Freescale i.MX28 I2C interfaces, MXS Application UART (AUART) ports, SuperH SPI controllers, Altera SPI controllers, OpenCores tiny SPI controllers, SMSC SCH5627 Super-I/O hardware monitoring chips, Texas Instruments ADS1015 12-bit 4-input ADC devices, Diolan U2C-12 USB adapters, SPEAr13XX PCIe controllers (in "gadget" mode), and Freescale MXS-based SoC i.MX23/28 DMA engines.

    • Sound: Firewire-connected sound devices, Wolfson Micro WM8991 codecs, Cirrus CS4271 codecs, Freescale SGTL5000 codecs, TI tlv320aic32x4 codecs, Maxim MAX9850 codecs, and TerraTec 6fire DMX USB interfaces.

    • Outgoing: A number of TTY drivers (epca, ip2, istallion, riscom8, serial167, specialix, stallion, generic_serial, rio, ser_a2232, sx, and vme_scc) have been moved to the staging tree in anticipation of removal in 2.6.41. The smbfs and autofs3 filesystems, which were moved to staging in 2.6.37, have now been moved out of the kernel entirely.

Changes visible to kernel developers include:

  • After many years of work by a large number of developers, the big kernel lock has been removed from the kernel.

  • The dynamic debug mechanism has some new control flags allowing for control over whether the function name, line number, module name, and current thread ID are printed.

  • The kernel can export raw DMI table data via sysfs, making it available in user space without needing to go through /dev/mem.

  • Network drivers can now enable hardware support for receive flow steering via the new ndo_rx_flow_steer() method.

  • The "pstore" filesystem provides access to platform-specific persistent storage which can be used to carry information across reboots.

  • The EXTRA_CFLAGS and EXTRA_AFLAGS makefile variables have been replaced with ccflags-y, ccflags-m, asflags-y, and asflags-m.

  • kmem_cache_name(), which returned the name of a slab cache, has been removed from the kernel.

  • The SLUB memory allocator now has a lockless fast path for allocations, speeding performance considerably. "Sadly this does nothing for the slowpath which is where the main issues with performance in slub are but the best case performance rises significantly."

  • Kernel threads can be created on a specific NUMA node with the new kthread_create_on_node() function.

  • The new function delete_from_page_cache() does what its name implies; unlike remove_from_page_cache() (which has now been deleted), it also decrements the page's reference count. It thus more closely mirrors add_to_page_cache().

  • There is a whole new set of functions which are the preferred way to convert strings to integer values; see this article for details.

  • The new "hwspinlock" framework allows the implementation of synchronization primitives on systems where different cores are running different operating systems. See Documentation/hwspinlock.txt for more information.

If the usual two-weeks rule holds, the 2.6.39 merge window can be expected to close on March 28. Watch this space next week for a summary of the final changes merged for this development cycle.

Index entries for this article
KernelReleases/2.6.39


to post comments

2.6.39 merge window, part 2

Posted Mar 24, 2011 10:17 UTC (Thu) by sasha (guest, #16070) [Link] (1 responses)

Entry about "receive flow steering" should have a link to http://lwn.net/Articles/382428/. The article is almost a year old, but I hope it is mostly correct.

2.6.39 merge window, part 2

Posted Mar 24, 2011 21:56 UTC (Thu) by BenHutchings (subscriber, #37955) [Link]

Receive flow steering is not new. The new feature is the hook for hardware acceleration, which I described briefly in the commit message and comments: http://article.gmane.org/gmane.linux.network/184332/

2.6.39 merge window, part 2

Posted Mar 24, 2011 13:05 UTC (Thu) by knan (subscriber, #3940) [Link]

Whee, ipset merged! Congratulations Jozsef & others!

2.6.39 merge window, part 2

Posted Mar 24, 2011 16:57 UTC (Thu) by naptastic (guest, #60139) [Link] (2 responses)

I've heard that a largeish body of work from the realtime tree got merged, but I don't see anything about that here. Did it happen? I tried looking through a few git pages but I don't know how to sift through it efficiently to find what I'm looking for.

2.6.39 merge window, part 2

Posted Mar 24, 2011 17:52 UTC (Thu) by abacus (guest, #49001) [Link] (1 responses)

Maybe it's the Moving interrupts to threads work ?

2.6.39 merge window, part 2

Posted Mar 25, 2011 2:38 UTC (Fri) by naptastic (guest, #60139) [Link]

Yes, that's what it was, and it was in last week's summary, not this weeks. Thank you!

I probably missed it because it's being billed as a debugging feature; the editor omits the potential latency improvement this change could bring.

2.6.39 merge window, part 2

Posted Mar 24, 2011 17:02 UTC (Thu) by ortalo (guest, #4654) [Link] (2 responses)

Hey: BKL removal and just a single line in a merge summary? Haven't all past and present kernel developpers gathered on the beach drinking and dancing all night around camp fire for celebration?

2.6.39 merge window, part 2

Posted Mar 25, 2011 11:30 UTC (Fri) by nix (subscriber, #2304) [Link]

This is Jon being modest 'cos of the amount of work he put into it, I think.

2.6.39 merge window, part 2

Posted Mar 31, 2011 9:56 UTC (Thu) by cthart (guest, #4457) [Link]

Methinks the next kernel should be labeled version 3.0 in celebration of this fact.
Wasn't 2.0 the first to support SMP with the BKL?

Intel Arrandale

Posted Mar 24, 2011 19:24 UTC (Thu) by ncm (guest, #165) [Link]

The fixes for i915 drm drivers that enable people to use laptops with Intel's built-in graphics system are supposed to all find their way into 2.6.39. We can hope they will then be backported to the maintained 2.6.3x.y releases. Meanwhile, the action has shifted to supporting Intel's Sandy Bridge graphics system.

Experiences with the i915 driver make me nostalgic for the late '90s. Intel still has room for improvement in providing drivers coincident with the hardware release. Thanks to all for the lots o' hard work.

2.6.39 merge window, part 2

Posted Mar 27, 2011 3:18 UTC (Sun) by nlucas (guest, #33793) [Link]

Now it's the time for some fortune teller to update his 2011 prediction web page and add the BKL removal on the Linux kernel. :-D

Not even LWN dare to predict it this year. Maybe because they felt they were overly optimistic with their earlier -rt merging prediction.


Copyright © 2011, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds