kernel weekly news – 12.11.2011

Posted: November 12, 2011 in kernel

Hello y’all and welcome!

-Jean Delvare has 3.2 updates for hwmon, Chris Metcalf updates arch/tile,
Trond Myklebust has NFS client updates and Roland Dreier updates
infiniband.

-Jens Axboe has various fixes for linux-block/core:

This is the core bits pull request for 3.2. Executive summary:

– Some cleanups and refactoring of the __make_request() interface from
Christoph. We used to return 0/1 to control remap or queue behaviour,
but drivers often got that API wrong and used it for 0/-Exxx instead.

– Fix a bug in loop aops write handling.

– Two stable bug fixes for the block flush logic.

– A cleanup and fixup patchset from Tejun, attempting to really fix our
reference counting problems.

– Various little bug fixes, comments, cleansup.

-Jens also has another fixset depending on the previous one,
this time dealing with drivers:

This is the driver part of the 3.2 block IO pull requests. The major
parts are:

– Various bug fixes to xen blkfront/blkback.

– Bug fixes for CISS and hpsa.

– Discard support for loop. This is useful for trimming image size, and
also for finding bugs in the file system discard code.

– Improve virtio-blk disk index allocation scheme by using ida instead.
This avoids a wrapping problem.

– A set of bug fixes for nbd.

This depends on the previous pull request, for-3.2/core.

-John W. Linville has a batch of wireless fixes:

Here is the first batch of wireless fixes intended for 3.2 — hooray!

This includes a fix for a race in iwlagn, a number of simple
initialization fixes for ath9k, a couple of mac80211 fixes
related to off-channel work, a carl9170 fix to properly handle the
TX_CTL_REQ_TX_STATUS flag, a TDLS fix for mac80211 (including a memory
leak fix), a libertas fix for cleaning-up properly after a scan,
an iwlwifi fix for working correctly even if MSI is unavailable,
a mac80211 fix to disable powersave for broken APs, the removal of
some log spam from b43, another iwlwifi fix for avoiding a stuck cmd
queue, and a mac80211 fix to reduce log spam about not finding a rate.

Also included is a Bluetooth pull from Gustavo:

“Some fixes for the 3.2 release, there are four fixes in
our drivers code by David Hermann. Szymon Janc fixed a bug
that was making some dongles not work well and a sleep in
invalid context. And finally a bug fix in the mgmt code by
Johan Hedberg.”

-Arnd Bergmann announces arm-soc cleanups for Samsung:

This is one of two (possibly three) requests for the remaining patches I
have queued up, almost all of them for the samsung soc platforms.
It’s a bit messy because they are based on top of the dmaengine
tree from Vinod Koul at git://git.infradead.org/users/vkoul/slave-dma.git
that you have not pulled yet (Vinod said he sent a pull request for
this on monday).

Vinod and Kukjin agreed that it would be good if you pull the samsung
branches from me anyway, including the 52 patches from Vinod’s tree.
There are another 13 patches in his tree now that were not used as
a base for the samsung patches.

The second pull request (will send right after this one) is for
development changes in the samsung platform based on these cleanups.

The third pull request (will send as soon as I get the latest version
from Kukjin) will rename mach-exynos4 to mach-exynos in preparation
for merging exynos5 support in the 3.3 merge window. It is intentionally
late in this window in order to avoid conflicts with other patch touching
the files that get renamed.

-Rafael J. Wysocki has PM updates:

All of them are either bug fixes or simple cleanups that didn’t make it to my
previous pull request.

They include:

* New entry for the ACPI suspend blacklist from Dave Jones.

* Fixes and cleanups related to the interactions between suspend/hibernation
and CPU hotplug from Srivatsa Bhat.

* Runtime PM core fix for accounting_timestamp computations (some results
were wrong due to using int instead of unsigned long) from Venu Byravarasu.

* OPP build fix from Tony Lindgren.

* PM QoS cleanup from Guennadi Liakhovetski.

* Autosuspend fixes from Alan Stern.

* Freezer fixes from Tejun and Oleg Nesterov.

[No patches from me this time, how weird.]

-Paul Mundt has rmobile updates, Takashi Iwai has
sound fixes for -rc1, Benjamin Herrenschmidt has
powerpc updates, as seen below,

Here’s (finally) the powerpc stuff for this merge window. It’s late, as
I warned you during KS, I was on vacation & travelling around and really
couldn’t get to do it earlier than today. Everything in there has been
in linux-next for a while anyway, the only difference from what was in
github a month ago is that I merged a bit more freescale bits from
Kumar.

As for the highlights, you get the new “powernv” platform which allows
booting under the new “OPAL” firmware. This will allow booting without a
hypervisor on future IBM POWER machines, in order to be able to run KVM.
There’s still one missing component to support the latest PCI Express
bridges, but it’s a drop-in addition, so I might still merge it after
-rc1 (or not .. I haven’t decided yet, I held on to it for a bit as it
was depending on some PCI changes that went upstream separately via
Jesse and dealing with the dependency while travelling was deemed too
annoying).

We also have a bunch of Numa fixes from Anton, some DMA code cleanup
from Milton and the usual batch of embedded bits and pieces.

and Mauro Carvalho Chehab has media updates for -rc1 .

-Chris Mason updates btrfs, as you can read here:

Hi everyone,

This pull request is pretty beefy, it ended up merging a number of long
running projects and cleanup queues. I’ve got btrfs patches in the new
kernel.org btrfs repo. There are two different branches with the same
changes. for-linus is against 3.1 and has also been tested against
Linus’ tree as of yesterday.

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git for-linus

