kernel weekly news – 17.09.2011

Posted: September 17, 2011 in kernel

Hello people and welcome to this edition of kwn!

-We start with Kent Overstreet and his announcement of bcache vers. 12 :

 bcache, n.: a cache for arbitrary block devices that uses an SSD

It's probably past time I started poking people to see about getting
this stuff in. It's synced up with mainline, the documentation is for
once relatively up to date, and it looks just about production ready.

Suggestions are more than welcome on how to make it easier to review -
it's entirely too much code, I know (near 10k lines now). I'll be
emailing the patches that touch other parts of the kernel separately.

Short overview:
Bcache does both writethrough and writeback caching. It presents itself
as a new block device, a bit like say md. You can cache an arbitrary
number of block devices with a single cache device, and attach and
detach things at runtime - it's quite flexible.

It's very fast. It uses a b+ tree for the index, along with a journal to
coalesce index updates, and a bunch of other cool tricks like auxiliary
binary search trees with software floating point keys to avoid a bunch
of random memory accesses when doing binary searches in the btree. It
does over 50k iops doing 4k random /writes/ without breaking a sweat,
and would do many times that if I had faster hardware.

It (configurably) tracks and skips sequential IO, so as to efficiently
cache random IO. It's got more cool features than I can remember at this
point. It's resilient, handling IO errors from the SSD when possible up
to a configurable threshhold, then detaches the cache from the backing
device even while you're still using it.

The code is up at
git://evilpiepirate.org/~kent/linux-bcache.git
git://evilpiepirate.org/~kent/bcache-tools.git

The wiki is woefully out of date, but that might change one day:
http://bcache.evilpiepirate.org 

-Neil Brown of SUSE has a few minor md updates for 3.1, Jonas Bonn
has OpenRISC fixes for 3.1 and Mauro Carvalho Chehab has media fixes :

 Dan Carpenter (1):
      [media] pwc: precedence bug in pwc_init_controls()

Florian Mickler (1):
      [media] vp7045: fix buffer setup

Jarod Wilson (1):
      [media] nuvoton-cir: simplify raw IR sample handling

Jean-François Moine (2):
      [media] gspca - ov519: Fix LED inversion of some ov519 webcams
      [media] gspca - sonixj: Fix the darkness of sensor om6802 in 320x240

Jesper Juhl (1):
      [media] [Resend] viacam: Don't explode if pci_find_bus() returns NULL

Kamil Debski (1):
      [media] v4l2: Fix documentation of the codec device controls

Luiz Carlos Ramos (1):
      [media] gspca - sonixj: Fix wrong register mask for sensor om6802 

-Arnd Bergmann issues arm-soc fixes for 3.1 :

 I've moved a copy of the arm-soc tree to git.linaro.org for now. Since
g.k.o contains to be unavailable, that seemed to be the most reliable
alternative for me.

The fixes for 3.1 that have come in during this time are for four platforms:
cns3xxx, davinci, omap2+, and prima2. I have a large set of build fixes
that I found myself during randconfig builds, but most of these have been
around forever, so I'm waiting for the merge window with those. I'm trying
to feed the actual build regressions through the individual maintainers,
so a few of those might be still be coming. 

[snip...]

Anton Vorontsov (1):
      ARM: cns3xxx: Fix newly introduced warnings in the PCIe code

Arnd Bergmann (2):
      Merge branches 'cns3xxx/fixes', 'omap/fixes' and 'davinci/fixes' into fixes
      Merge branch 'sirf/fixes' into fixes

Jamie Iles (1):
      ARM: CSR: add missing sentinels to of_device_id tables

Linus Walleij (1):
      ARM: davinci: fix cache flush build error

Paul Walmsley (5):
      OMAP4: clock: re-enable previous clockdomain enable/disable sequence
      OMAP4: clock: fix compile warning
      OMAP3: clock: indicate that gpt12_fck and wdt1_fck are in the WKUP clockdomain
      OMAP2430: hwmod: musb: add missing terminator to omap2430_usbhsotg_addrs[]
      Merge branches 'non_hwmod_compliant_fix_3.1rc', 'omap3_clock_fixes_3.1rc', 'omap4_clock_fixes_3.1rc', 'missing_2430_musb_adds_terminator_fix_3.1rc' and 'pwrdm_clkdm_fixes_3.1rc' into prcm-fixes-a-3.1rc

