LWN.net Logo

2.6.38 merge window part 1

By Jonathan Corbet
January 12, 2011
As of this writing, almost 5400 non-merge changesets have been pulled into the mainline for the 2.6.38 development cycle. This cycle looks to be another busy one, with a fair emphasis on the reworking of low-level infrastructure. User-visible changes merged so far include:

  • The per-session group scheduling patch has been merged. This change should yield better interactive response under a number of workloads.

  • The dcache scalability patch set has been merged. This tricky code can yield significant performance improvements for some types of filesystem-heavy workloads.

  • Kernel modules are finally loaded with read-only code on the x86 architecture; data is now non-executable across the entire kernel. See this article for more information on this change.

  • Transmit packet steering is now supported by the networking layer. This feature improves transmit performance by placing outgoing data on the proper (CPU-local) queue.

  • Support for the batman-adv mesh networking protocol has graduated from the staging tree and is now part of the main kernel.

  • The trusted and encrypted keys patch set has been merged.

  • The ext3 filesystem has gained support for batched discard operations and the FITRIM ioctl().

  • Emulation for the Video4Linux1 API has been removed from the kernel; any remaining V4L1 applications will need to be supported via a user-space library or converted to V4L2. Some unsupported V4L1 drivers (cpia, stradis) have been removed. The deprecated ibmcam, konicawc, and ultracam drivers have also been removed; those devices are now supported with GSPCA drivers.

  • New drivers include:

    • Systems and processors: Marvell PXA955 processors, Buffalo Linkstation Live v3 (LS-CHL) NAS drives, AM3517/05 CRANE boards, and SH-Mobile AG5 (R8A73A00) processors.

    • Block: MegaRAID 9265/9285 controllers, Acard ATP8620 host controllers, Marvell Dove SDHCI controllers, JMicron 388 SD/MMC controllers, Tegra SD/MMC controllers, and Synopsys DesignWare memory card interfaces.

    • Input: VTI CMA3000 Tri-axis accelerometers, Renesas ST1232 touchscreen controllers, Roccat Kone[+] gaming mice, Synaptics TM1217 touchscreen controllers, Synaptics i2c rmi4 touchscreens, and vast numbers of Analog Devices inclinometers, capacitive sensors, gyroscopes, etc.

    • Networking: USB NCM (network control model) class devices, USB serial CAN adapters using the LAWICEL ASCII protocol, Ralink RT33xx wireless chipsets (though the driver does not actually work yet), and Realtek RTL8192CE/RTL8188SE wireless network adapters.

    • Miscellaneous: SHARP LQ035Q7DB03 TFT LCD framebuffer devices, Blackfin ADV7393 video encoders, PXA3xx 2D graphics accelerators, TC3589X keypad controller modules, VIA VT8500 on-chip serial ports, Infineon 6x60 modems, Intel EG20T UARTs, Sensirion SHT21 humidity and temperature sensors, Dallas Semiconductor DS620 sensors, and Discretix SEP security processors.

    • USB: Marvell PXA9xx Processor USB2.0 controllers, Intel EG20T (Topcliff) USB device controllers, Altec Lansing AB8500 USB transceivers, Qualcomm on-chip USB OTG controllers, and TI twl6030-usb transceivers.

    • Video4Linux: Fujitsu mb86a20s ISDB-T/ISDB-Tsb demodulators, Timberdale "Video In" devices, TI WL1273 FM radios, and OmniVision OV2640 sensors.

Changes visible to kernel developers include:

  • Flags can now be specified for tracepoints with the TRACE_EVENT_FLAGS() macro. The initial flag of interest is TRACE_EVENT_FL_CAP_ANY, which allows the tracepoint to be used by unprivileged users; this flag has been applied to the system call tracepoints.

  • The perf trace command has been renamed to perf script.

  • Conditional tracepoints are now supported by the kernel.

  • A number of tracepoints relating to power management events have been changed; see Documentation/trace/events-power.txt for more information. New tracepoints have been added to the RCU subsystem and the Radeon video driver.

  • The cancel_rearming_delayed_work() and cancel_rearming_delayed_workqueue() functions are deprecated and will be removed in 2.6.39.

  • The kernel build system is now able to link device tree blobs directly into the kernel image.

  • There is a new capability bit (CAP_SYSLOG) which controls access to the system log.

  • A new function, kref_sub(), allows code to return multiple references in a single call.

  • The external data representation (XDR) API has changed to incorporate the "xdr_stream" concept; all in-kernel users have been updated. XDR streams provide an improved resistance to buffer overflows, increasing the security of protocol implementations using XDR.

  • The "timerlist" infrastructure has been added for kernel subsystems which must manage lists of timers. See <linux/timerlist.h> for an overview of the API.

  • The direct rendering core has gained the ability to handle precise vertical blanking timestamps; this feature has been used by some drivers to improve their OpenML extension conformance.

The merge window can be expected to remain open until roughly January 19. That leaves plenty of time for other interesting features to find their way into the mainline; next week we'll summarize changes for the second half of the 2.6.38 merge window.


(Log in to post comments)

2.6.38 merge window part 1

Posted Jan 13, 2011 9:50 UTC (Thu) by bthery (guest, #55632) [Link]

I guess "timerlist infrastructure" is referring to timerqueue and <linux/timerqueue.h>.

2.6.38 merge window part 1

Posted Jan 13, 2011 16:31 UTC (Thu) by jstultz (subscriber, #212) [Link]

Yes. I had missed the timer_list code, and Thomas suggested we avoid a namespace collision. So timerqueue it quickly became. :)

Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds