Merged for 2.6.23
- New drivers for Dallas DS1682 elapsed time recorder chips, PMC-Sierra
MSP71xx i2c controllers, Renesas M66592 USB peripheral controllers,
Renesas R8A66597 USB host controllers, OTi-6858 USB-to-RS232 bridge
controllers, Samsung S3C24xx SoC USB device controllers, Intel iop32x,
iop33x, and iop13xx DMA engines, Xilinx SystemACE compact flash
interfaces, BCM1250 dual UART devices, OMAP24xx multichannel SPI
controllers, Atmel AVR32 AT32AP700x real-time clocks, ST M41T80 and ST
M48T59 real-time clocks, Dallas DS1216 real-time clocks, TI OMAP
framebuffers, display controllers, and LCD controllers (along with a
support for a number of panels), Atmel AT32AP700X watchdog devices,
IBM z/VM virtual card readers and punches, Afatech AF9005
demodulators.
- After years of work, the core Xen i386 implementation has been
merged. Xen is finally a part of the mainline kernel. (Anybody who
is tempted to believe that predictions found in LWN are worth anything
may be amused by Dave Jones
poking fun at a suggestion, published in 2004, that Xen could be
merged sometime soon).
- The fallocate()
system call has been merged, but without the deallocation options.
- The developmental ext4 filesystem has gained a number of new features,
including fallocate() support, nanosecond timestamps, and
support for directories containing more than 65,000 other directories.
- The new "macvlan" driver allows the system administrator to create
virtual interfaces mapped to and from specific MAC addresses.
- A number of virtual drivers for Sun logical domains (on the SPARC64
architecture) have been added. LDOM CPU hotplug support has also been
added.
- The bsg code - a new generic SCSI device driver based on the block
layer - has been merged.
- IPV4 multipath cached routing support has been dropped; this code
never did work very well, and never got out of the experimental
state.
- Basic, experimental support for PPP over L2TP sockets has been added.
- A device model extension (marked experimental) can export a laptop's
desktop management information (DMI) data through sysfs. This will
allow distributors to load just the drivers needed for a specific
laptop instead of the "load them all and let the hardware sort them
out" technique which is often used now.
- The highly experimental "USB persist" feature attempts to maintain the
state of USB devices when they lose power. The driving motivation
between this patch is to be able to suspend a system containing
filesystems on USB storage and still have those filesystems mounted
and working at resume time.
- As scheduled, the speedstep-centrino CPU governor has been removed in
favor of the acpi-cpufreq code.
- The XFS filesystem now has a "stream of files" concept which allows it
to place related files (a series of frames in a video stream, for
example) contiguously on disk.
- The AFS filesystem now has file locking support.
- The raw block driver has been un-deprecated since it appears it will
not be going away anytime soon.
- The O_CLOEXEC
open flag has been added.
- There is a new clone() flag - CLONE_NEWUSER - which
creates a new user namespace for the process; it is intended for use
with container systems.
- The long-debated memory
fragmentation avoidance patches have been merged at last; the
associated lumpy reclaim
code has been merged as well.
- The kernel virtual machine (KVM) code can now support SMP guests.
Changes visible to kernel developers include:
- Much of the x86 startup code has been rewritten in C. There should be
little in the way of changes for anybody who does not actually get
into the code, but, for those folks, the new version should be much
easier to work with.
- There is a new rtnetlink API for managing software network devices.
- The networking core can now work with devices which have more than one
transmit queue. This is a feature which was needed to properly
support some wireless devices.
- The sysfs core has been significantly rewritten to weaken the
connection between sysfs entries and internal kobjects. The new code
should make life easier for driver writers who will have fewer object
lifecycle issues to worry about.
- The never-used enable_wake() PCI driver method has been
removed.
- Drivers wanting to get the revision ID from the PCI config space
should now just use the value found in the new revision
member of the pci_dev structure. All in-tree drivers have
been changed to use this new approach.
- The SCSI layer has picked up a couple of scatter/gather accessor
functions - scsi_dma_map() and scsi_dma_unmap() - in
preparation for chained scatter/gather lists and bidirectional
requests. Most drivers in the kernel have been updated to use these
functions.
- The idr code has a couple of new helper functions:
idr_for_each() and idr_remove_all().
- Much of the kernel build system has been converted over to
"menuconfig" objects, making it easy to turn whole groups of options
on or off at once.
- sys_ioctl() is no longer exported to modules.
- The page table helper functions ptep_establish(),
ptep_test_and_clear_dirty()
and ptep_clear_flush_dirty() have been removed - they had no
in-kernel users.
- Kernel threads are non-freezable by default; any kernel thread which
should be frozen for a suspend-to-disk operation must now call
set_freezable() to arrange for that to happen.
- The SLUB allocator is now the default.
- The new function is_owner_or_cap(inode) tests for access
permission based on the current fsuid and capabilities; it replaces
the open-coded test previously found in several filesystems.
- There is a new utility function:
char *kstrndup(const char *s, size_t max, gfp_t gfp);This function duplicates a string along the lines of the user-space strndup().
It's worth noting a couple of things which will not be in 2.6.23. The first is the process containers patch, which is not quite considered to be ready yet. Some other features (notably CFS group scheduling) are waiting for process containers, so chances are good that this code will be in shape for merging by 2.6.24.
The other big omission is the x86_64 clockevents, dynamic tick, and high-resolution timers
code. This patch is considered by its authors to be ready (and your editor
has been running it without ill effect), but, after the troubles caused by
the integration of the i386 version of this code in 2.6.21, there is a
desire felt by some developers to go a bit more slowly and carefully. The
result was a somewhat unhappy discussion on the mailing lists and a plan to
better split these patches so they can be carefully reviewed for the next
development cycle.
| Index entries for this article | |
|---|---|
| Kernel | Releases/2.6.23 |
Posted Jul 19, 2007 12:09 UTC (Thu)
by Sho (subscriber, #8956)
[Link] (2 responses)
Posted Jul 19, 2007 18:19 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Posted Jul 22, 2007 12:43 UTC (Sun)
by csamuel (✭ supporter ✭, #2624)
[Link]
Posted Jul 20, 2007 11:05 UTC (Fri)
by hjkoch (guest, #45353)
[Link]
http://lkml.org/lkml/2007/7/18/488
It's been silently accepted by Linus and will also appear in 2.6.23
Hans J. Koch
Posted Jul 20, 2007 23:02 UTC (Fri)
by smoogen (subscriber, #97)
[Link]
[For those who don't know.. the original startup code was written in Cobol. It was part of the kernel that Linus had used to finish a required class before finishing university. Since it was written in Cobol, it was 2 things:
A work of art that anything could be written so wonderfully in Cobol.
A piece of abomination that only Linus and two old fellows working on the Finnish paycheck system he used for sources of knowledge could debug.
]
Any news on swap prefetch?Merged for 2.6.23
yeah, good question. I'd love to get an update on it's progress...Merged for 2.6.23
A search of Linus's
git tree doesn't seem to show anything at present I'm afraid.. :-(
Merged for 2.6.23
An important thing to mention is the Userspace IO core that Greg posted:Merged for 2.6.23
Much of the x86 startup code has been rewritten in C. There should be little in the way of changes for anybody who does not actually get into the code, but, for those folks, the new version should be much easier to work with.Merged for 2.6.23
