1. 10 Jun, 2016 30 commits
  2. 09 Jun, 2016 10 commits
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes · fa6bcad7
      Dave Airlie authored
      Mostly memory leak and firmware leak fixes for amdgpu.  A bit bigger than
      usual since this is several weeks worth of fixes.
      
      * 'drm-fixes-4.7' of git://people.freedesktop.org/~agd5f/linux: (28 commits)
        drm/amd/powerplay: delete useless code as pptable changed in vbios.
        drm/amd/powerplay: fix bug visit array out of bounds
        drm/amdgpu: fix smu ucode memleak (v2)
        drm/amdgpu: add release firmware for cgs
        drm/amdgpu: fix tonga smu_fini mem leak
        drm/amdgpu: fix fiji smu fini mem leak
        drm/amdgpu: fix cik sdma ucode memleak
        drm/amdgpu: fix sdma24 ucode mem leak
        drm/amdgpu: fix sdma3 ucode mem leak
        drm/amdgpu: fix uvd fini mem leak
        drm/amdgpu: fix gfx 7 ucode mem leak
        drm/amdgpu: fix gfx8 ucode mem leak
        drm/amdgpu: fix missing free wb for cond_exec
        drm/amdgpu: fix memleak in pptable_init
        drm/amdgpu: fix mem leak in atombios
        drm/amdgpu: fix mem leak in pplib/hwmgr
        drm/amdgpu: fix mem leak in smumgr
        drm/amdgpu: add pipeline sync while vmid switch in same ctx
        drm/amdgpu: vBIOS post only call when mem_size zero
        drm/amdgpu: modify sdma start sequence
        ...
      fa6bcad7
    • Dave Airlie's avatar
      Merge branch 'msm-fixes-4.7-rc3' of git://people.freedesktop.org/~robclark/linux into drm-fixes · 166108aa
      Dave Airlie authored
      * 'msm-fixes-4.7-rc3' of git://people.freedesktop.org/~robclark/linux:
        drm/msm: fix potential submit error path issue
        drm/msm: fix some crashes in submit fail path
        drm/msm: deal with exhausted vmap space better
      166108aa
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq-fixes' and 'pm-cpuidle' · 3681196a
      Rafael J. Wysocki authored
      * pm-cpufreq-fixes:
        cpufreq: intel_pstate: Fix ->set_policy() interface for no_turbo
        cpufreq: intel_pstate: Fix code ordering in intel_pstate_set_policy()
      
      * pm-cpuidle:
        cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE
      3681196a
    • Rafael J. Wysocki's avatar
      Merge branch 'acpi-ec' · bd6ac2ab
      Rafael J. Wysocki authored
      * acpi-ec:
        ACPI / EC: Fix a boot EC regresion by restoring boot EC support for the DSDT EC
      bd6ac2ab
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 147d9e7b
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
       "This is the first -rc pull for the RDMA subsystem.  The patch count is
        high, but they are all smallish patches fixing simple things for the
        most part, and the overall line count of changes here is smaller than
        the patch count would lead a person to believe.
      
        Code is up and running in my labs, including direct testing of cxgb4,
        mlx4, mlx5, ocrdma, and qib.
      
        Summary:
      
         - Multiple minor fixes to the rdma core
         - Multiple minor fixes to hfi1
         - Multiple minor fixes to mlx5
         - A very few other minor fixes (SRP, IPoIB, usNIC, mlx4)"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (35 commits)
        IB/IPoIB: Don't update neigh validity for unresolved entries
        IB/mlx5: Fix alternate path code
        IB/mlx5: Fix pkey_index length in the QP path record
        IB/mlx5: Fix entries check in mlx5_ib_resize_cq
        IB/mlx5: Fix entries checks in mlx5_ib_create_cq
        IB/mlx5: Check BlueFlame HCA support
        IB/mlx5: Fix returned values of query QP
        IB/mlx5: Limit query HCA clock
        IB/mlx5: Fix FW version diaplay in sysfs
        IB/mlx5: Return PORT_ERR in Active to Initializing tranisition
        IB/mlx5: Set flow steering capability bit
        IB/core: Make all casts in ib_device_cap_flags enum consistent
        IB/core: Fix bit curruption in ib_device_cap_flags structure
        IB/core: Initialize sysfs attributes before sysfs create group
        IB/IPoIB: Disable bottom half when dealing with device address
        IB/core: Fix removal of default GID cache entry
        IB/IPoIB: Fix race between ipoib_remove_one to sysfs functions
        IB/core: Fix query port failure in RoCE
        IB/core: fix error unwind in sysfs hw counters code
        IB/core: Fix array length allocation
        ...
      147d9e7b
    • Linus Torvalds's avatar
      Merge tag 'arc-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 52e7d46c
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
      
       - Revert of ll-sc backoff retry workaround in atomics/spinlocks as
         hardware is now proven to work just fine
      
       - Typo fixes (Thanks Andrea Gelmini)
      
       - Removal of obsolete DT property (Alexey)
      
       - Other minor fixes
      
      * tag 'arc-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        Revert "ARCv2: spinlock/rwlock/atomics: Delayed retry of failed SCOND with exponential backoff"
        Revert "ARCv2: spinlock/rwlock: Reset retry delay when starting a new spin-wait cycle"
        Revert "ARCv2: spinlock/rwlock/atomics: reduce 1 instruction in exponential backoff"
        ARC: don't enable DISCONTIGMEM unconditionally
        ARC: [intc-compact] simplify code for 2 priority levels
        arc: Get rid of root core-frequency property
        Fix typos
      52e7d46c
    • Oleg Drokin's avatar
      mm/fadvise.c: do not discard partial pages with POSIX_FADV_DONTNEED · 18aba41c
      Oleg Drokin authored
      I noticed that the logic in the fadvise64_64 syscall is incorrect for
      partial pages.  While first page of the region is correctly skipped if
      it is partial, the last page of the region is mistakenly discarded.
      This leads to problems for applications that read data in
      non-page-aligned chunks discarding already processed data between the
      reads.
      
      A somewhat misguided application that does something like write(XX bytes
      (non-page-alligned)); drop the data it just wrote; repeat gets a
      significant penalty in performance as a result.
      
      Link: http://lkml.kernel.org/r/1464917140-1506698-1-git-send-email-green@linuxhacker.ruSigned-off-by: default avatarOleg Drokin <green@linuxhacker.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18aba41c
    • Wang Sheng-Hui's avatar
      mm: introduce dedicated WQ_MEM_RECLAIM workqueue to do lru_add_drain_all · f3a932ba
      Wang Sheng-Hui authored
      This patch is based on https://patchwork.ozlabs.org/patch/574623/.
      
      Tejun submitted commit 23d11a58 ("workqueue: skip flush dependency
      checks for legacy workqueues") for the legacy create*_workqueue()
      interface.
      
      But some workq created by alloc_workqueue still reports warning on
      memory reclaim, e.g nvme_workq with flag WQ_MEM_RECLAIM set:
      
          workqueue: WQ_MEM_RECLAIM nvme:nvme_reset_work is flushing !WQ_MEM_RECLAIM events:lru_add_drain_per_cpu
          ------------[ cut here ]------------
          WARNING: CPU: 0 PID: 6 at SoC/linux/kernel/workqueue.c:2448 check_flush_dependency+0xb4/0x10c
          ...
          check_flush_dependency+0xb4/0x10c
          flush_work+0x54/0x140
          lru_add_drain_all+0x138/0x188
          migrate_prep+0xc/0x18
          alloc_contig_range+0xf4/0x350
          cma_alloc+0xec/0x1e4
          dma_alloc_from_contiguous+0x38/0x40
          __dma_alloc+0x74/0x25c
          nvme_alloc_queue+0xcc/0x36c
          nvme_reset_work+0x5c4/0xda8
          process_one_work+0x128/0x2ec
          worker_thread+0x58/0x434
          kthread+0xd4/0xe8
          ret_from_fork+0x10/0x50
      
      That's because lru_add_drain_all() will schedule the drain work on
      system_wq, whose flag is set to 0, !WQ_MEM_RECLAIM.
      
      Introduce a dedicated WQ_MEM_RECLAIM workqueue to do
      lru_add_drain_all(), aiding in getting memory freed.
      
      Link: http://lkml.kernel.org/r/1464917521-9775-1-git-send-email-shhuiw@foxmail.comSigned-off-by: default avatarWang Sheng-Hui <shhuiw@foxmail.com>
      Acked-by: default avatarTejun Heo <tj@kernel.org>
      Cc: Keith Busch <keith.busch@intel.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f3a932ba
    • Zhouyi Zhou's avatar
      kernel/relay.c: fix potential memory leak · ba62bafe
      Zhouyi Zhou authored
      When relay_open_buf() fails in relay_open(), code will goto free_bufs,
      but chan is nowhere freed.
      
      Link: http://lkml.kernel.org/r/1464777927-19675-1-git-send-email-yizhouzhou@ict.ac.cnSigned-off-by: default avatarZhouyi Zhou <zhouzhouyi@gmail.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ba62bafe
    • Gerald Schaefer's avatar
      mm: thp: broken page count after commit aa88b68c · 770a5370
      Gerald Schaefer authored
      Christian Borntraeger reported a kernel panic after corrupt page counts,
      and it turned out to be a regression introduced with commit aa88b68c
      ("thp: keep huge zero page pinned until tlb flush"), at least on s390.
      
      put_huge_zero_page() was moved over from zap_huge_pmd() to
      release_pages(), and it was replaced by tlb_remove_page().  However,
      release_pages() might not always be triggered by (the arch-specific)
      tlb_remove_page().
      
      On s390 we call free_page_and_swap_cache() from tlb_remove_page(), and
      not tlb_flush_mmu() -> free_pages_and_swap_cache() like the generic
      version, because we don't use the MMU-gather logic.  Although both
      functions have very similar names, they are doing very unsimilar things,
      in particular free_page_xxx is just doing a put_page(), while
      free_pages_xxx calls release_pages().
      
      This of course results in very harmful put_page()s on the huge zero
      page, on architectures where tlb_remove_page() is implemented in this
      way.  It seems to affect only s390 and sh, but sh doesn't have THP
      support, so the problem (currently) probably only exists on s390.
      
      The following quick hack fixed the issue:
      
      Link: http://lkml.kernel.org/r/20160602172141.75c006a9@thinkpadSigned-off-by: default avatarGerald Schaefer <gerald.schaefer@de.ibm.com>
      Reported-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Tested-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: <stable@vger.kernel.org>	[4.6.x]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      770a5370