LWN.net Logo

2.6.28 merge window, part 2

By Jonathan Corbet
October 22, 2008
As of this writing, just under 6200 non-merge changesets have been merged into the mainline kernel since the 2.6.27 release. This merge window should be drawing to a close around October 24, so we are getting closer to seeing what 2.6.28 will look like. User-visible changes merged since last week's update include:

  • New drivers have been merged for Maxim/Dallas DS3234 SPI realtime clock chips, VIA UniChrome Family graphics chipsets, Toshiba Mobile IO framebuffers, C-Media CM109 USB phones, the touchpad shipped on OLPC XO systems, Automata Sercos III PCI cards (via UIO), Delcom USB 7-segment LED displays, generic USB test-and-measurement devices, Freescale QE/CPM USB device controllers, Vernier Software Technologies USB spectrometers, GPIO-connected NAND flash devices, Freescale i.MX2 and i.MX3 flash controllers, OMAP2/OMAP3-connected OneNAND flash devices, Dialog DA9030/DA9034 multifunction controllers, and Texas Instruments TWL4030/TPS659x0 multifunction controllers.

  • The driver staging tree has been moved into the mainline. It brings with it a new TAINT_CRAP flag and suitably tainted drivers for Meilhaus ME-4000 data collection boards, Go 7007 ("some weird device") video controllers, Agere ET-1310 Gigabit Ethernet controllers, Atmel at76c503/at76c505/at76c505a wireless USB cards, Alacritech SLIC Technology non-accelerated 10Gb Ethernet cards, Alacritech IS-NIC gigabit Ethernet cards, Winbond w35und wireless network adapters, and Prism 2.5 USB wireless network adapters (a driver which includes its own 802.11 stack). Also added are an echo cancellation module and a driver which enables the passing of network packets over a USB link.

  • A lot of work on the Intel i915 graphics driver has been merged; this work includes the Graphics Execution Manager (GEM) GPU memory management subsystem and "IGD OpRegion" support which enables ACPI backlight control. It looks like kernel-based mode setting might not make it for 2.6.28, but much of the rest of the big graphics rework is now merged.

  • The way video drivers handle waiting for vertical blank cycles has been changed to reduce interrupts - and, thus, power consumption.

  • Rik van Riel's memory management scalability patches have, at long last, been merged. These patches separate the management of anonymous, file-backed, and completely unevictable pages, eliminating a lot of useless page scanning.

  • Another VM improvement causes the system to free a page's swap space after that page is brought back into RAM; this effectively increases the amount of swap available on the system.

  • Nick Piggin's rewritten vmap layer should give significant performance improvements, especially as the number of CPUs on a system grows.

  • Huge pages will now be included in core dumps, making the debugging of applications using those pages easier.

  • The container freezer has been merged. It is now possible for the system to freeze all processes within a container (control group) as a unit.

  • The KVM virtualization code has seen a number of improvements, including the ability to assign PCI devices to guests and support for Intel "Tukwila" processors.

  • Kprobes are now supported by the SuperH architecture.

  • There is a new ext3 mount option (data_err=abort) which causes filesystem operations to abort when I/O errors are encountered. In the absence of this option, the old behavior (continue but complain in the system log) remains.

  • In-kernel interrupt balancing for 32-bit x86 systems has been removed. This feature has been deprecated (in favor of user-space balancing) for some time.

