Skip to content
Commits on Oct 3, 2012
  1. Merge branch 'configs-3.6' into pf-3.6

    Oleksandr Natalenko committed
  2. configs-3.6: update dell-vostro-3360.config

    Oleksandr Natalenko committed
  3. Merge branch 'uksm-3.6' into pf-3.6

    Oleksandr Natalenko committed
  4. uksm-3.5: fix debug output formatting

    Oleksandr Natalenko committed
  5. uksm-3.5: fix formatting

    Oleksandr Natalenko committed
  6. uksm-3.5: replace BUG_ON() with printk for scan_time debug

    Oleksandr Natalenko committed
  7. uksm-3.5: add debug printk for scan_time

    Oleksandr Natalenko committed
  8. uksm-3.6: add UKSM v0.1.2 port for 3.6

    Oleksandr Natalenko committed
  9. Merge branch 'toi-fixes-for-3.6-1' into pf-3.6

    Oleksandr Natalenko committed
  10. mm: export __page_file_index symbol in swapfile.c

    Oleksandr Natalenko committed
  11. Merge remote-tracking branch 'tuxonice-kernel/tuxonice-head' into toi…

    Oleksandr Natalenko committed
  12. Merge branch 'bfs-3.6' into pf-3.6

    Oleksandr Natalenko committed
  13. Revert "Revert "Merge branch 'bfs-3.6' into pf-3.6""

    Oleksandr Natalenko committed
    This reverts commit 759f6de.
  14. bfs-3.6: replace static_branch() call with static_key_false() call

    Oleksandr Natalenko committed
  15. Merge branch 'bfq-3.6' into pf-3.6

    Oleksandr Natalenko committed
  16. @ariava

    block: introduce the BFQ-v5 I/O sched for 3.6

    ariava committed with Oleksandr Natalenko
    Add the BFQ-v5 I/O scheduler to 3.6.
    The general structure is borrowed from CFQ, as much code. A (bfq_)queue is
    associated to each task doing I/O on a device, and each time a scheduling
    decision has to be taken a queue is selected and it is served until it expires.
        - Slices are given in the service domain: tasks are assigned budgets,
          measured in number of sectors. Once got the disk, a task must
          however consume its assigned budget within a configurable maximum time
          (by default, the maximum possible value of the budgets is automatically
          computed to comply with this timeout). This allows the desired latency
          vs "throughput boosting" tradeoff to be set.
        - Budgets are scheduled according to a variant of WF2Q+, implemented
          using an augmented rb-tree to take eligibility into account while
          preserving an O(log N) overall complexity.
        - A low-latency tunable is provided; if enabled, both interactive and soft
          real-time applications are guaranteed very low latency.
        - Latency guarantees are preserved also in presence of NCQ.
        - High throughput with flash-based devices, while still preserving
          latency guarantees.
        - Useful features borrowed from CFQ: cooperating-queues merging (with
          some additional optimizations with respect to the original CFQ version),
          static fallback queue for OOM.
        - BFQ supports full hierarchical scheduling, exporting a cgroups
          interface.  Each node has a full scheduler, so each group can
          be assigned its own ioprio and an ioprio_class.
        - If the cgroups interface is used, weights can be explictly assigned,
          otherwise ioprio values are mapped to weights using the relation
          weight = IOPRIO_BE_NR - ioprio.
        - ioprio classes are served in strict priority order, i.e., lower
          priority queues are not served as long as there are higher priority
          queues.  Among queues in the same class the bandwidth is distributed
          in proportion to the weights of each queue. A very thin extra bandwidth
          is however guaranteed to the Idle class, to prevent it from starving.
    Signed-off-by: Paolo Valente <>
    Signed-off-by: Arianna Avanzini <>
  17. @ariava

    block: cgroups, kconfig, build bits for BFQ-v5-3.6

    ariava committed with Oleksandr Natalenko
    Update Kconfig.iosched to include kernel configuration options
    for BFQ. Add a Kconfig option and do the related Makefile changes
    to compile the scheduler. Also let the cgroups subsystem know about
    the BFQ I/O controller.
    Signed-off-by: Fabio Checconi <>
    Signed-off-by: Paolo Valente <>
    Signed-off-by: Arianna Avanzini <>
