kernel weekly news – 24.03.2012

Posted: March 24, 2012 in kernel

-Arnaldo Carvalho de Melo has perf/core fixes and improvements, and lots o’them,
John W. Linville announces wireless updates, Willy Tarreau announces the release
of stable kernels 2.6.32.59 and 2.6.27.52 and David Miller has a network-related
pull request:

1) icmp6_dst_alloc() returns NULL instead of ERR_PTR() leading to
crashes, particularly during shutdown. Reported by Dave
Jones and fixed by Eric Dumazet.

2) hyperv and wimax/i2400m return NETDEV_TX_BUSY when they have
already freed the SKB, which causes crashes as to the caller
this means requeue the packet. Fixes from Eric Dumazet.

3) usbnet driver doesn’t allocate the right amount of headroom
on fresh RX SKBs, fix from Eric Dumazet.

4) Fix regression in ip6_mc_find_dev_rcu(), as an RCU lookup it
abolutely should not take a reference to ‘dev’, this leads
to leaks. Fix from RonQing Li.

5) Fix netfilter ctnetlink race between delete and timeout
expiration. From Pablo Neira Ayuso.

6) Revert SFQ change which causes regressions, specifically queueing
to tail can lead to unavoidable flow starvation. From Eric
Dumazet.

7) Fix a memory leak and a crash on corrupt firmware files in bnx2x,
from Michal Schmidt.

-Neil Brown updated md for 3.4, and speaking of releases, here’s something
that just might interest you:

So after the extra -rc release last weekend, now the final 3.3 is out
there in the usual locations.

Things did indeed calm down during the last week, and the shortlog
looks pretty boring. The diffstat from -rc7 is dominated by the
arch/tile defconfig changes, the rest is pretty small, although there
are changes spread out in various subsystem s(drivers, filesystem,
networking, perf tools).

The shortlog (from -rc7) is appended, and for a more high-level view
of at least parts of the changes since 3.2 it’s probably worth going
to kernelnewbies:

http://kernelnewbies.org/Linux_3.3

which tends to be pretty good about these kinds of things.

And obviously, the 3.3 release means that the merge window for 3.4 is
now open, although I may keep of pulling stuff for a day or so to
encourage people to test the actual release.

I did want to mention that with spring break for my kids coming up
during this merge window, I will be gone a couple of days to the
Oregon coast, probably without any real internet access. We’ll see.
It’s mostly during next weekend, so it’s probably not that noticeable,
but if it means that I fall behind I might spend a few extra days
doing merging. But even if that means that -rc1 might be slightly
delayed, I’ll use the normal two-week cut-off for actual pull
requests.

And who knows – it’s entirely possible that it won’t be an issue at
all, and everything will be on schedule. But I thought I’d mention the
possibility so that it doesn’t take anybody by surprise.

Linus

-James Bottomley announces the first round of SCSI updates for
the newly opened merge window, so does Mark Brown, but for regmap

Things are really quieting down with the regmap API, while we’re still
seeing a trickle of new features coming in they’re getting much smaller
than they were. It’s also nice to have some features which support
other subsystems building infrastructure on top of regmap. Highlights
include:

– Support for padding between the register and the value when
interacting with the device, sometimes needed for fast interfaces.
– Support for applying register updates to the device when restoring the
register state. This is intended to be used to apply updates supplied by
manufacturers for tuning the performance of the device (many of which
are to undocumented registers which aren’t otherwise covered).
– Support for multi-register operations on cached registers.
– Support for syncing only part of the register cache.
– Stubs and parameter query functions intended to make it easier for other
subsystems to build infrastructure on top of the regmap API.

plus a few driver updates making use of the new features which it was
easier to merge via this tree.

, Ingo Molnar announces changes for core/iommu, core/locking, timer, scheduler,
irq/core and x86/asm, Greg Kroah-Hartman announces 3.0.25 and 3.2.12, Konrad
Rzeszutek Wilk has Xen and mm changes and Ingo Molnar strikes back with
changes to x86/atomic, x86/boot and x86/build.

-Grant Likely has powerpc changes for powerpc:

Here’s the branch that generalizes powerpc’s irq_host infrastructure
for all architectures. You can read the full description below (also
in the signed tag). I’m asking for this one to be pulled soon since
several of the arm branches are building on top of it. It’s quite
important for the ARM device tree migration work and to finally get
ARM off of using irq0 for normal devices.

