For the weekend of May 16th and 17th 2009, I'm Jon Masters with a summary of the weekend's LKML traffic.

In today's issue: Expedited RCU, mod_timer() helper functions, CAN, version
numbering, and performance regressions.

Expedited RCU. Paul E. McKenney posted version 5 of his "big hammer" RCU grace
period RFC patch set. This patch series introduces the synchronize_rcu_expedited
and synchronize_rcu_bh_expedited functions that are designed to force the RCU
grace period as quickly as possible. According to Paul, the patch series passes
light rcutorture testing with grace periods taking around 45 microseconds on
an 8-CPU POWER machine, which he believes is good enough from a performance
standpoint. Under 'Shortcomings' Paul notes that 'CPU hotplug testing would
probably cause it to die horribly'.

mod_timer() helper functions. Chris Peterson pointed out that most of the
approximately 1,000 in-kernel calls to mod_timer() perform one of three
things: multi-second timeouts, millisecond timeouts, or +1 jiffie ASAP events.
He noted that few calls use mod_timer()'s 'expires' deadline time without
manually calculating 'jiffies + delay' and so posted a series of simpler
helper functions to make life easier for the common use cases. These functions
are named mod_timer_seconds, mod_timer_msecs, and mod_timer_yield. This caused
Andrew Morton to ponder why multi-jiffie timeouts don't hit a potential bug
that would cause us to wait much longer than anticipated. Thomas Gleixner
responded with a description of exactly what does happen.

CAN. Wolfgang Grandegger posted a 7 part patch series containing a generic CAN
network device driver interface, as part of the Socket-CAN project hosted on
the BerliOS web-server. He noted that, 'The PF_CAN protocol family for the
Controller Area Network is available in the kernel since version 2.6.25 but
drivers for real CAN devices are still missing'. CAN is a simple network
protocol very popular with embedded device makers, and has been for a long
time. You might know it from it's use in your vehicle - since 2008 all new cars
sold in the United States are required to contain a variant of CAN as part of
their on board diagnostics (ODBI-II) interface through ISO 15765-4.

Version numbering. Jeff Garzik pointed out that 2.6.30-rc6 contained a bug in
the generation of the kernel version string, resulting in modules being
installed under a '2.6.30-rc6-00000-rc6' directory, rather than the regular
'2.6.30-rc6' expected naming. Someone else suggested that this has happened
since rc5. Sam Ravnborg asked Nico to take a look, and a patch was posted.

In today's announcements: Regressions. Rafael J. Wysocki responded to Linus'
announcement email for 2.6.30-rc6, in which Linus had said he missed Rafael's
regression summary mails, with a series of postings and summaries of
outstanding regressions in the 2.6.30 kernel, as well as regressions
introduced between 2.6.29 and 2.6.30. A total of 81 regressions in the
2.6.30-rc6 kernel were identifed as of May 16th, many were unresolved. Rafael
has begun automated poking of those identified as being responsible.

Andrew Morton released an mm-of-the-moment in 2009-05-17-10-57. It contains
dozens of patches against 2.6.30-rc6, including a large set of KSM patches,
the experimental page-allocator changes and vmscan chagnes (for example, the
patch to vmscan that favors evicting use-once pages first), and much more.

The latest kernel release is 2.6.30-rc6, which was released by Linus on Friday
evening. There are already a number of fixes pending.

That's a summary of today's LKML traffic. For further information visit kernel.org. I'm Jon Masters.