Rajashekhara, Sudhakar (1):
      ARM: davinci: da850 EVM: read mac address from SPI flash

Rajendra Nayak (1):
      OMAP: powerdomains: Make all powerdomain target states as ON at init

Santosh Shilimkar (1):
      OMAP: clockdomain: Wait for powerdomain to be ON when using clockdomain force wakeup

Sergei Shtylyov (1):
      ARM: davinci: correct MDSTAT_STATE_MASK

Tommy Lin (1):
      ARM: cns3xxx: Fix compile error caused by hardware.h removed 

-Dave Airlie has drm fixes including a major nouveau regression fix, Jeremy Fitzhardinge
has a fix related to xen (“When starting a PV kernel under Xen with full boot-time
trace testing enabled, it crashes due to infinite recursion. In principle it could
happen at other times too (when just using preempt tracing perhaps?).
This fixes it.

BTW, I think this same problem also affects KVM.

Erm, I’m not sure how to authenticate this github as being really from
me; I’m signing the mail with my long-standing pgp key in the hope that
it helps… Also, the patch is self-evident.”), Paul E. McKenney
announces a temp location for the rcu tree until the kernel.org
issue is solved : https://github.com/paulmckrcu/linux and
Len Brown announces acpi patches for -rc6; it’s also temporarily
hosted on github – https://github.com/lenb/linux.git .

-Pekka Enberg announces the temp location of slab.git, until the
kernel.org issue is solved : you can find it here :
git://github.com/penberg/linux.git for-next .

-John Stultz updates alarmtimers for 3.2, which can be found
at git://git.linaro.org/people/jstultz/linux.git fortglx/3.2/tip/timers/alarmtimers :

 John Stultz (8):
      alarmtimers: Change alarmtimer functions to return alarmtimer_restart values
      alarmtimers: Push rearming peroidic timers down into alamrtimer handler
      alarmtimers: Add alarm_forward functionality
      alarmtimers: Remove interval cap limit hack
      alarmtimers: Remove period from alarm structure
      alarmtimers: Add more refined alarm state tracking
      alarmtimers: Add try_to_cancel functionality
      alarmtimers: Rework RTC device selection using class interface 

-Linus Torvalds announces 3.1-rc6 :

 [ Heh. Somewhat delayed, but I literally didn't notice that all my
outgoing email bounced for the last couple of days, so here it is
again. Originally *meant* to be sent on Monday, just apparently never
got anywhere. So when it says "I should have done this yesterday", it
actually *means* Sunday ;^]

So I should have done this yesterday, but I was distracted. So here it
is, a day late:

   git://github.com/torvalds/linux.git

with just over a hundred commits. It's been fairly quiet.

Some arm and openrisc updates, various small driver fixes (the drm
nvidia fixes might be the ones most noticeable to people), and some
fuse, 9p and btrfs updates for filesystems.

Nothing really stands out. Have at it, and let us know of any
outstanding regressions,

                   Linus

---
Alex Deucher (1):
     drm/radeon/kms: fix DP detect and EDID fetch for DP bridges

Andrey Vagin (1):
     x86, perf: Check that current->mm is alive before getting user callchain

Aneesh Kumar K.V (5):
     fs/9p: Add fid before dentry instantiation
     fs/9p: Don't update file type when updating file attributes
     net/9p: Fix kernel crash with msize 512K
     fs/9p: Add OS dependent open flags in 9p protocol
     fs/9p: Always ask new inode in lookup for cache mode disabled

Anton Vorontsov (1):
     ARM: cns3xxx: Fix newly introduced warnings in the PCIe code

Artem Bityutskiy (1):
     UBI: do not link debug messages when debugging is disabled

Axel Lin (2):
     rtc: ep93xx: Fix 'rtc' may be used uninitialized warning
     i2c-pxa2xx: return proper error code in ce4100_i2c_probe error paths

Bart Van Assche (1):
     backlight: Declare backlight_types[] const

Ben Skeggs (1):
     drm/nouveau: fix oops on pre-semaphore hardware