Changes visible to kernel developers include:

  • A number of tracing-related patches have been merged. These include the tracepoints mechanism, some instrumentation in the core scheduler code, improvements to the ftrace function tracing feature, a new ftrace-based stack tracer, a new ftrace-based boot (initcall) tracer, and the low-level trace buffer code.

  • The sysctl strategy() function prototype has changed: the unused name and nlen parameters have been removed.

  • Asynchronous I/O support can now be configured out of the kernel, saving about 7KB of space on systems where AIO is not needed.

  • As planned, device_create_drvdata() has been renamed to device_create(), with the same parameters.

  • There is now a mechanism to enable and disable output from pr_debug() and dev_dbg() calls on a per-module basis. Control is through a virtual file in debugfs. There is no documentation file associated with this change; instructions on how to use this feature can be found in the patch changelog.

  • The new dev_WARN() function:

        dev_WARN(struct device *dev, char *format, ...);
    

    will output the formatted warning, along with a full stack trace. This will allow the warnings to be collected at kerneloops.org and incorporated into the reports there.

  • The new %pR formatting directive allows printk() and friends to output the contents of resource structures.

  • There is a new function intended to make life easier for PCI driver writers:

        static inline void *pci_ioremap_bar(struct pci_dev *pdev, int bar);
    

    This function will remap the entire PCI I/O memory region, as selected by the bar argument.

See next week's Kernel Page for a summary of the final days of the 2.6.28 merge window.


(Log in to post comments)

2.6.28 merge window, part 2

Posted Oct 23, 2008 5:19 UTC (Thu) by harinath (subscriber, #47697) [Link]

I found the nand_ecc.c rewrite (commit e6cf5df183) the most interesting, probably because of the well-written exposition of how the improvements were tried out.

What about CUSE?

Posted Oct 23, 2008 8:41 UTC (Thu) by Tuxie (guest, #47191) [Link]

CUSE is still not merged? :( I really hope it will be merged into 2.6.28 as they (the CUSE/OSSP devs) planned.

http://userweb.kernel.org/~tj/ossp/

Nostalgia: Bye bye swap cache!

Posted Oct 23, 2008 14:31 UTC (Thu) by jzbiciak (✭ supporter ✭, #5246) [Link]

Another VM improvement causes the system to free a page's swap space after that page is brought back into RAM; this effectively increases the amount of swap available on the system.

I remember hearing about the swap cache waaaaay back when (2.0 or earlier). Granted, the VM's changed a lot since then. So, with this change, is the swap cache going away?

Nostalgia: Bye bye swap cache!

Posted Oct 23, 2008 17:40 UTC (Thu) by riel (subscriber, #3142) [Link]

No, the swap cache is still there. However, since nowadays many systems have more RAM than swap, it makes sense to be a little more aggressive about freeing swap space, while in the days where systems had little RAM and lots of swap it made sense to hang on to swap space.

Nostalgia: Bye bye swap cache!

Posted Oct 23, 2008 21:09 UTC (Thu) by ballombe (subscriber, #9523) [Link]

... but nowadays we have suspend-to-disk which require a lot of swap-space
to be on the safe side, and disk-space is cheap.

TAINT_CRAP

Posted Oct 27, 2008 22:06 UTC (Mon) by proski (subscriber, #104) [Link]

It brings with it a new TAINT_CRAP flag and suitably tainted drivers for ... Atmel at76c503/at76c505/at76c505a wireless USB cards
That's very encouraging for the developers who worked on the driver. I'm sure they will proudly mention TAINT_CRAP in their resumes.

TAINT_CRAP

Posted Oct 31, 2008 20:57 UTC (Fri) by oak (guest, #2786) [Link]

Hm. I didn't know the driver flags can taint resumes too.

--- my resume ---

Worked on kernel driver A and B. Got them mainlined.

--- interview ---

Interviewer: You developed driver A. Our developer who looked into it
said it was tainted crap.

Interviewed: Has your developer gotten his own code into upstream kernel?

--- branch 1 ---

Interviewer: No.

Interviewed: I would be happy to assist your developers in raising their
code quality up to the crap level.

Interviewer: Err.

--- branch 2 ---

Interviewer: Yes. He's Andrew Morton.

Interviewed: Err. Did he think it was OK?

Interviewed: Sure. Welcome to Google.

---------------

Moral of the story: If your future employer has clueless people you'll be
involved with shit anyway.

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