You’ll note that I *don’t* have any acks from tglx (cc’d) on this
branch. He hasn’t weighed in either way though it has been on the
lists for several rounds of review and he has been cc’d. I would
prefer to have his ack’s before sending this branch, but you’ll notice
that none of this code actually touches any core irq processing code
(see the diffstat). It only handles the allocation and reverse
mapping of irqs to hwirqs so that interrupt controller drivers don’t
need to open code their own each time. Plus it is the hook that DT
irq translations are hung on. I’m confident that it is okay to ask
you to pull it even though tglx has not given his okay.

-Ingo Molnar returns with changes to: x86/{cpu,cpufeature,debug,eficross,
fpu,mce,platform,process,urgent,uv}, Mark Brown has regulator updates,
Greg KH has char and misc plus driver core patches for 3.4-rc1, also
TTY/serial and USB, Arnaldo Carvalho de Melo announces perf/core fixes
and improvements, and Tejun Heo has 3.4-aimed changes for cgroup and
workqueue.

-Rafael J. Wysocki has PM updates, Ingo Molnar is back once again with RCU changes,
as well as perf events, Marek Szyprowski updates linux-samsung (dma-mapping),
Martin Schwidefsky has s390 updates, Borislav Petkov has amd64 edac fixes for 3.4
and Avi Kivity has kvm updates.

-Cong Wang has kmap_atomic cleanups, Steven Whitehouse has gfs2 fixes/cleanups,
hwmon updates are announced by Guenter Roeck, David Miller fixes various networking aspects,
like

1) drivers/isdn/gigaset/interface.c

tree wide TTY driver cleanups in your tree remove the initialization
of ->magic, whereas a change in the net-next tree changed “,” to
“;” in these lines. A sample resolution is:

– tty->type = TTY_DRIVER_TYPE_SERIAL,
– tty->subtype = SERIAL_TYPE_NORMAL,
– tty->magic = TTY_DRIVER_MAGIC;
+ tty->type = TTY_DRIVER_TYPE_SERIAL;
+ tty->subtype = SERIAL_TYPE_NORMAL;

2) drivers/net/usb/Kconfig

Trivial, net-next adds a select statement to a Kconfig entry.

3) drivers/net/usb/qmi_wwan.c

The thing to do for this one is to simply use pretty much all of
the HEAD hunks in your tree. Basically what happened is that an
earlier, less cooked, version of the Huawei QMI device support
went into the net-next tree, and the more polished version ended
up in Greg’s USB tree which you pulled already.

Anyways, highlights:

1) Move ixgbe driver over to purely page based buffering on receive.
From Alexander Duyck.

2) Add receive packet steering support to e1000e, from Bruce Allan.

3) Convert TCP MD5 support over to RCU, from Eric Dumazet.

4) Reduce cpu usage in handling out-of-order TCP packets on modern
systems, also from Eric Dumazet.

5) Support the IP{,V6}_UNICAST_IF socket options, making the wine
folks happy, from Erich Hoover.

6) Support VLAN trunking from guests in hyperv driver, from Haiyang
Zhang.

7) Support byte-queue-limtis in r8169, from Igor Maravic.

8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but
was never properly implemented, Jiri Benc fixed that.

9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.

10) Support kernel side dump filtering by ctmark in netfilter ctnetlink,
from Pablo Neira Ayuso.

11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.

12) Add new peek socket options to assist with socket migration, from
Pavel Emelyanov.

13) Add sch_plug packet scheduler whose queue is controlled by
userland daemons using explicit freeze and release commands. From
Shriram Rajagopalan.

14) Fix FCOE checksum offload handling on transmit, from Yi Zou.

and Jiri Kosina has hid and trivial updates/fixes.

-Greg Ungerer has m68knommu updates, James Morris has security
updates, including the addition of the new Yama security module,
Al Viro updates vfs, Bob Liu has blackfin updates, Dave Airlie
announces a drm pull request for -rc1 and Ben Myers has xfs
updates, also for -rc1.

-Dmitry Torokhov has some input updates, with fixes and additions,
Linux 2.6.34.11 is announced by Paul Gortmaker, Benjamin Herrenschmidt
has powerpc updates

