2.6.33 merge window part 1
Linus began merging patches for the 2.6.33 development cycle on
December 5. The merge window got off to a slow start, but then Linus
began to make up for lost time; as of this writing, some 3900 changesets
have been merged.
User-visible changes include:
- The ftrace framework has seen a number of improvements, including the
ability to trace multiple processes simultaneously,
regular expression support in tracing filters,
tracing of big kernel lock events, and
tracing of accesses and modifications to arbitrary kernel variables.
- Perhaps most significantly (for ftrace), the dynamic probes for ftrace patch set
has been merged, allowing the placement of arbitrary tracepoints at
run time. The "perf" tool has also been extended to be able to place
and use dynamic tracepoints.
- There are many other enhancements to "perf," including a new framework
for benchmark suites, a command to record and analyze kernel memory
allocations, and a generic scripting language hook set.
- Eric Biederman's long quest
to remove binary sysctl() support has finally made it into
- The recvmmsg()
system call has been added.
- The anticipatory I/O scheduler has been removed, in favor of CFQ which
is seen as providing a superset of features.
- The new, unified block I/O
bandwidth controller has been merged.
- The networking layer has gained support for TCP
cookie transactions [PDF], a mechanism which allows faster, more
secure, and more robust initiation of TCP connections.
- The DRBD distributed
block device has been merged.
- New drivers:
- Boards and processors:
ST-Ericsson U8500 boards,
Marvell Dove (88AP510) system-on-chip CPUs,
Palm Centro 685 phones, and
CompuLab CM-T35 boards.
- Networking: TI High End CAN controllers,
Intel Wireless MultiCom 3200 chips,
Ralink rt2800 wireless chipsets,
Microchip MCP251x SPI CAN controllers,
Freescale MSCAN-based CAN controllers, and
Solarflare SFC9000 10G Ethernet controllers.
- Sound: miroSOUND PCM20 radio tuners,
Texas Instruments TPA6130A2 stereo headphone amplifiers,
TI tlv320dac33 codecs,
Asahi Kasei AK4113 and AK4671 codecs,
WM8580 based audio subsystems on SMDK64xx systems,
Wolfson Micro WM8711/L sound devices, and
Raumfeld audio adapters.
- Miscellaneous: GRLIB APBUART serial ports,
Oki MSM6242 realtime clock chips, and
Ricoh RP5C01 RTCs.
Changes visible to kernel developers include:
- There is a new unreachable() macro which can be used to
mark code which will never be executed. Its main application is in
macros like BUG().
- New security module hooks, intended for pathname-based modules, have
been added to check chmod(), chown(), and
- There is a new RCU variant, called "tiny RCU," which is meant for
non-SMP situations where memory footprint must be minimized.
- printk_ratelimit() can, once again, be used in atomic
context. (Note, though, that there are developers who would like to
eliminate this function in favor of some sort of more local rate
- The creation of nearly-identical tracepoints has been made
significantly easier. TRACE_EVENT_TEMPLATE() has a syntax
identical to TRACE_EVENT(), but it creates a template which
can be used by the simpler DEFINE_EVENT() macro to create
specific tracepoints. The code gets simpler, and, as a side benefit,
the kernel gets smaller.
The merge window should stay open for at least another week; expect quite a
bit more code to be incorporated for 2.6.33 before the window closes.
to post comments)