kernel weekly news – 26.03.2011

Posted: March 26, 2011 in kernel

Hello people and welcome to this week’s edition!

-Al Viro has more VFS updates (see last week’s edition) :

 Mostly vfsmount-related stuff; some leftovers from mnt_devname
(not all, BTW - there's more pending cleanups around nfs/super.c) plus
pstore fix plus deadlock fix in pivot_root().  The really neat thing is
that now we have no blocking on fs locks under namespace_sem - the only
blocking stuff under it now is kmalloc(), which makes things much more
robust.  Please, pull from the usual place -
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6.git/ for-linus

More to follow tonight - I hoped to push assorted patches accumulated
during the last cycle in this pile, but that'll have to wait until the
next push. 

-Jesse Barnes has PCI changes since -rc4, Rafael J. Wysocki has a PM fix
aimed at 2.6.39, Chris Ball has MMC updates for -rc1, Ryusuke Konishi has
a few small fixes and updates to nilfs2 (for 2.6.39) and Michal Marek
has kbuild changes for -rc1.

-Jean Delware updates the i2c tree , also for 2.6.39, Benjamin Herrenschmidt
has some regression fixes for powerpc merge, while David Miller has
networking and sparc updates.

-Stefan Richter announces updates for firewire aimed at post 2.6.38 kernels,
James Bottomley has updates for PARISC (2.6.38 merge window), Greg
Kroah-Hartman releases 2.6.33.8, Alex Elder has an update for the xfs tree
aimed at -rc1 and Michal Marek has kbuild fixes , also for -rc1.

-Pekka Enberg announces SLAB changes for -rc1, CEPH updates are ready
thanks to Sage Weil (also for -rc1), John W. Linville has a batch of fixes for
the wireless tree intended for 2.6.39 and Dan Williams has dmaengine
updates :

 1/ updates to ste_dma40, dw_dmac and fsldma

2/ A new mxs-dma driver

3/ minor updates and fixes to dmatest and pch_dma

Most of this has been in next for while, the few bits that have not
(fsldma update and a couple fixes) pass my local build test.

The most prominent change from a process perspective is that Vinod Koul
has taken over maintenance of the slave-dma usage model.  I expect that
slave-dma (peripheral to host dma) will continue to grow as the
predominant usage model for the dmaengine interface.  You might start to
see pull requests from him directly in the coming release cycles. 

-Paul Mundt releases part 2 of his fbdev series of updates (-rc1) :

 Here's the second batch of fbdev updates. The bulk of this is OMAP DSS
churn that had some dependencies on both the ARM and OMAP merges that
have since settled. The rest is basically random fixes, svgalib
modernization, and the usual smattering of driver updates.

This does not yet include Andy Whitcroft's registration locking or the
suspend/resume console locking fixes as we still need to make a few
changes and do some more testing (as well as getting confirmation that
things still work in both cases). My intention is to have that sorted out
for -rc2.

I noticed a few other fb drivers and churn popped up from various other
trees, but that should hopefully begin to slow down now that things are
for the most part being centrally maintained (the bulk of the ARM SoC trees
for example seem to prefer to lump all of their driver changes together
rather than going through subsystem trees -- basically all of them but
OMAP and SH/R-Mobile, but in general folks have been pretty good with
making sure patches still hit the lists and at least have some tentative
review, as with the unicore32 merge). 

-Takashi Iwai has sound fixes (-rc1 also) , Samuel Ortiz has a MFD-related pull
request for the .39 merge window, Roland Dreier has updates for the infiniband tree
(2.6.39) and Greg Kroah-Hartman announces 2.6.37.5, 2.6.32.34 and 2.6.38.1 .

-Al Viro has VFS and procfs updates and fixes, Phillip Lougher has squashfs
updates , Arnaldo Carvalho de Melo announces perf/core fixes and improvements
and Mauro Carvalho Chehab updates the drivers/media tree :

 - The addition of the Media Controller API, required to adjust stream 
  parameters on SoC media devices;
- A new Videobuf core (videobuf2);
- V4L2 core additions to deal with the V4L2 priority ioctls;
- The merge of Omap3isp media driver;
- New frontend drivers for: dib9000 and stv0367;
- New FM driver: wl128x;
- New Remote Controller driver: ite-cir;
- Fixes at Hauppauge Remote Controller maps;
- New webcam drivers for gspca: nw80x, vicam;
- New sensor drivers: noon010pc30, ov9740;
- New staging drivers for CI criptographic modules:
	cxd2099 - API is somewhat abused here, so, we opted to
		  put it on staging while the API is not improved to
		  better support it;
	altera-stabl - Required to load firmware for the altera-ci
		       driver used by some cx23885 devices;
- Removed some deprecated drivers whose devices are supported by
  a not-orphaned driver: lirc_it97, lirc_ite8709, se401, usbvideo;
- Removed one deprecated driver (not used by any commercial
  product): dabusb;
- Several other driver and core improvements.

As I based my pull request on vanilla 2.6.38, there are a few context 
merge conflicts, due to some changes already merged on your tree from
staging and arm changes. They are trivial to solve:

	http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=commitdiff;h=c39590f38c4726b60efa6641780ebc103db837ea

-Paul Mundt has rmobile and sh updates for -rc1, Al Viro has more updates for the vfs tree
(as seen below: )

 autofs4 fixes, inode.c work (lock-splitting).  This is more or less
it for VFS stuff in this window; the rest is going to go into #for-40, and
#for-next once linux-next starts taking .40 material.  There is a couple of
patches in fs/namei.c basically reordering functions and fixing comments
that might be worth pushing before -rc1, but that should be it.

	FWIW, I really hope we'll have saner life this cycle; most of the
joy in the last one had come from massive fs/namei.c series conflicting
with Nick's changes *and* 4 queues hitting the same area (open-by-fhandle,
O_PATH, automounting, atomic open) that had been far beyond "let's have
topic branches and let git merge handle them"; out of those atomic open
has missed the boat, but the rest got serialized and merged.  This time
around we ought to avoid that kind of nightmares, so I'm hoping for
useful #for-next.  Famous last words... 