Here’s the powerpc batch for this merge window. It is going to be a bit
more nasty than usual as in touching things outside of arch/powerpc
mostly due to the big iSeriesectomy :-) We finally got rid of the bugger
(legacy iSeries support) which was a PITA to maintain and that nobody
really used anymore.

Here are some of the highlights:

– Legacy iSeries is gone. Thanks Stephen ! There’s still some bits and
pieces remaining if you do a grep -ir series arch/powerpc but they are
harmless and will be removed in the next few weeks hopefully.

– The ‘fadump’ functionality (Firmware Assisted Dump) replaces the
previous (equivalent) “pHyp assisted dump”… it’s a rewrite of a
mechanism to get the hypervisor to do crash dumps on pSeries, the new
implementation hopefully being much more reliable. Thanks Mahesh
Salgaonkar.

– The “EEH” code (pSeries PCI error handling & recovery) got a big
spring cleaning, motivated by the need to be able to implement a new
backend for it on top of some new different type of firwmare. The work
isn’t complete yet, but a good chunk of the cleanups is there. Note that
this adds a field to struct device_node which is not very nice and which
Grant objects to. I will have a patch soon that moves that to a powerpc
private data structure (hopefully before rc1) and we’ll improve things
further later on (hopefully getting rid of the need for that pointer
completely). Thanks Gavin Shan.

– I dug into our exception & interrupt handling code to improve the way
we do lazy interrupt handling (and make it work properly with “edge”
triggered interrupt sources), and while at it found & fixed a wagon of
issues in those areas, including adding support for page fault retry &
fatal signals on page faults.

– Your usual random batch of small fixes & updates, including a bunch
of new embedded boards, both Freescale and APM based ones, etc…

, Takashi Iwai announces sound updates

Here is the updates of sound stuff for 3.4-rc1.

In the common sound infrastructure, there are a few changes for
dynamic PCM support (used in ASoC) and a few clean-ups. Majority of
changes are found, as usual, in HD-audio and ASoC.

Some highlights of HD-audio changes:
– All the long-standing static quirk codes for Realtek codec were
finally removed by fixing and extending the Realtek auto-parser.

– The mute-LED control is standardized over all HD-audio codec
drivers using the extended vmaster hook.

– The vmaster slave mixer elements are initialized to 0dB as default
so that the user won’t be annoyed by the silent output after
updates, e.g. due to the additions of new elements.

– Other many fix-ups for the misc HD-audio devices.

In the ASoC side, this is a very active release, including a quite a
few framework enhancements. Some highlights:

– Support for widgets not associated with a CODEC, an important part
of the dynamic PCM framework.

– A library factoring out the common code shared by dmaengine based
DMA drivers contributed by Lars-Peter Clausen. This will save a lot
of code and make it much easier to deploy enhancements to
dmaengine.

– Support for binary controls, used for providing runtime
configuration of algorithm coefficients.

– A new DAPM widget type for regulator supplies allowing drivers for
devices that can power down unused supplies while active to do
without any per-driver code.

– DAPM widgets for DAIs, initially giving a speed boost for playback
startup and shutdown and also the basis for CODECCODEC DAI link
support.

– Support for specifying the number of significant bits on audio
interfaces, useful for allowing applications to know how much effort
to put into generating data for a larger sample format.

– Conversion of the FSI driver used on some SH processors to
DMAEngine.

– Conversion of EP93xx drivers to DMAEngine.

– New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics
WM2200.

– Move audmux driver from arc/arm to sound/soc

– McBSP move from arch/ to sound/ and updates

Also, a few small updates and fixes for other drivers like au88x0,
ymfpci, USB 6fire, USB usx2yaudio are included.

and Dave Airlie has a pull request with really good news for any
Radeon user:

It is support from AMD for their newest GPU and APUs. The products called
RadeonHD 7xxx, and the Trinity APU series.

This did come in a bit late, due to some over-complicated AMD
internal review process, which from the outside seems unnecessary once the
company has decided it wants to support open source. However as I said
previously I’d rather not put the people who’ve got this hw for 3 months
now being forced to use fglrx on it if there is open code.

Its pretty well self contained and just plugs into the driver in various
places.

-Trond Myklebust updates NFS, the client side:

New features include:
– Add NFS client support for containers.
This should enable most of the necessary functionality, including
lockd support, and support for rpc.statd, NFSv4 idmapper and
RPCSEC_GSS upcalls into the correct network namespace from
which the mount system call was issued.
– NFSv4 idmapper scalability improvements
Base the idmapper cache on the keyring interface to allow concurrent
access to idmapper entries. Start the process of migrating users from
the single-threaded daemon-based approach to the multi-threaded
request-key based approach.
– NFSv4.1 implementation id.
Allows the NFSv4.1 client and server to mutually identify each other
for logging and debugging purposes.
– Support the ‘vers=4.1’ mount option for mounting NFSv4.1 instead of
having to use the more counterintuitive ‘vers=4,minorversion=1’.
– SUNRPC tracepoints.
Start the process of adding tracepoints in order to improve debugging
of the RPC layer.
– pNFS object layout support for autologin.

Important bugfixes include:
– Fix a bug in rpc_wake_up/rpc_wake_up_status that caused them to fail
to wake up all tasks when applied to priority waitqueues.
– Ensure that we handle read delegations correctly, when we try to
truncate a file.
– A number of fixes for NFSv4 state manager loops (mostly to do with
delegation recovery)

-The same Dave Airlie announces NVIDIA Kepler support, Linus Waleji
has pinctrl updates, Florian Tobias Schandinat has lots of fbdev
updates, Joerg Roedel updates iommu, Stefan Richter updates firewire
and Jesse Barnes has pci changes:

This pull has some good cleanups from Bjorn and Yinghai, as well as
some more code from Yinghai to better handle resource re-allocation
when enabled.

There’s also a new initcall_debug feature from Arjan which will print
out quirk timing information to help identify slow quirks for fixing or
refinement (Yinghai sent in a few patches to do just that once the new
debug code landed).

Beyond that, I’m handing off PCI maintainership to Bjorn Helgaas. He’s
been a core PCI and Linux contributor for some time now, and has kindly
volunteered to take over. I just don’t feel I have the time for PCI
review and work that it deserves lately (I’ve taken on some other
projects), and haven’t been as responsive lately as I’d like, so I
approached Bjorn asking if he’d like to manage things. He’s going to
give it a try, and I’m confident he’ll do at least as well as I have in
keeping the tree managed, patches flowing, and keeping things stable.

-David Miller has networking updates:

1) L2TP doesn’t get autoloaded when you try to open an L2TP socket
due to a missing module alias, fix from Benjamin LaHaise.

2) Netlabel and RDS should propagate gfp flags given to them by
callers, fixes from Dan Carpeneter.

3) Recursive locking fix in usbnet wasn’t bulletproof and can result
in objects going away mid-flight due to races, fix from
Ming Lei.

4) Fix up some confusion about a bool module parameter in netfilter’s
iptable_filter and ip6table_filter, from Rusty Russell.

5) If SKB recycling is used via napi_reuse_skb() we end up with
different amounts of headroom reserved than we had at the original
SKB allocation. Fix from Eric Dumazet.

6) Fix races in TG3 driver ring refilling, from Michael Chan.

7) We have callbacks for IPSEC replay notifiers, but some call sites
were not using the ops method and instead were calling one of the
implementations directly. Oops. Fix from Steffen Klassert.

8) Fix IP address validation properly in the bonding driver, the previous
fix only works with netlink where the subnet mask and IP address are
changed in one atomic operation. When ‘ifconfig’ ioctls are used
the IP address and the subnet mask are changed in two distinct
operations. Fix from Andy Gospodarek.

9) Provide a sky2 module operation to work around power management
issues with some BIOSes. From Stephen Hemminger.

-Wolfram Sang has i2c updates, Jonas Bonn updates OpenRISC,
Mauro Carvalho Chehab has media updates for -rc1, Artem Bityutskiy
has ubi-related changes for -rc1, and that’s kinda it for this week!

See ya!

Comments
  1. […] kernel weekly news – 24.03.2012 -Arnaldo Carvalho de Melo has perf/core fixes and improvements, and lots o'them, John W. Linville announces wireless updates, Willy Tarreau announces the release of stable kernels 2.6.32.59 and 2.6.27.52 […] […]

Leave a comment