14 Jan, 2011

40 commits

  • Convert all create[_singlethread]_work() users to the new
    alloc[_ordered]_workqueue(). This conversion is mechanical and
    doesn't introduce any behavior change.

    Signed-off-by: Tejun Heo
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Tejun Heo
     
  • kstriped only serves sc->kstriped_ws which runs dm_table_event().
    This doesn't need to be executed from an ordered workqueue w/ rescuer.
    Drop kstriped and use the system_wq instead. While at it, rename
    kstriped_ws to trigger_event so that it's consistent with other dm
    modules.

    Signed-off-by: Tejun Heo
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Tejun Heo
     
  • flush_scheduled_work() is being deprecated. Flush the used work
    directly instead. In all dm targets, the only work which uses
    system_wq is ->trigger_event.

    Signed-off-by: Tejun Heo
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Tejun Heo
     
  • dm_snapshot->queued_bios_work isn't used. Remove ->queued_bios[_work]
    from dm_snapshot structure, the flush_queued_bios work function and
    ksnapd workqueue.

    The DM snapshot changes that were going to use the ksnapd workqueue were
    either superseded (fix for origin write races) or never completed
    (deallocation of invalid snapshot's memory via workqueue).

    Signed-off-by: Tejun Heo
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Tejun Heo
     
  • The device-mapper should not send warning messages to syslog
    if a device is not found. This can be done by userspace
    according to the returned dm-ioctl error code.

    So move these messages to debug level and use rate limiting
    to not flood syslog.

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • This patch adds a compatible implementation of the block
    chaining mode used by the Loop-AES block device encryption
    system (http://loop-aes.sourceforge.net/) designed
    by Jari Ruusu.

    It operates on full 512 byte sectors and uses CBC
    with an IV derived from the sector number, the data and
    optionally extra IV seed.

    This means that after CBC decryption the first block of sector
    must be tweaked according to decrypted data.

    Loop-AES can use three encryption schemes:
    version 1: is plain aes-cbc mode (already compatible)
    version 2: uses 64 multikey scheme with own IV generator
    version 3: the same as version 2 with additional IV seed
    (it uses 65 keys, last key is used as IV seed)

    The IV generator is here named lmk (Loop-AES multikey)
    and for the cipher specification looks like: aes:64-cbc-lmk

    Version 2 and 3 is recognised according to length
    of provided multi-key string (which is just hexa encoded
    "raw key" used in original Loop-AES ioctl).

    Configuration of the device and decoding key string will
    be done in userspace (cryptsetup).
    (Loop-AES stores keys in gpg encrypted file, raw keys are
    output of simple hashing of lines in this file).

    Based on an implementation by Max Vozeler:
    http://article.gmane.org/gmane.linux.kernel.cryptoapi/3752/

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon
    CC: Max Vozeler

    Milan Broz
     
  • This patch adds generic multikey handling to be used
    in following patch for Loop-AES mode compatibility.

    This patch extends mapping table to optional keycount and
    implements generic multi-key capability.

    With more keys defined the string is divided into
    several sections and these are used for tfms.

    The tfm is used according to sector offset
    (sector 0->tfm[0], sector 1->tfm[1], sector N->tfm[N modulo keycount])
    (only power of two values supported for keycount here).

    Because of tfms per-cpu allocation, this mode can be take
    a lot of memory on large smp systems.

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon
    Cc: Max Vozeler

    Milan Broz
     
  • IV (initialisation vector) can in principle depend not only
    on sector but also on plaintext data (or other attributes).

    Change IV generator interface to work directly with dmreq
    structure to allow such dependence in generator.

    Also add post() function which is called after the crypto
    operation.

    This allows tricky modification of decrypted data or IV
    internals.

    In asynchronous mode the post() can be called after
    ctx->sector count was increased so it is needed
    to add iv_sector copy directly to dmreq structure.
    (N.B. dmreq always include only one sector in scatterlists)

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • If there is enough memory, code can directly submit bio
    instead queing this operation in separate thread.

    Try to alloc bio clone with GFP_NOWAIT and only if it
    fails use separate queue (map function cannot block here).

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • Currently dm-crypt does all the encryption work for a single dm-crypt
    mapping in a single workqueue. This does not scale well when multiple
    CPUs are submitting IO at a high rate. The single CPU running the single
    thread cannot keep up with the encryption and encrypted IO performance
    tanks.

    This patch changes the crypto workqueue to be per CPU. This means
    that as long as the IO submitter (or the interrupt target CPUs
    for reads) runs on different CPUs the encryption work will be also
    parallel.

    To avoid a bottleneck on the IO worker I also changed those to be
    per-CPU threads.

    There is still some shared data, so I suspect some bouncing
    cache lines. But I haven't done a detailed study on that yet.

    Signed-off-by: Andi Kleen
    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Andi Kleen
     
  • Rename cc->cipher_mode to cc->cipher_string and store the whole of the cipher
    information so it can easily be printed when processing the DM_DEV_STATUS ioctl.

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • This patch adds a 'version' field to the 'dm_ulog_request'
    structure.

    The 'version' field is taken from a portion of the unused
    'padding' field in the 'dm_ulog_request' structure. This
    was done to avoid changing the size of the structure and
    possibly disrupting backwards compatibility.

    The version number will help notify user-space daemons
    when a change has been made to the kernel/userspace
    log API.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Allow the device-mapper log's 'mark' and 'clear' requests to be
    grouped and processed in a batch. This can significantly reduce the
    amount of traffic going between the kernel and userspace (where the
    processing daemon resides).

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Split the 'flush_list', which contained a mix of both 'mark' and 'clear'
    requests, into two distinct lists ('mark_list' and 'clear_list').

    The device mapper log implementations (used by various DM targets) are
    allowed to cache 'mark' and 'clear' requests until a 'flush' is
    received. Until now, these cached requests were kept in the same list.
    They will now be put into distinct lists to facilitate group processing
    of these requests (in the next patch).

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Make kcopyd merge more I/O requests by using device unplugging.

    Without this patch, each I/O request is dispatched separately to the device.
    If the device supports tagged queuing, there are many small requests sent
    to the device. To improve performance, this patch will batch as many requests
    as possible, allowing the queue to merge consecutive requests, and send them
    to the device at once.

    In my tests (15k SCSI disk), this patch improves sequential write throughput:

    Sequential write throughput (chunksize of 4k, 32k, 512k)
    unpatched: 15.2, 18.5, 17.5 MB/s
    patched: 14.4, 22.6, 23.0 MB/s

    In most common uses (snapshot or two-way mirror), kcopyd is only used for
    two devices, one for reading and the other for writing, thus this optimization
    is implemented only for two devices. The optimization may be extended to n-way
    mirrors with some code complexity increase.

    We keep track of two block devices to unplug (one for read and the
    other for write) and unplug them when exiting "do_work" thread. If
    there are more devices used (in theory it could happen, in practice it
    is rare), we unplug immediately.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • When constructing a mirror log, it is possible for the initial request
    to fail for other reasons besides -ESRCH. These must be handled too.

    Signed-off-by: Jonathan Brassow
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Jonathan Brassow
     
  • Simplify key size verification (hexadecimal string) and
    set key size early in constructor.

    (Patch required by later changes.)

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • This patch replaces dm_mutex with _minor_lock in dm_blk_close()
    and then removes it.

    During the BKL conversion, commit 6e9624b8caec290d28b4c6d9ec75749df6372b87
    (block: push down BKL into .open and .release) pushed lock_kernel()
    down into dm_blk_open/close calls.
    Commit 2a48fc0ab24241755dc93bfd4f01d68efab47f5a
    (block: autoconvert trivial BKL users to private mutex) converted it to a
    local mutex, but _minor_lock is sufficient.

    Signed-off-by: Milan Broz
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • Enable discard support in the DM mirror target.
    Also change an existing use of 'bvec' to 'addr' in the union.

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • Allow the uuid of a mapped device to be set after device creation.
    Previously the uuid (which is optional) could only be set by
    DM_DEV_CREATE. If no uuid was supplied it could not be set later.

    Sometimes it's necessary to create the device before the uuid is known,
    and in such cases the uuid must be filled in after the creation.

    This patch extends DM_DEV_RENAME to accept a uuid accompanied by
    a new flag DM_UUID_FLAG. This can only be done once and if no
    uuid was previously supplied. It cannot be used to change an
    existing uuid.

    DM_VERSION_MINOR is also bumped to 19 to indicate this interface
    extension is available.

    Signed-off-by: Peter Jones
    Signed-off-by: Jonathan Brassow
    Signed-off-by: Alasdair G Kergon

    Peter Jones
     
  • Remove the REQ_SYNC flag to improve write throughput when writing
    to the origin with a snapshot on the same device (using the CFQ I/O
    scheduler).

    Sequential write throughput (chunksize of 4k, 32k, 512k)
    unpatched: 8.5, 8.6, 9.3 MB/s
    patched: 15.2, 18.5, 17.5 MB/s

    Snapshot exception reallocations are triggered by writes that are
    usually async, so mark the associated dm_io_request as async as well.
    This helps when using the CFQ I/O scheduler because it has separate
    queues for sync and async I/O. Async is optimized for throughput; sync
    for latency. With this change we're consciously favoring throughput over
    latency.

    Signed-off-by: Mikulas Patocka
    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Mikulas Patocka
     
  • Revert commit 224cb3e981f1b2f9f93dbd49eaef505d17d894c2
    dm: Call blk_abort_queue on failed paths

    Multipath began to use blk_abort_queue() to allow for
    lower latency path deactivation. This was found to
    cause list corruption:

    the cmd gets blk_abort_queued/timedout run on it and the scsi eh
    somehow is able to complete and run scsi_queue_insert while
    scsi_request_fn is still trying to process the request.

    https://www.redhat.com/archives/dm-devel/2010-November/msg00085.html

    Signed-off-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon
    Cc: Mike Anderson
    Cc: Mike Christie
    Cc: stable@kernel.org

    Mike Snitzer
     
  • No longer needlessly hold md->bdev->bd_inode->i_mutex when changing the
    size of a DM device. This additional locking is unnecessary because
    i_size_write() is already protected by the existing critical section in
    dm_swap_table(). DM already has a reference on md->bdev so the
    associated bd_inode may be changed without lifetime concerns.

    A negative side-effect of having held md->bdev->bd_inode->i_mutex was
    that a concurrent DM device resize and flush (via fsync) would deadlock.
    Dropping md->bdev->bd_inode->i_mutex eliminates this potential for
    deadlock. The following reproducer no longer deadlocks:
    https://www.redhat.com/archives/dm-devel/2009-July/msg00284.html

    Signed-off-by: Mike Snitzer
    Signed-off-by: Mikulas Patocka
    Signed-off-by: Alasdair G Kergon
    Cc: stable@kernel.org

    Mike Snitzer
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Fix format warning in arch/ia64/kernel/acpi.c

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: ohci: fix compilation on arches without PAGE_KERNEL_RO

    Linus Torvalds
     
  • * 'for-2.6.38/drivers' of git://git.kernel.dk/linux-2.6-block:
    cciss: reinstate proper FIFO order of command queue list
    floppy: replace NO_GEOM macro with a function

    Linus Torvalds
     
  • * 'for-2.6.38/core' of git://git.kernel.dk/linux-2.6-block: (43 commits)
    block: ensure that completion error gets properly traced
    blktrace: add missing probe argument to block_bio_complete
    block cfq: don't use atomic_t for cfq_group
    block cfq: don't use atomic_t for cfq_queue
    block: trace event block fix unassigned field
    block: add internal hd part table references
    block: fix accounting bug on cross partition merges
    kref: add kref_test_and_get
    bio-integrity: mark kintegrityd_wq highpri and CPU intensive
    block: make kblockd_workqueue smarter
    Revert "sd: implement sd_check_events()"
    block: Clean up exit_io_context() source code.
    Fix compile warnings due to missing removal of a 'ret' variable
    fs/block: type signature of major_to_index(int) to major_to_index(unsigned)
    block: convert !IS_ERR(p) && p to !IS_ERR_NOR_NULL(p)
    cfq-iosched: don't check cfqg in choose_service_tree()
    fs/splice: Pull buf->ops->confirm() from splice_from_pipe actors
    cdrom: export cdrom_check_events()
    sd: implement sd_check_events()
    sr: implement sr_check_events()
    ...

    Linus Torvalds
     
  • * 'for-linus/i2c-2638' of git://git.fluff.org/bjdooks/linux:
    i2c-bfin-twi: move setup to the earlier subsys initcall
    i2c-bfin-twi: handle faulty slave devices better
    i2c-mv64xxx: send repeated START between messages in xfer
    i2c-nomadik: fix regression on adapter name
    i2c-omap: Set latency requirements only once for several messages
    i2c-eg20t: add driver for Intel EG20T
    i2c-ocores: add some device tree documentation
    i2c-ocores: Use devres for resource allocation
    i2c-ocores: Adapt for device tree
    i2c-iop3xx: add iomem annotation

    Linus Torvalds
     
  • * 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
    ARM: mach-shmobile: Kill off unused !gpio_is_valid() case
    ARM: mach-shmobile: sh7372 Enable SDIO IRQs for Mackerel
    ARM: mach-shmobile: sh7377 Enable SDIO IRQs
    ARM: mach-shmobile: sh7367 Enable SDIO IRQs
    ARM: mach-shmobile: sh7372 Enable SDIO IRQs
    ARM: mach-shmobile: mackerel: Add touchscreen ST1232 support
    ARM: mach-shmobile: ap4eb: SCIF port for earlyprintk when using zboot
    ARM: mach-shmobile: mackerel: SCIF port for earlyprintk when using zboot
    ARM: mach-shmobile: mackerel: Add support get_cd in CN23

    Linus Torvalds
     
  • * 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (31 commits)
    sh: Add support for AP-SH4AD-0A board.
    sh: Add support for AP-SH4A-3A board.
    sh: Add a new mach type for alpha project boards.
    serial: sh-sci: build fixes.
    sh: sh7372 SH4AL-DSP probe support
    sh: sh7366 Enable SDIO IRQs
    sh: sh7343 Enable SDIO IRQs
    sh: mach-ecovec24: enable runtime PM for SDHI
    sh: sh7723 / ap325rxa enable SDIO IRQs
    sh: sh7722 Enable SDIO IRQs
    sh: sh7724 Enable SDIO IRQs
    sh: Fix up legacy PTEA space attribute mapping.
    sh: Stub out legacy PCC pgprot encoding for X2 TLBs.
    sh: constify prefetch pointers.
    sh: Add a machvec callback for early memblock reservations.
    sh: update sh7757lcr_defconfig
    sh: add PVR probing for SH7757 3rd cut
    sh: Use device_initcall() instead of __initcall()
    sh: intc - convert board specific landisk code
    sh: Move init_landisk_IRQ to header file
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6: (29 commits)
    video: move SH_MIPI_DSI/SH_LCD_MIPI_DSI to the top of menu
    fbdev: Implement simple blanking in pseudocolor modes for vt8500lcdfb
    video: imx: Update the manufacturer's name
    nuc900fb: don't treat NULL clk as an error
    s3c2410fb: don't treat NULL clk as an error
    video: tidy up modedb formatting.
    video: matroxfb: Correct video option in comments and kernel config help.
    fbdev: sh_mobile_hdmi: simplify pointer handling
    fbdev: sh_mobile_hdmi: framebuffer notifiers have to be registered
    fbdev: sh_mobile_hdmi: add command line option to use the preferred EDID mode
    OMAP: DSS2: Introduce omap_channel as an omap_dss_device parameter, add new overlay manager.
    OMAP: DSS2: Use dss_features to handle DISPC bits removed on OMAP4
    OMAP: DSS2: LCD2 Channel Changes for DISPC
    OMAP: DSS2: Change remaining DISPC functions for new omap_channel argument
    OMAP: DSS2: Introduce omap_channel argument to DISPC functions used by interface drivers
    OMAP: DSS2: Represent DISPC register defines with channel as parameter
    OMAP: DSS2: Add dss_features for omap4 and overlay manager related features
    OMAP: DSS2: Clean up DISPC color mode validation checks
    OMAP: DSS2: Add back authors of panel-generic.c based drivers
    OMAP: DSS2: remove generic DPI panel driver duplicated panel drivers
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (348 commits)
    ALSA: hda - Fix NULL-derefence with a single mic in STAC auto-mic detection
    ALSA: hda - Add missing NID 0x19 fixup for Sony VAIO
    ALSA: hda - Fix ALC275 enable hardware EQ for SONY VAIO
    ALSA: oxygen: fix Xonar DG input
    ALSA: hda - Fix EAPD on Lenovo NB ALC269 to low
    ALSA: hda - Fix missing EAPD for Acer 4930G
    ALSA: hda: Disable 4/6 channels on some NVIDIA GPUs.
    ALSA: hda - Add static_hdmi_pcm option to HDMI codec parser
    ALSA: hda - Don't refer ELD when unplugged
    ASoC: tpa6130a2: Fix compiler warning
    ASoC: tlv320dac33: Add DAPM selection for LOM invert
    ASoC: DMIC codec: Adding a generic DMIC codec
    ALSA: snd-usb-us122l: Fix missing NULL checks
    ALSA: snd-usb-us122l: Fix MIDI output
    ASoC: soc-cache: Fix invalid memory access during snd_soc_lzo_cache_sync()
    ASoC: Fix section mismatch in wm8995.c
    ALSA: oxygen: add S/PDIF source selection for Claro cards
    ALSA: oxygen: fix CD/MIDI for X-Meridian (2G)
    ASoC: fix migor audio build
    ALSA: include delay.h for msleep in Xonar DG support
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (41 commits)
    fs: add documentation on fallocate hole punching
    Gfs2: fail if we try to use hole punch
    Btrfs: fail if we try to use hole punch
    Ext4: fail if we try to use hole punch
    Ocfs2: handle hole punching via fallocate properly
    XFS: handle hole punching via fallocate properly
    fs: add hole punching to fallocate
    vfs: pass struct file to do_truncate on O_TRUNC opens (try #2)
    fix signedness mess in rw_verify_area() on 64bit architectures
    fs: fix kernel-doc for dcache::prepend_path
    fs: fix kernel-doc for dcache::d_validate
    sanitize ecryptfs ->mount()
    switch afs
    move internal-only parts of ncpfs headers to fs/ncpfs
    switch ncpfs
    switch 9p
    pass default dentry_operations to mount_pseudo()
    switch hostfs
    switch affs
    switch configfs
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (46 commits)
    hwrng: via_rng - Fix memory scribbling on some CPUs
    crypto: padlock - Move padlock.h into include/crypto
    hwrng: via_rng - Fix asm constraints
    crypto: n2 - use __devexit not __exit in n2_unregister_algs
    crypto: mark crypto workqueues CPU_INTENSIVE
    crypto: mv_cesa - dont return PTR_ERR() of wrong pointer
    crypto: ripemd - Set module author and update email address
    crypto: omap-sham - backlog handling fix
    crypto: gf128mul - Remove experimental tag
    crypto: af_alg - fix af_alg memory_allocated data type
    crypto: aesni-intel - Fixed build with binutils 2.16
    crypto: af_alg - Make sure sk_security is initialized on accept()ed sockets
    net: Add missing lockdep class names for af_alg
    include: Install linux/if_alg.h for user-space crypto API
    crypto: omap-aes - checkpatch --file warning fixes
    crypto: omap-aes - initialize aes module once per request
    crypto: omap-aes - unnecessary code removed
    crypto: omap-aes - error handling implementation improved
    crypto: omap-aes - redundant locking is removed
    crypto: omap-aes - DMA initialization fixes for OMAP off mode
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    rbd: fix cleanup when trying to mount inexistent image
    net/ceph: make ceph_msgr_wq non-reentrant
    ceph: fsc->*_wq's aren't used in memory reclaim path
    ceph: Always free allocated memory in osdmap_decode()
    ceph: Makefile: Remove unnessary code
    ceph: associate requests with opening sessions
    ceph: drop redundant r_mds field
    ceph: implement DIRLAYOUTHASH feature to get dir layout from MDS
    ceph: add dir_layout to inode

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    watchdog: Add MCF548x watchdog driver.
    watchdog: add driver for the Atheros AR71XX/AR724X/AR913X SoCs
    watchdog: Add TCO support for nVidia chipsets
    watchdog: Add support for sp5100 chipset TCO
    watchdog: f71808e_wdt: add F71862FG, F71869 to Kconfig
    watchdog: iTCO_wdt: TCO Watchdog patch for Intel DH89xxCC PCH
    watchdog: iTCO_wdt: TCO Watchdog patch for Intel NM10 DeviceIDs
    watchdog: ks8695_wdt: include mach/hardware.h instead of mach/timex.h.
    watchdog: Propagate Book E WDT period changes to all cores
    watchdog: add CONFIG_WATCHDOG_NOWAYOUT support to PowerPC Book-E watchdog driver
    watchdog: alim7101_wdt: fix compiler warning on alim7101_pci_tbl
    watchdog: alim1535_wdt: fix compiler warning on ali_pci_tbl
    watchdog: Fix reboot on W83627ehf chipset.
    watchdog: Add watchdog support for W83627DHG chip
    watchdog: f71808e_wdt: Add Fintek F71869 watchdog
    watchdog: add f71862fg support
    watchdog: clean-up f71808e_wdt.c

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (dme1737) Minor cleanups
    hwmon: (dme1737) Add support for in7 for SCH5127
    hwmon: (emc1403) Add EMC1423 support
    hwmon: (w83627hf) Document W83627THF voltage pin mapping
    hwmon: (w83793) Drop useless mutex
    hwmon: (fschmd) Drop useless mutex
    hwmon: (w83781d) Use pr_fmt and pr_
    hwmon: (pc87427) Use pr_fmt and pr_
    hwmon: (pc87360) Use pr_fmt and pr_
    hwmon: (lm78) Use pr_fmt and pr_
    hwmon: (it87) Use pr_fmt and pr_
    hwmon: Schedule the removal of the old intrusion detection interfaces
    hwmon: (w83793) Implement the standard intrusion detection interface
    hwmon: (w83792d) Implement the standard intrusion detection interface
    hwmon: (adm9240) Implement the standard intrusion detection interface
    hwmon: (via686a) Initialize fan_div values
    hwmon: (w83795) Silent false warning from gcc
    hwmon: (ads7828) Update email contact details

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (45 commits)
    regulator: missing index in PTR_ERR() in isl6271a_probe()
    regulator: Assign return value of mc13xxx_reg_rmw to ret
    regulator: Add initial per-regulator debugfs support
    regulator: Make regulator_has_full_constraints a bool
    regulator: Clean up logging a bit
    regulator: Optimise out noop voltage changes
    regulator: Add API to re-apply voltage to hardware
    regulator: Staticise non-exported functions in mc13892
    regulator: Only notify voltage changes when they succeed
    regulator: Provide a selector based set_voltage_sel() operation
    regulator: Factor out voltage set operation into a separate function
    regulator: Convert WM8994 to use get_voltage_sel()
    regulator: Convert WM835x to use get_voltage_sel()
    regulator: Allow modular build of mc13xxx-core
    regulator: support PMIC mc13892
    make mc13783 regulator code generic
    Change the register name definitions for mc13783
    mach-ux500: Updated and connected ab8500 regulator board configuration
    regulators: Removed macros for initialization of ab8500 regulators
    regulators: Added verbose debug messages to ab8500 regulators
    ...

    Linus Torvalds
     
  • * 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, olpc: Speed up device tree creation during boot
    x86, olpc: Add OLPC device-tree support
    x86, of: Define irq functions to allow drivers/of/* to build on x86

    Linus Torvalds
     
  • * 'kvm-updates/2.6.38' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (142 commits)
    KVM: Initialize fpu state in preemptible context
    KVM: VMX: when entering real mode align segment base to 16 bytes
    KVM: MMU: handle 'map_writable' in set_spte() function
    KVM: MMU: audit: allow audit more guests at the same time
    KVM: Fetch guest cr3 from hardware on demand
    KVM: Replace reads of vcpu->arch.cr3 by an accessor
    KVM: MMU: only write protect mappings at pagetable level
    KVM: VMX: Correct asm constraint in vmcs_load()/vmcs_clear()
    KVM: MMU: Initialize base_role for tdp mmus
    KVM: VMX: Optimize atomic EFER load
    KVM: VMX: Add definitions for more vm entry/exit control bits
    KVM: SVM: copy instruction bytes from VMCB
    KVM: SVM: implement enhanced INVLPG intercept
    KVM: SVM: enhance mov DR intercept handler
    KVM: SVM: enhance MOV CR intercept handler
    KVM: SVM: add new SVM feature bit names
    KVM: cleanup emulate_instruction
    KVM: move complete_insn_gp() into x86.c
    KVM: x86: fix CR8 handling
    KVM guest: Fix kvm clock initialization when it's configured out
    ...

    Linus Torvalds