…, Theodore Ts’O has updates for ext4 – 2.6.39-rc1 , Trond Myklebust
– nfs client fixes (.39) and Greg Kroah Hartman announces 2.6.32.35,
following .34, which failed to build (observation made by Jiri Slaby)

-Last minute : Ingo Molnar updates the core, irq, scheduler and perf trees
, Jens Axboe has a major pull request the block IO layer subtree
(“This is the main pull request for the block IO layer and friends for
2.6.39.

There are two major things in this tree:

– The removal of the per-device plugging state for disks. On fast
devices, it ended up hammering the queue lock quite hard. The new
scheme puts the plugging state on the stack and allows an IO submitter
to finish his batch of IO before pushing it to the queue. Once that
push starts, we’ll insert/merge with the existing queue.

A pointer to this plugging context is stored in the task structure. If
a task ends up blocking before it has submitted it’s IO (usual cause
would be memory allocation of some sort), the plugged list is
auto-submitted before the task goes to sleep.

While reducing the queue lock frequency, this patch also provides the
nice benefit of getting rid of the aops->sync_page() callback. We used
to use this for auto-unplugging the below device if we needed to wait
on page IO. This is also the reason the diffstat looks so tasty, we
end up removing a lot more lines of code than we add.

Another nice benefit is that the API is now explicit. You call
blk_start_plug() before starting an IO sequence, and blk_finish_plug()
when that sequence is done and you want to flush it out. No more ‘hey
I’ll plug behind his back, hope he remembers to unplug’ games need to
be played.

I did not go overboard with adding plugging calls, so it may very well
be that there are cases where we need to add this during the 2.6.39-rc
cycle. I’d encourage everyone to test their favorite workload and keep
an eye out for regressions.

– Final conversion of drivers to the new ->check_events() interface. So
this work is now complete.

Other notable features/changes:

– Various fixes and improvements to the cfq-ioscheduled.

– Merging of FLUSH/FUA requests to speed up workloads that are intensive
on durable writes.

– Updates and fixes to the block IO throttler.

Note that you’ll have to do a trivial merge when pulling this in. I left
that as an exercise for you, since you’ve expressed interest in seeing
and doing those kinds of merges.

Please pull!”) and we’re about to start the weekend, so enjoy it,
everyone! See you next week! :-)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s