The next-merged branch is the same btrfs code, but has a merge
commit for the current linux-next tree. There was only a single
conflict, linux-next has a fix for code that no longer exists, so the
merge is just to take my code. I know Linus won’t end up using
this, it’s just to demonstrate the conflict in case he ends up with that
patch.

git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs.git next-merged

The big features in this pull are:

Many cleanups and optimizations from Josef. Many of these fixup the
enospc throttling in btrfs, where we try to start IO to make sure we can
do all the allocations we’ve promised we’ll do. The end result is a
dramatic improvement in random write workloads among many others.

Arne Jansen and Jan Schmidt have improved the scrubber and provided
utilities to walk btrfs’ many backrefs. The scrubber is much faster
thanks to extensive btree readahead and instead of just telling you a
specific block is bad, it tells you which btree or which file was
impacted by that bad block.

There are also progs updates to give you the same backref walking from
the command line.

SUSE and Fujitsu have a nice set of error handling fixes, and Li Zefan
also closed out some problems in the mount -o autodefrag mode.

I kicked in an array of backup tree roots. If a given mount fails to go
through because a tree root is bad, you can mount -o recovery and it’ll
walk through the array and try older versions of the FS.

I also spent a lot of time refining Fujitsu’s log tree improvements.
This code has been around for quite a while, and I really wanted to get
it in this time. But yesterday I hit corruptions when I mixed heavy
fsyncs with heavy snapshotting, and I wasn’t able to fix things in time
for this merge window.

-Len Brown has ACPI and cpuidle updates for 3.2-merge, Dave Airlie has
drm fixes (mostly Radeon), and David Miller has a networking update:

1) The IXGBE build fix wrt. CONFIG_PCI_IOV from Gregory Rose.

2) Fixes for module unload races and statistic problems in forcedeth from
david decotigny, Mike Ditto, and Mandeep Baines.

3) Kill stray BKL references from wanrouter code, from Richard Weinberger.

4) usbnet oopses due to unguarded skb_tx_timestamp() check, fix from
Konstantin Khlebnikov.

5) tg3 driver bug fixes from Matt Carlson.

6) Fix bogus compare of u8 with -1 in bonding, from Dan Carpenter.

7) Netlink message validation fix from Johannes Berg.

8) Fix sky2 driver regression on Yukon Optima chips, from Stephen Hemminger.

-Greg KH announces the release of 2.6.33.20, 2.6.32.47 and .48 kernels,
and Linus Torvalds announces 3.2-rc1 (quite a busy week, isn’t it?):

So it’s been two weeks since 3.1, and you know how it works by now.

I have to say, this wasn’t my favorite merge window ever. I really
wanted to take only things that had been in -next, but verifying it
was fairly painful, since a lot of the trees had been rebased, and the
ones that hadn’t been rebased often had some extra patches that still
showed up when I did my “git log linux-next..FETCH_HEAD” thing.

On the whole, most of it was all good, and I didn’t really end up
complaining to people. I’m pretty sure that there were trees I
shouldn’t have let through, but the majority really had been in -next.

The other point of irritation was that there really was a lot of stuff
that came in yesterday and basically treated the merge window as some
kind of high-tech limbo dance. If it hadn’t been for a few trees I
wanted to pull, I had actually planned to do the -rc1 release Sunday
afternoon instead, just to cut those annoying last-minute pull
requests off.

And some trees didn’t get pulled. You know who you are, and you can
try to appeal to my softer side if you think it was unfair. Of course,
if you *do* find my softer side, please tell my wife and kids too,
they’ll be thrilled.

But the main reason some trees didn’t get pulled was that they
generated long flame-wars, and I just felt like I really didn’t need
the aggravation this time around, especially as I knew I had plenty
other trees to pull.

What *did* get pulled? A lot. The diffstat is huge, and is full of
renames. The network drivers got re-organized, which is a big chunk of
the renames, but there are architecture cleanups and re-organizations
there too (UML and some arm sub-architectures, for example) adding
their own set of renames. Along with some staging drivers that got
upgraded to non-staging etc etc.

Which brings me to a question I already asked on G+ – do people really
need the old-fashioned patches? The -rc1 patch is about 22MB gzip-9’d,
and part of the reason is that all those renames cause big
delete/create diffs. We *could* use git rename patches, but then you’d
have to apply them with “git apply” rather than the legacy “patch”
executables. But as it is, the patch is almost a third of the size of
the tar-ball, which makes me wonder if there’s even any point to such
a big patch?

Apart from the re-organization, there is really just a lot of changes
all over. It’s about 75% drivers (and that’s without the renames
counted as big delete/create events – in the traditional diff, more
than 90% is drivers), 15% arch, and 10% “rest” (mainly fs and net –
with header file changes showing up in the statistics too).

What doesn’t even show up in the stats is the VM changes, although
those may well be the most noticeable core stuff. It may be fairly
small, but it’s rather more core, and has the potential to affect
everybody. People have been working on writeback tuning, and the whole
IO-less dirty balancing. So now foreground writeback should be a thing
of the past. Let’s see how that all works out.

Have fun, give it a good testing. There shouldn’t be anything hugely
scary in there, but there *is* a lot of stuff. The fact that 3.1
dragged out did mean that this ended up being one of the bigger merge
windows, but I’m not feeling *too* nervous about it.

-Geert Uytterhoeven has m68k updates, John W. Linville updates wireless,
and Takashi Iwai updates the sound tree, nothing essential.

-That’s it for me, see ya!

Leave a comment