The 2.6.19 process begins
- The OCFS2 filesystem is no longer marked "experimental."
- A number of InfiniBand updates, including better RDMA support and
drivers for some new adapters.
- Support for IPv6 policy routing rules - and a mechanism for the
creation of multiple IPv6 routing tables to support those rules.
- The parallel ATA driver
patch set.
- The labeled networking
patch set implementing the Commercial
IP Security Option.
- Support for the Atmel AVR32 architecture.
- Super-H support for Titan, SH7710VoIPGW and I-O DATA Landisk boards.
- Big updates to the PowerPC and S/390 architectures. Among other
things, S/390 has gained KProbes support.
- New drivers for external flash on ATSTK1000 boards, TI OMAP1/2 i2c busses, ESI Miditerminal 4140 devices, Areca RAID controllers, SuperTrak EX8350/8300/16350/16300 SCSI controllers, QLogic QLA3xxx network interfaces, IBM eHEA Ethernet adapters, and the Ethernet controller found on Cirrus Logic ep93xx boards. The controversial aic94xx driver, originally written by Luben Tuikov and since revised by a number of others, has also been merged.
Changes visible to kernel developers include:
- The CHECKSUM_HW value has long been used in the networking
subsystem to support hardware checksumming. That value has been
replaced with CHECKSUM_PARTIAL (intended for outgoing packets
where the job must be completed by the hardware) and
CHECKSUM_COMPLETE (for incoming packets which have been
completely checksummed by the hardware).
- A number of memory management changes, including tracking of dirty
pages in shared memory mappings, making the DMA32 and HIGHMEM zones
optional, and an architecture-independent mechanism for tracking
memory ranges (and the holes between them).
- The pud_page() and pgd_page() macros now return a
struct page pointer, rather than a kernel virtual address.
Code needing the latter should use pud_page_vaddr() or
pgd_page_vaddr() instead.
- A number of driver core
changes including parallel device probing and some improvements to
the suspend/resume process.
- There is now a notifier chain for out-of-memory situations; the idea
here is to set up functions which might be able to free some memory
when things get very tight.
- The semantics of the kmap() API have been changed a bit: on
architectures with complicated memory coherence issues,
kmap() and kunmap() are expected to manage coherency
for the mapped pages, thus eliminating the need to explicitly flush
pages from cache.
- PCI Express Advanced Error Reporting is now supported in the PCI
layer.
- A number of changes have been made to the inode structure in
an effort to make it smaller.
- The no_pfn() address space operation has been added.
For anybody who is curious about what else is likely to be merged, Andrew Morton's 2.6.19 -mm merge plans document is worth a look. Highlights include another set of memory patches (with ongoing discussion over whether making ZONE_DMA optional makes sense), a rework of the network time protocol code, the vectored AIO patch set (maybe), a long list of NFS improvements, eCryptfs (though there is some opposition here), various device mapper and RAID improvements, and a number of changes to the generic IRQ layer.
Additionally, Andrew plans to merge a couple of container-oriented patches: virtualization for the utsname and IPC namespaces. Says Andrew:
Normally I'd just buffer all the functionality into -mm until it's ready to go and is actually useful to userspace. But for this work that would mean just too many patches held for too long. So I'll start moving little pieces like this into mainline.
One thing which is not likely to go in is reiser4, which is still
held up on various needed fixes. So this filesystem looks like it will
wait for yet another development cycle.
