2.6.38 merge window part 1
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
- 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
- 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
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
- 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.
to post comments)