Chase Douglas (1):
     HID: magicmouse: Set resolution of touch surfaces

Clemens Werther (1):
     HID: add support for HuiJia USB Gamepad connector

Dan Carpenter (1):
     [media] pwc: precedence bug in pwc_init_controls()

David Herrmann (2):
     HID: wacom: Fix error path of power-supply initialization
     HID: wacom: Unregister sysfs attributes on remove

David Sterba (1):
     btrfs: xattr: fix attribute removal

David Vrabel (1):
     xen: use maximum reservation to limit amount of usable RAM

Doug Anderson (1):
     i2c-tegra: fix possible race condition after tx

Duncan Sands (1):
     KVM: Fix instruction size issue in pvclock scaling

Emil Velikov (2):
     drm/nv50/crtc: Bail out if FB is not bound to crtc
     drm/nv04/crtc: Bail out if FB is not bound to crtc

Eric B Munson (1):
     perf_event: Fix broken calc_timer_values()

Florian Mickler (1):
     [media] vp7045: fix buffer setup

Girish K S (1):
     mmc: sdhci-s3c: Fix mmc card I/O problem

Guenter Roeck (2):
     hwmon: (max16065) Fix current calculation
     hwmon: (max16065) Add chip access warning to documentation

Igor Mammedov (1):
     xen: x86_32: do not enable iterrupts when returning from
exception in interrupt context

Ilkka Koskinen (1):
     rtc: rtc-twl: Switch to using threaded irq

Jamie Iles (1):
     ARM: CSR: add missing sentinels to of_device_id tables

Janusz Krzysztofik (1):
     ARM: 7088/1: entry: fix wrong parameter name used in do_thumb_abort

Jarod Wilson (1):
     [media] nuvoton-cir: simplify raw IR sample handling

Jean Delvare (1):
     hwmon: (ucd9000/ucd9200) Optimize array walk

Jean-François Moine (2):
     [media] gspca - ov519: Fix LED inversion of some ov519 webcams
     [media] gspca - sonixj: Fix the darkness of sensor om6802 in 320x240

Jesper Juhl (1):
     [media] [Resend] viacam: Don't explode if pci_find_bus() returns NULL

Jim Garlick (1):
     fs/9p: Use protocol-defined value for lock/getlock 'type' field.

Jiri Kosina (1):
     HID: magicmouse: ignore 'ivalid report id' while switching modes, v2

Joerg Roedel (2):
     iommu/amd: Make sure iommu->need_sync contains correct value
     iommu/amd: Don't take domain->lock recursivly

John Bonesio (1):
     i2c-tegra: Add of_match_table

John Stultz (4):
     alarmtimers: Avoid possible null pointer traversal
     alarmtimers: Memset itimerspec passed into alarm_timer_get
     alarmtimers: Avoid possible denial of service with high freq
periodic timers
     rtc: Fix RTC PIE frequency limit

Jon Mason (1):
     PCI: Remove MRRS modification from MPS setting code

Jonas Bonn (2):
     openrisc: don't use pt_regs in struct sigcontext
     Add missing DMA ops

Josef Bacik (1):
     Btrfs: skip locking if searching the commit root in csum lookup

Kamil Debski (1):
     [media] v4l2: Fix documentation of the codec device controls

Kevin Hilman (1):
     OMAP: omap_device: fix !CONFIG_SUSPEND case in _noirq handlers

Konrad Rzeszutek Wilk (1):
     xen/smp: Warn user why they keel over - nosmp or noapic and what
to use instead.

Li Zefan (2):
     Btrfs: calc file extent num_bytes correctly in file clone
     Btrfs: add dummy extent if dst offset excceeds file end in

Lin Ming (1):
     drm: Remove duplicate "return" statement

Linus Torvalds (1):
     Linux 3.1-rc6

Linus Walleij (3):
     ARM: 7081/1: mach-integrator: fix the clocksource
     ARM: 7080/1: l2x0: make sure I&D are not locked down on init
     ARM: davinci: fix cache flush build error

Liu Bo (3):
     Btrfs: fix an oops when deleting snapshots
     Btrfs: reset to appropriate block rsv after orphan operations
     Btrfs: fix misuse of trans block rsv

