Hello everyone and welcome to this week’s news! We have lots
to talk about, so let’s start!
-Ingo Molnar announces x86 updates, Artem Bityutskyi has mtd
changes for .39 (“Here are the MTD updates for 2.6.39. David Woodhouse is unable to take
care for the pull request right now for private reasons, so he asked
me do do this (I’m an active member of the MTD community).
The pull request contains one merge commit. The reason for this commit
is that the changes in the block tree broke the MTD tree compilation.
The block tree is already merged upstream. The MTD tree was published,
so re-basing it is not possible.
To fix the situation I did the following:
1. Pulled your tree to the mtd tree (for-linus-1 branch) with
–no-commit option.
2. Applied the compilation fix on top (the patch is below).
3. And committed the result.
I’ve also put the description to the merge commit which explains these
reasons. Hopefully this is acceptable. Note, in the e-mail David dropped
me (you was in CC) he did tell me to “NOT push back the results of that
merge”, but I did not really understand how could that work. Probably he
meant that I should send you the pull request which does not build plus
a separate build fix-up patch. If this is what you indeed expect, pleas,
let me know.
Most of the patches in the mtd tree are just small fixes and improvements.
But 2 things stand out:
1. The BCH ECC library which implements strong ECC codes which can
correct 4-bits per 512-bit chunks. This is important for modern NAND
flashes which become crappier and crappier and require stronger and
stronger ECC.
2. The mtdswap driver which implements swap on top of raw flash. “),
James Bottomley has some patches for the SCSi tree (merge window)
and David Miller has networking (“This should be the final round, and I believe all known major
regressions added by the routing rework are cured now.
1) Route insert compares metrics incorrectly, fix from Eric Dumazet.
2) Cache route source addresses need to rechecked in more circumstances,
and need to use the correct scope when they are being calculated.
With help from Julian Anastasov.
3) ip_route_newports() uses the wrong source and destination addresses
in lookup key. Fix from Steffen Klassert.
4) Fix race in qdisc throttling, from Eric Dumazet.
5) Fix rmmod crash in myri10ge, NAPI instances are not deleted. From
Stanislaw Gruszka.
6) Bonding rx_handle locking still allows races, fix from Jiri Pirko.
7) mlx4 driver updates from Yevgeny Petrilin.
8) iwlwifi forgets mutex unlock on error, from Dan Carpenter.
9) orinoco needs to hold scan_lock over a larger section of code, from
Joe Gunn.
10) Add some device IDs to rt2x00 wireless driver. From Peter Lemenkov.
11) rtlwifi uses wrong memset() arg order, fix from Ilia Mirkin.
12) Fix panic on AR2427 ath9k chips when connecting with AP, from
Mohammed Shafi Shajakhan.
13) When an IP address is assigned multiple times to an interface,
using different prefixes, we sometimes leave stale subnet routes
in the routing table when those addresses are deleted. Fix from
Julian Anastasov.
14) Bridge ipv6 multicast code needs to set destination address before
using it. Fix from Linus Lüssing.
15) TCP moderates congestion window during undo when it need not do
so, since undo means that recovery was false. Fix from Yuchung
Cheng.
16) __ip_dev_find() needs to handle to obscure case of allowing any
IP address on a loopback device subnet, fix by adding fallback
code which searches the local FIB table when an explicit device
address is not found in the hash table.
17) ip_rt_update_pmtu() does one too many inet_putpeer()’s resulting
in memory corruption and other problems. Fix from Eric Dumazet.
Please pull, thanks a lot!
The following changes since commit 40471856f2e38e9bfa8d605295e8234421110dd6:
Merge branch ‘nfs-for-2.6.39′ of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 (2011-03-25 10:03:28 -0700)
are available in the git repository at:
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master”) and
SPARC changes.
-Greg Ungerer has m68knommu updates, while Dave Delvare updates the
hwmon tree (aimed at 2.6.39), Thomas Gleixner has a series of irq cleanups
for .39 and Takashi Iwai has sound subsystem fixes for -rc1 .
-Greg Kroah-Hartman, after a series of reviews, announces new stable versions
of the Linux kernel : 2.6.38.2, 2.6.37.6 , 2.6.32.36; the usual browsing
of the tree(s) cand be done with accesing this address:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.3X.y.git;a=summary
-Jens Axboe has block updates for .39, Kukjin Kim has Samsung fixes for -rc1,
on a similar note, Matthew Garrett has x86 platform driver updates for
2.6.39 , Tyler Hicks has a few fixes for the ecryptfs tree aimed at -rc1 and
Greg Kroah Hartman announces 2.6.33.9 .
-Jesper Nilsson announces cris trivial fixes, ocfs2 changes are issued by
Joel Becker for -rc* kernels and Thomas Gleixner has updates for .39 :
This is hopefully the last set of updates to the genirq code. It's mostly helper functions which are necessary to cleanup the arch and driver instances of irq chips and demux handlers fully. The arm ns9xxx patch has been acked by Uwe. The original cell patch has been ignored, so I put the cell private handler into the core under a ifdef section which is selected by cell. It's fully equivalent, but less code and allows me to remove the old handle_IRQ_event() interface. I never liked the camel case :) I really want to be able to remove the whole compat and deprecated stuff now as the crap seems to come back faster than I can clean it up. I've sent out patches to all archs which are not yet fully cleaned up and I'm working to get the maintainers convinced to get through with this for .39. The remaining queue of all arch/driver updates plus the cleanup of the core code is going to remove another 1200 lines of code on top of the already removed 800+.
-Chris Mason has updates for btrfs aimed at 2.6.39 :
Hi everyone, The kernel.org mirror is making me pay for a mistake in my push last night. I'm still waiting for it to update the mirrors with the correct commits, so I've got the proper sha down below. Linus, I've pushed out two branches for you, for-linus and for-linus-unmerged git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus The correct top commit in for-linus: 08aca535a2150e951c6f1d882bea6ef1a1c31822 git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus-unmerged The correct top commit in for-linus-unmerged: d9d04879321af570ea7285c6dad92d9c3cd108a1 The reason there are two is because there was a conflict in fs/btrfs/volumes.c. Jens' unplugging code and the new btrfs fitrim support were both changing the same code. The merge isn't too bad, his stuff was just removing the tests for an unplugging function, but I wanted to provide a wrapped up merge commit just in case. So, for-linus-unmerged is against 2.6.38, and for-linus is against your git tree as of Friday. The shortlog/diffstat below don't include the merge commit. This pull has per-file controls in btrfs for the compression and nocow flags. This goes in through the standard chattr interface, and Ted did ack the new flags. We also have support for the FITRIM ioctl, which will let us discard in bulk. It will be very interesting to compare the performance of online discard vs bulk trim, and it is possible to run both at the same time. There are also many error handling fixes, allocator performance fixes, code cleanups, a switch to the new truncate handling code, and a few other small fixes. This might be the first pull in a long time without the words ENOSPC in it, but I'm sure we've fixed that too.
-David Miller has updates and fixes on the networking tree :
1) Fix oops in RAW ipv4 when route doesn't exist.
2) Heap corruptions, missing length checks, in IRDA and ROSE. From
Dan Rosenberg and Ben Hutchings.
3) Fix FIB error return code checking regression, fix from Julian Anastasov.
4) Fix refression in ethtool ->set_flags() error returns for some
network drivers, from Stanislaw Gruszka.
5) When we do async crypto, we don't take a reference while the transaction
is "in flight" and thus can crash if the object is release meanwhile.
Fix from Steffen Klassert.
6) Bug fixes to the new IPSEC extended replay window support, also
from Steffen Klassert.
7) Bridge forgets to send out notifier when device address changes, from
Stephen Hemminger.
8) Conver jme driver away from legacy PCI power management, from Rafael J.
Wysocki.
9) GRO is ineffective on large page size configs because we don't put
enough scatter gather elements into the SKB, from Anton Blanchard.
10) cxgb3 erroneously only applies irq coalescing settings to one queue,
fix also from Anton Blanchard.
11) CAN fixes from Jan Altenberg, Marc Kleine-Budde, and Oliver Hartkopp.
12) mlx4_en driver loses promiscuous setting, fix from Herbert Xu.
Please pull, thanks a lot!
-Wim van Sebroeck has few watchdog fixes :
watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry
This is needed for determining the reason for failure when a softdog
timeout occurs.
We use softdog to watch for critical application failures and at the
minimum a snapshot of the system would help to determine the cause. In
such a scenario the application could fail but there isn't a softlockup as
such, hence the detect softlockup feature does not help.
The patch adds a module parameter soft_panic which when set to 1 causes
softdog to invoke panic instead of reboot when the softdog timer expires.
By invoking panic we execute kdump if it is configured and the vmcore
generated by kdump should provide atleast a minimal idea of the reason for
failure.
-Benjamin Herrenschmidt has updated the powerpc tree :
Mostly some more fallout from the irq core rework, new syscalls wireup, defconfig fixes and minor bits. The only feature-esque thing in there would be me adding dma_mmap_coherent(), it fixes various audio devices on our older non cache-coherent embedded platforms. Freescale folks: I've manually added two patches to fix some FSL 8xx and QE irq build problems caused by the upstream irq rework to the branch. Please verify that it's all correct and if not send followup patches. Linus: I didn't wait for hera to sync to the mirrors before sending this email (I usually do but I have to run and it's very slow today).
-Under the title “Merge window closed – 2.6.39-rc1 out”. Linus announces
the latest and greatest :
So 2.6.39-rc1 is out there, and the merge window is closed. I still
have to look over the cleancache pull request (which I got in plenty
of time, but decided that I want to review after the merge window
craziness is over), but other than that, we're done.
What to say about the merge window? It _feels_ like it was all
drivers, filesystems and irq cleanups. The dirstat backs up the
drivers part (65%), but claims that we had way more arch updates than
filesystem stuff (and the bulk of that is ARM, and while _some_ of
that was the irq conversions, most of it is just the normal board
churn). On the arch side, the first steps of unifying m68k and
m68knommu is a nice sign, let's see how that all pans out in the long
run. Oh, and there's the new unicore32 architecture.
Elsewhere, we had a fair amount of VFS cleanup, and also introduced
the "filehandle" interfaces (along with open(..,O_PATH)). Although
most people won't care.
Perhaps a bit more interesting to a larger part of the kernel
community is the new block device plugging model - it makes plugging a
per-thread thing and cleaned up the code considerably. It also avoids
lots of locking in a very hot path, and should generally be a really
good idea. That said, it also at one point ate XFS filesystems for
breakfast, but that's fixed and it's hopefully all good now.
Anything else? I'm sure I've forgotten something really exciting. But
on the whole I think this should be one of those "solid, boring
progress" releases.
Knock wood. I like boring.
Linus
-Thomas Gleixner announces irq fixes for 2.6.39-rc*, Andi Kleen
announces 2.6.35.12 longterm kernel, which you can get here :
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.35/linux-2.6.35.12.tar.gz,
and Benjamin Herrenschmidt announces updates (merge branch)
for the powerpc tree :
Hi Linus ! Some more powerpc bits for you. One is actually a change from Anton to the generic kexec to make a function weak so powerpc can override it. It has been around for ever, there were initial objections I think mostly due to a misunderstanding of the problem. Since then, it's been a deafening silence to our responses/expanations and no answers from Eric so I think it should go in as the powerpc counterpart that implements our version of that weak function is already (and has been for a while as d72e063bb32c06c6c1cec14f6857b7c37ba62d7a) and it fixes a real nasty bug. The rest is a series of fixes to our CPU hotplug code that I've been sitting on for a little while (by myself) and was originally thinking about putting in for the next release. I eventually changed my mind, there is no point in sitting on them any longer since they fix some real issues on some machines (such as G5's crashing on re-plug) and brings us in line with what other archs do for setting up and re-initializing the idle threads. Cheers, Ben.
-David Miller has updates on networking and sparc and Pekka Enberg
, in a mail titled “Native Linux KVM Tool”, announces, as the title
suggests, a native Linux kvm tool :P :
Hi all, We’re proud to announce the native Linux KVM tool! The goal of this tool is to provide a clean, from-scratch, lightweight KVM host tool implementation that can boot Linux guest images (just a hobby, won't be big and professional like QEMU) with no BIOS dependencies and with only the minimal amount of legacy device emulation. Note that this is a development prototype for the time being: there's no networking support and no graphics support, amongst other missing essentials. It's great as a learning tool if you want to get your feet wet in virtualization land: it's only 5 KLOC of clean C code that can already boot a guest Linux image. Right now it can boot a Linux image and provide you output via a serial console, over the host terminal, i.e. you can use it to boot a guest Linux image in a terminal or over ssh and log into the guest without much guest or host side setup work needed. 1. To try out the tool, clone the git repository: git clone git://github.com/penberg/linux-kvm.git or alternatively, if you already have a kernel source tree: git checkout -b kvm/tool git pull git://github.com/penberg/linux-kvm.git 2. Compile the tool: cd tools/kvm && make 3. Download a raw userspace image: wget http://wiki.qemu.org/download/linux-0.2.img.bz2 && bunzip2 linux-0.2.img.bz2 4. Build a kernel with CONFIG_VIRTIO_BLK=y and CONFIG_SERIAL_8250_CONSOLE=y configuration options. Note: also make sure you have CONFIG_EXT2_FS or CONFIG_EXT4_FS if you use the above image. 5. And finally, launch the hypervisor: ./kvm --image=linux-0.2.img --kernel=../../arch/x86/boot/bzImage The tool has been written by Pekka Enberg, Cyrill Gorcunov, and Asias He. Special thanks to Avi Kivity for his help on KVM internals and Ingo Molnar for all-around support and encouragement! See the following thread for original discussion for motivation of this project: http://thread.gmane.org/gmane.linux.kernel/962051/focus=962620 Pekka
-Tejun Heo has a few updates for the x86 misc tree and John W. Linville
updates the wireless tree :
Here is another batch of fixes intended for 2.6.39. This round includes a number of Bluetooth fixes. On the Bluetooth front, we have a WARNING fix related to debugobjects, a fix for L2CAP channel hang, a fix for an unlock without a lock, a fix to check for LE connections before discarding data, a fix for synchronization after HCI_RESET, an accounting fix for unacked frames, and a device ID addition. For wireless LANs, an iwlegacy fix to prevent a possible crash during a firmware restart, a carl9170 fix to generate BlockAckReq if the transmission of an AMPDU subframe fails (i.e. an interop fix), an iwl3945 change to disable hw scan by default due to a number of related problems, a related debug message change to avoid some confusion, a fix for aggregation frame reordering, a cfg80211 fix to avoid double-unlinking a BSS entry, a trio of NULL pointer deref fixes, an ath9k fix to avoid a bus error during restart, a minstrel_ht fix to avoid a crash when no supported MCS rates are found, and some new device IDs for rt2x00. Please let me know if there are problems!
-Last minute entries : none this week.
-Have an enjoyable weekend! See you in a week!
[...] kernel weekly news – 02.04.2011 [...]