Commits on Oct 1, 2012
  1. Revert "Merge branch 'bfs-3.6' into pf-3.6"

    Oleksandr Natalenko committed
    This reverts commit d7a3470, reversing
    changes made to b7d3337 due to
    BFS compilation error.
  2. Merge branch 'distro-3.6' into pf-3.6

    Oleksandr Natalenko committed
  3. distro-3.6: update Arch Linux PKGBUILD against 3.6 tree

    Oleksandr Natalenko committed
  4. Merge branch 'configs-3.6' into pf-3.6

    Oleksandr Natalenko committed
  5. configs-3.6: update dell-vostro-3360.config against 3.6 tree

    Oleksandr Natalenko committed
  6. Merge branch 'version-3.6' into pf-3.6

    Oleksandr Natalenko committed
  7. version-3.6: bump version to 3.6.1-pf

    Oleksandr Natalenko committed
  8. Merge branch 'distro-3.5' into distro-3.6

    Oleksandr Natalenko committed
  9. Merge branch 'configs-3.5' into configs-3.6

    Oleksandr Natalenko committed
  10. Merge branch 'bfs-3.6' into pf-3.6

    Oleksandr Natalenko committed
  11. bfs-3.6: add ported BFSv424 for Linux 3.6

    Oleksandr Natalenko committed
Commits on Sep 30, 2012
  1. @torvalds

    Linux 3.6

    torvalds committed
  2. @torvalds

    vfs: dcache: fix deadlock in tree traversal

    Miklos Szeredi committed with torvalds
    IBM reported a deadlock in select_parent().  This was found to be caused
    by taking rename_lock when already locked when restarting the tree
    There are two cases when the traversal needs to be restarted:
     1) concurrent d_move(); this can only happen when not already locked,
        since taking rename_lock protects against concurrent d_move().
     2) racing with final d_put() on child just at the moment of ascending
        to parent; rename_lock doesn't protect against this rare race, so it
        can happen when already locked.
    Because of case 2, we need to be able to handle restarting the traversal
    when rename_lock is already held.  This patch fixes all three callers of
    IBM reported that the deadlock is gone with this patch.
    [ I rewrote the patch to be smaller and just do the "goto again" if the
      lock was already held, but credit goes to Miklos for the real work.
       - Linus ]
    Signed-off-by: Miklos Szeredi <>
    Cc: Al Viro <>
    Signed-off-by: Linus Torvalds <>
Commits on Sep 29, 2012
  1. @torvalds

    Merge tag 'iommu-fixes-v3.6-rc7' of git://…

    torvalds committed
    Pull IOMMU fixes from Joerg Roedel:
     "Two small patches:
    	* One patch to fix the function declarations for
    	  !CONFIG_IOMMU_API. This is causing build errors
    	  in linux-next and should be fixed for v3.6.
    	* Another patch to fix an IOMMU group related NULL pointer
    * tag 'iommu-fixes-v3.6-rc7' of git://
      iommu/amd: Fix wrong assumption in iommu-group specific code
      iommu: static inline iommu group stub functions
  2. @torvalds

    Merge git://

    torvalds committed
    Pull NVMe driver fixes from Matthew Wilcox:
     "Now that actual hardware has been released (don't have any yet
      myself), people are starting to want some of these fixes merged."
    Willy doesn't have hardware? Guys...
    * git://
      NVMe: Cancel outstanding IOs on queue deletion
      NVMe: Free admin queue memory on initialisation failure
      NVMe: Use ida for nvme device instance
      NVMe: Fix whitespace damage in nvme_init
      NVMe: handle allocation failure in nvme_map_user_pages()
      NVMe: Fix uninitialized iod compiler warning
      NVMe: Do not set IO queue depth beyond device max
      NVMe: Set block queue max sectors
      NVMe: use namespace id for nvme_get_features
      NVMe: replace nvme_ns with nvme_dev for user admin
      NVMe: Fix nvme module init when nvme_major is set
      NVMe: Set request queue logical block size
Commits on Sep 28, 2012
  1. @torvalds

    mtdchar: fix offset overflow detection

    torvalds committed
    Sasha Levin has been running trinity in a KVM tools guest, and was able
    to trigger the BUG_ON() at arch/x86/mm/pat.c:279 (verifying the range of
    the memory type).  The call trace showed that it was mtdchar_mmap() that
    created an invalid remap_pfn_range().
    The problem is that mtdchar_mmap() does various really odd and subtle
    things with the vma page offset etc, and uses the wrong types (and the
    wrong overflow) detection for it.
    For example, the page offset may well be 32-bit on a 32-bit
    architecture, but after shifting it up by PAGE_SHIFT, we need to use a
    potentially 64-bit resource_size_t to correctly hold the full value.
    Also, we need to check that the vma length plus offset doesn't overflow
    before we check that it is smaller than the length of the mtdmap region.
    This fixes things up and tries to make the code a bit easier to read.
    Reported-and-tested-by: Sasha Levin <>
    Acked-by: Suresh Siddha <>
    Acked-by: Artem Bityutskiy <>
    Cc: David Woodhouse <>
    Signed-off-by: Linus Torvalds <>
Something went wrong with that request. Please try again.