Luiz Carlos Ramos (1):
     [media] gspca - sonixj: Fix wrong register mask for sensor om6802

Marcin Slusarz (2):
     drm/nouveau: properly handle allocation failure in nouveau_sgdma_populate
     drm/nouveau: fix nv04_sgdma_bind on non-"4kB pages" archs

Mark Brown (1):
     regmap: Remove bitrotted module_put()s

Mark Rutland (1):
     ARM: 7067/1: mm: keep significant bits in pfn_valid

Mathieu Desnoyers (1):
     ioctl: register LTTng ioctl

Miao Xie (3):
     Btrfs: fix unclosed transaction handle in btrfs_cont_expand
     Btrfs: fix the file extent gap when doing direct IO
     Btrfs: fix wrong nbytes information of the inode

Michal Marek (1):
     UBIFS: not build debug messages with CONFIG_UBIFS_FS_DEBUG disabled

Mika Westerberg (3):
     mmc: rename mmc_host_clk_{ungate|gate} to mmc_host_clk_{hold|release}
     mmc: core: prevent aggressive clock gating racing with ios updates
     mmc: core: use non-reentrant workqueue for clock gating

Mike Rapoport (1):
     i2c-tegra: add I2C_FUNC_SMBUS_EMUL

Mike Waychison (1):
     rtc: Initialized rtc_time->tm_isdst

Miklos Szeredi (3):
     vfs: automount should ignore LOOKUP_FOLLOW
     fuse: fix flock breakage
     fuse: fix memory leak

NeilBrown (4):
     Avoid dereferencing a 'request_queue' after last close.
     md/raid10: unify handling of write completion.
     md/raid1,10: Remove use-after-free bug in make_request.
     md: Fix handling for devices from 2TB to 4TB in 0.90 metadata.

Noah Watkins (1):
     ceph: fix memory leak

Paul Walmsley (4):
     OMAP4: clock: re-enable previous clockdomain enable/disable sequence
     OMAP4: clock: fix compile warning
     OMAP3: clock: indicate that gpt12_fck and wdt1_fck are in the
WKUP clockdomain
     OMAP2430: hwmod: musb: add missing terminator to omap2430_usbhsotg_addrs[]

Per Forlin (4):
     dmaengine/ste_dma40: add missing kernel doc for pending_queue
     dmaengine/ste_dma40: remove duplicate call to d40_pool_lli_free().
     dmaengine/ste_dma40: fix Oops due to double free of client descriptor
     dmaengine/ste_dma40: fix memory leak due to prepared descriptors

Rajashekhara, Sudhakar (1):
     ARM: davinci: da850 EVM: read mac address from SPI flash

Rajendra Nayak (1):
     OMAP: powerdomains: Make all powerdomain target states as ON at init

Randy Dunlap (3):
     wireless: fix kernel-doc warning in net/cfg80211.h
     regulator: fix kernel-doc warning in consumer.h
     scsi: qla4xxx driver depends on NET

Russell King (1):
     NET: am79c961: fix race in link status code

Sage Weil (3):
     libceph: fix msgpool
     ceph: fix encoding of ino only (not relative) paths
     libceph: fix leak of osd structs during shutdown

Santosh Shilimkar (1):
     OMAP: clockdomain: Wait for powerdomain to be ON when using
clockdomain force wakeup

Sebastian Reichel (1):
     rtc: rtc-twl: Remove lockdep related local_irq_enable()

Sergei Shtylyov (1):
     ARM: davinci: correct MDSTAT_STATE_MASK

Sergei Trofimovich (1):
     btrfs: fix warning in iput for bad-inode

Shawn Guo (1):
     mmc: sdhci-esdhc-imx: add missing inclusion of linux/module.h

Shyam Iyer (1):
     Fix pointer dereference before call to pcie_bus_configure_settings

Simon Horman (1):
     mmc: sdhi: initialise mmc_data->flags before use

Stephane Eranian (1):
     perf events: Fix slow and broken cgroup context switch code

Subhash Jadavani (1):
     mmc: sd: UHS-I bus speed should be set last in UHS initialization

Thomas Gleixner (2):
     sched: Separate the scheduler entry for preemption
     sched: Move blk_schedule_flush_plug() out of __schedule()

