kernel weekly news – 24.12.2011

Posted: December 24, 2011 in kernel

Hello everyone! Welcome to 2011’s Christmas edition, for
those of you who celebrate it.

-Jens Axboe has block fixes for -rc5, Arnd Bergmann has
arm-soc fixes for 3.2, Takashi Iwai has sound fixes
for -rc6 and Keith Packard has intel-drm fixes:

A few regression fixes:

* eDP panels with too few lanes need 6bpc modes
* older machine backlights going black
* divide-by-zero crash when reading a /sys file

Quirks for a couple of machines:

* No lvds panel on a desktop ASUS machine
* Light up the second LVDS on the Libretto W105

Two more Ivybridge changes:

* Use Multi-threaded force-wake where enabled by the BIOS
* Light up eDP panels

Finally, this enables RC6 and semaphores, unconditionally on Ivybridge.
On Sandybridge, these are enabled when VTd isn’t in use. We’ve been
wanting to do this for a long time, and instead of turning this on for
RC1 and hoping things worked out, we spent time working directly with
people who reported problems and discovered that RC6 and Semaphores
cannot be enabled when VTd is in use (even VTd for non-gfx devices).

There’s a patch here which exports a value from the iommu code letting
us know when VTd is active so that RC6 and semaphores can be
disabled. That patch has been ok’d by David Woodhouse, although he’s not
very happy about it. Matthew Garrett wanted to write a second patch that
disabled VTd by default on SNB machines, which would enable RC6 and
semaphores more often.

-Chris Mason has btrfs fixes, as per below:

This pull request is bigger than I wanted it to be, but Josef has
commits in here for some long running ENOSPC bugs in btrfs. This is
a few weeks of tracing our delalloc reservations from Josef, and then
fixing up the related bugs.

Outside of Josef’s patches we have some assorted fixes. Arne figured
out we were orphaning whole snapshots if you unmounted enough times
while the snapshot was being deleted.

…and here’s part two as well:

I try to keep most of the btrfs commits against the last release. This
way, people can update their old and crusty kernels from 3 months ago,
and still have the latest btrfs code.

We do have one commit that is 3.2 specific though, so I put it into a
for-linus-3.2 branch:

git:// for-linus-3.2

Wu Fengguang noticed that btrfs’ file write needs to consider the balance
dirty thresholds when it allows big multi-page writes.

-David Miller announces fixes to the networking tree:

1) IPv6 code checks prefix length of destination address on wrong route, so
anycast handling is never performed.

2) Device name handling in ipip/sit regressed, copy the name into the device
parms after register_netdevice() to fix it. From Ted Feng.

3) Add device ID to btmrvl bluetooth driver, from Bing Zhao.

4) Fix module refcounting in bluetooth cmtp and bnep modules, from
David Herrmann.

5) Leak fix in btusb_send_frame(), from Cong Wang.

6) hci_setup() checks the wrong version field in device structure, fix from
Andrei Emeltchenko.

7) Roaming clients fixes in batman-adv from Antonio Quartulli.

8) Fix regression on single-stream ath9k wireless chips by properly testing
for antenna diversity support, from Felix Fietkau.

9) pptp module double releases socket in bind() error path, from Djalal Harouni.

10) Fix races in wireless TX aggregation start, from Jahannes Berg.

11) Fix SSB bus initialization regression causing data bus errors, from
Hauke Mehrtens.

12) IPV6 erroneously adds a multicast route on the loopback device when it
is brought up, this can cause multicast communication failures depending
upon the order in which devices are brought up. From Li Wei.

13) Use GFP_ATOMIC while holding lock in GRED packet scheduler, fix from Eric

-David also has sparc fixes, but probably the most important event of the week
is the release of the sixth release candidate of 3.2:

Ok, people have clearly figured out and are gaming my release timing,
because over half the commits in -rc6 were merged today.

And that’s purely because I got more merge requests today than I got
the rest of the week..

Now, I’ll be somewhat generous and just say “ok, people left it to
Friday before the holidays to push me stuff”, and maybe it’s not
gaming the -rc cycle, but in general I *hate* it when it seems like
people leave their requests to the last moment. So if you did it
consciously, please just stop. It would be much nicer to just spread
things out, and have developers that track current -git give reactions
to things as they come in, rather than having things clump just before
the -rc release.

That said, this is still a smaller -rc release than previous ones, and
things do seem to be calming down. We’re at -rc6 now, and while I can
see myself doing an -rc7, I probably won’t do an -rc8 unles something
bad pops up. There doesn’t seem to be any real reason to drag out this
release any more, and we’ll probably have the real 3.2 around new

Shortlog appended, the only thing that stands out is that we have
relatively more fs updates than usual – both btrfs and cifs had some
sizable (for -rc6) updates here, and there’s a few smaller ext4
commits too. That said, it’s still dominated by drivers (block – swim3
driver – and i915 – more eDP updates), just less than usual. And some
arm and x86 stuff. The rest is really tiny.

Nothing really stands out,


-Steven Rostedt has linux-trace updates, James Bottomley has
scsi fixes for -rc6, Robert Richter has oprofile updates
for 3.3, mostly s390-related, and also a fix for 3.2, and
Trond Myklebust has bugfixes for the nfs-client.

-Arnaldo Carvalho de Melo announces perf/core improvements
and fixes, Paul Mundt updates rmobile, Chris Ball has mmc fixes
for 3.2, Samuel Ortiz has mfd fixes and Greg KH announces
kernels, 3.1.6 and 3.0.14 .

-David Miller updates networking:

Hopefully the last set of fixes for 3.2.x:

1) iwlwifi fixes that cure the regressions reported by Ted T’so and
others, from Wey-Yi Guy, Johannes Berg, and Emmanuel Grumbach.

2) When we moved PMTU information to the inetpeer cache, we removed the
periodic garbage collector, but this is still needed and without
it we have regressions such as ARP entries sticking around forever
(even after a routing cache flush).

The GC scanner needs to run to see these routing cache entries with
an out-dated generation count, so then can be unlinked, put, and
that route’s ARP table references dropped as well.

From Eric Dumazet.

3) The flow cache potentially sleeps, but it can be called in the packet
path with SW interrupts disabled. Add a deferred task that takes
care of this in such situations.

4) The x86-64 BPF JIT has a branch target calculation error, fix from
Markus Kötter.

5) SCTP Autoclose timeout overflow check is not correct, from Xi Wang.

6) SCTP accounts too much into receive buffer space used when estimating
the receive window, fix from Thomas Graf.

7) R8169 programs wrong regiater and bit for MSI enable, from François Romieu.

8) LLC socket layer can reference SKB after sk_eat_skb() when putting the
socket address back to userspace. Fix from Alex Juncu.

9) Add new device ID to ASIX driver, from Aurelien Jacobs.

10) ipconfig spins waiting for “link up” for a very long time even
if no devices have actually been brough up and added the ipconfig’s
list of devices. Fix from Gerlando Falauto.

11) When bluetooth L2CAP performs configuration, it potentially references
an uninitialized on-stack l2cap_conf_rfc struct, fix from Mat Martineau.

12) Bluetooth RFCOMM forgets to kill session timer on last channel

13) Revert bluetooth L2CAP connect establishment fix, it causes regressions
when talking to legacy devices. From Gustavo F. Padovan.

14) Fix DMA channel locking in davinci-cpdma driver, from Ilya Yanok.

-Here’s the end, and for those of you celebrating Christmas, enjoy it and take care.


Leave a Reply

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

You are commenting using your 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