LWN.net Logo

2.6.35 merge window part 3

By Jonathan Corbet
May 31, 2010
The 2.6.35 merge window was closed with the 2.6.35-rc1 release on May 30. A relatively small number of changes have been merged since last week's summary; the most significant are summarized here.

User-visible changes include:

  • The "ramoops" driver allows the system to record oops information in persistent RAM for recovery later.

  • The Btrfs filesystem has gained basic direct I/O support.

  • The FUSE filesystem now enables user-space filesystem implementations to transfer data with the splice() system call, avoiding a copy operation.

  • A new, non-ACPI CPU-idle mechanism for Intel processors has been added on an experimental basis. It seems that, with enough cleverness, it's possible to save more power by handling idle states directly instead of letting the ACPI BIOS do it.

  • There are a few new drivers: ST-Ericsson AB8500 power management IC RTC chips, SMSC EMC1403 thermal sensors, Texas Instruments TMP102 sensors, MC13783 PMIC LED controllers, Cirrus EP93xx backlight controllers, ADP8860 backlight controllers, RDC R-321x GPIO controllers, Janz VMOD-TTL digital I/O modules, Janz VMOD-ICAN3 Intelligent CAN controllers, TPS6507x based power management chips and touchscreen controllers, ST-Ericsson AB3550 mixed signal circuit devices, AB8500 power management chips (replacing existing driver), S6E63M0 AMOLED panels, and NXP PCF50633 MFD backlight controllers.

Changes visible to kernel developers include:

  • The user-mode helper API (used by the kernel to run programs in user space) has changed somewhat. call_usermodhelper_setcleanup() has become:

         void call_usermodehelper_setfns(struct subprocess_info *info,
    		    int (*init)(struct subprocess_info *info),
    		    void (*cleanup)(struct subprocess_info *info),
    		    void *data);
    

    The new init() function will be called from the helper process just before executing the helper function. There is also a new function:

         call_usermodehelper_fns(char *path, char **argv, char **envp,
    			     enum umh_wait wait,
    			     int (*init)(struct subprocess_info *info),
    			     void (*cleanup)(struct subprocess_info *), void *data)
    

    This variant is like call_usermodhelper() but it allows the specification of the initialization and cleanup functions at the same time.

  • The fsync() member of struct file_operations has lost its struct dentry pointer argument, which was not used by any implementations.

  • The new truncate sequence patches have been merged, changing how truncate() is handled in the VFS layer.

As is always the case, a few things were not merged. In the end, suspend blockers did not make it; there was really no question of that given the way the discussion went toward the end of the merge window. The fanotify file notification interface did not go in, despite the lack of public opposition. Also not merged was the latest uprobes posting. Concurrency-managed workqueues remain outside of the mainline, as does a set of patches meant to prepare the ground for that feature. Transparent hugepages did not go in, but it was probably a bit early for that code in any case. The open by handle system calls went through a bunch of revisions prior to and during the merge window, but remain unmerged. A number of these features can be expected to try again in 2.6.36; others will probably vanish.

All told, some 8,113 non-merge changesets were accepted during the 2.6.35 merge window - distinctly more than the 6,032 merged during the 2.6.34 window. Linus's announcement suggests that a few more changes might make their way in after the -rc1 release, but that number will be small. Almost exactly 1000 developers have participated in this development cycle so far. As Linus noted in the 2.6.35-rc1 announcement, the development process continues to look healthy.


(Log in to post comments)

2.6.35 merge window part 3

Posted May 31, 2010 17:11 UTC (Mon) by jengelh (subscriber, #33263) [Link]

I hope we'll have a Who Wrote 2.6.35 then.

Who wrote 2.6.35

Posted May 31, 2010 17:26 UTC (Mon) by corbet (editor, #1) [Link]

Certainly there will be a "who wrote" article - it's traditional! That needs to come later in the development cycle, though; experience shows that about 25% of the total changes are yet to be merged...

2.6.35 merge window -- performance regression

Posted Jun 1, 2010 9:48 UTC (Tue) by leonov (subscriber, #6295) [Link]

Phoronix published some interesting regressions on the 2.6.35 kernel. I'm sure it's being dealt with, I just found it a nice example of the value of automated testing.

http://www.phoronix.com/scan.php?page=article&item=li...

2.6.35 merge window -- performance regression

Posted Jun 1, 2010 11:19 UTC (Tue) by patrick_g (subscriber, #44470) [Link]

Perhaps you will be interested by these 3 posts on the LKML:

http://lkml.org/lkml/2010/5/31/415
http://lkml.org/lkml/2010/6/1/4
http://lkml.org/lkml/2010/6/1/45

2.6.35 merge window -- performance regression

Posted Jun 1, 2010 21:47 UTC (Tue) by einstein (subscriber, #2052) [Link]

Ingo's response was the wisest and most reasonable. The others sounded rather defensive.

2.6.35 merge window -- performance regression

Posted Jun 8, 2010 0:12 UTC (Tue) by mlankhorst (subscriber, #52260) [Link]

If you ever read phoronix you would agree with airlied :)

2.6.35 merge window part 3

Posted Jun 3, 2010 18:50 UTC (Thu) by MisterIO (guest, #36192) [Link]

What's holding back the concurrency-managed workqueues code? Does anybody know?

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