Todd Poynor (1):
     rtc: twl: Fix registration vs. init order

Tommy Lin (1):
     ARM: cns3xxx: Fix compile error caused by hardware.h removed

WANG Cong (1):
     sched: Fix a memory leak in __sdt_free() 

-James Bottomley has scsi fixes for -rc6 :

 Andrew Vasquez (1):
      qla2xxx: Correct inadvertent loop state transitions during port-update handling.

Arun Easi (2):
      qla2xxx: T10 DIF - Fix incorrect error reporting.
      qla2xxx: T10 DIF - Handle uninitalized sectors.

Chad Dupuis (3):
      qla2xxx: Update version number to 8.03.07.07-k.
      qla2xxx: Double check for command completion if abort mailbox command fails.
      qla2xxx: Fix qla24xx revision check while enabling interrupts.

Dan Williams (5):
      isci: add version number
      isci: fix event-get pointer increment
      isci: dynamic interrupt coalescing
      isci: fix 32-bit operation when CONFIG_HIGHMEM64G=n
      isci: fix sata response handling

Dave Jiang (2):
      isci: Adding documentation to API change and fixup sysfs registration
      isci: Update MAINTAINERS entry for the isci driver

Eddie Wai (1):
      bnx2i: Fixed the endian on TTT for NOP out transmission

Jeff Skirvin (1):
      isci: Leave requests alone if already terminating.

Marcin Tomczak (1):
      isci: change sas phy timeouts from 54us to 59us

Robert Love (1):
      fcoe: Fix deadlock between fip's recv_work and rtnl

Saurav Kashyap (3):
      qla2xxx: Set the task attributes after memsetting fcp cmnd.
      qla2xxx: Save and restore irq in the response queue interrupt handler.
      qla2xxx: Acquire hardware lock while manipulating dsd list.

Stephen M. Cameron (2):
      hpsa: fix physical device lun and target numbering problem
      hpsa: fix problem that OBDR devices are not detected

Vasu Dev (2):
      libfc: block SCSI eh thread for blocked rports
      libfc: fix fc_eh_host_reset

Yi Zou (1):
      libfc: fix referencing to fc_fcp_pkt from the frame pointer via fr_fsp()

-Trond Myklebust has nfs-client fixes, John W. Linville updates wireless
(“Felix Fietkau (1):
ath9k_hw: fix calibration on 5 ghz

George (2):
rtlwifi: rtl8192su: Fix problem connecting to HT-enabled AP
rtlwifi: Fix problem when switching connections

Johannes Berg (3):
mac80211: fix missing sta_lock in __sta_info_destroy
iwlagn: fix stack corruption
iwlagn: fix command queue timeout

John W. Linville (1):
Merge branch ‘master’ of git://git.infradead.org/users/linville/wireless into for-davem

Mohammed Shafi Shajakhan (1):
ath9k: Fix kernel panic on unplugging the device

Rajkumar Manoharan (1):
ath9k_hw: Fix init mode register regression

Stanislaw Gruszka (1):
iwlegacy: fix BUG_ON(info->control.rates[0].idx < 0) "),
Takashi Iwai has sound updates for -rc7 and Dmitry Torokhov announces the
new location of the input tree : https://github.com/dtor/input .

-Konrad Rzeszutek Wilk has xen stable/bug fixes for -rc6 :

 which has fixes in:
  1). The E820 setup code (which we are planning to cleanup in 3.2/3.3 time
       -frame as it is getting bigger and nastier).
  2). Taking a spinlock while later calling the generic IRQ code which
      uses a mutex - causing the "BUG: you took spinlock while sleeping."
      Fortunately the fix is quite simple - s/spin/mutex/.
  3). The Linux guest when it runs under HVM tries to enable as many PV
      things as it can. One of them is the spinlocks - but sadly we are
      doing it too late and end up with baremetal ticket spinlocks and
      PV byte locks running at the same time. Hilarity ensues with the guest
      locking up.. we will revisit this in 3.3 time-frame.
  4). Lastly, we fix up the check for overflow and also add a WARN
      just in case it happens.

-Have a great weekend everyone, see ya!

About these ads

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