1. 16 3月, 2018 3 次提交
  2. 07 2月, 2018 2 次提交
  3. 11 1月, 2018 1 次提交
  4. 09 12月, 2017 1 次提交
  5. 28 11月, 2017 8 次提交
  6. 15 11月, 2017 2 次提交
  7. 02 11月, 2017 4 次提交
  8. 28 10月, 2017 1 次提交
  9. 27 9月, 2017 2 次提交
  10. 21 9月, 2017 1 次提交
  11. 16 8月, 2017 5 次提交
  12. 01 6月, 2017 1 次提交
  13. 14 6月, 2017 1 次提交
  14. 02 3月, 2017 1 次提交
    • I
      sched/headers: Prepare for new header dependencies before moving code to <linux/sched/mm.h> · 6e84f315
      Ingo Molnar 提交于
      We are going to split <linux/sched/mm.h> out of <linux/sched.h>, which
      will have to be picked up from other headers and a couple of .c files.
      
      Create a trivial placeholder <linux/sched/mm.h> file that just
      maps to <linux/sched.h> to make this patch obviously correct and
      bisectable.
      
      The APIs that are going to be moved first are:
      
         mm_alloc()
         __mmdrop()
         mmdrop()
         mmdrop_async_fn()
         mmdrop_async()
         mmget_not_zero()
         mmput()
         mmput_async()
         get_task_mm()
         mm_access()
         mm_release()
      
      Include the new header in the files that are going to need it.
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      6e84f315
  15. 28 2月, 2017 1 次提交
  16. 20 9月, 2016 1 次提交
  17. 03 7月, 2016 2 次提交
    • O
      7fd5e03c
    • B
      drm/amdkfd: Remove create_workqueue() · fd320bf6
      Bhaktipriya Shridhar 提交于
      alloc_workqueue replaces deprecated create_workqueue().
      
      create_workqueue has been replaced with alloc_workqueue with max_active
      as 0 since there is no need for throttling the number of active work items.
      
      WQ_MEM_RECLAIM has not been set to because kfd_process_wq will not be
      used in memory reclaim path.
      
      kfd_process_wq is used for delay destruction. A work item embedded in
      kfd_process gets queued to kfd_process_wq and when it executes it
      destroys and frees the containing kfd_process and thus itself.
      
      This requires a dedicated workqueue because a work item once queued, may
      get freed at any point of time and any external entity cannot
      flush the work item. So, in order to wait for such a work item,
      it needs to be put on a dedicated workqueue.
      
      kfd_module_exit() calls kfd_process_destroy_wq which ensures that all
      pending work items are finished before the module is removed.
      
      flush_workqueue is unnecessary since destroy_workqueue() itself calls
      drain_workqueue() which flushes repeatedly till the workqueue
      becomes empty.
      
      Hence flush_workqueue has been removed.
      Signed-off-by: NBhaktipriya Shridhar <bhaktipriya96@gmail.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      fd320bf6
  18. 03 6月, 2016 2 次提交
    • O
      drm/amdkfd: destroy dbgmgr in notifier release · bc4755a4
      Oded Gabbay 提交于
      amdkfd need to destroy the debug manager in case amdkfd's notifier
      function is called before the unbind function, because in that case,
      the unbind function will exit without destroying debug manager.
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      CC: Stable <stable@vger.kernel.org>
      bc4755a4
    • O
      drm/amdkfd: unbind only existing processes · 121b78e6
      Oded Gabbay 提交于
      When unbinding a process from a device (initiated by amd_iommu_v2), the
      driver needs to make sure that process still exists in the process table.
      There is a possibility that amdkfd's own notifier handler -
      kfd_process_notifier_release() - was called before the unbind function
      and it already removed the process from the process table.
      
      v2:
      Because there can be only one process with the specified pasid, and
      because *p can't be NULL inside the hash_for_each_rcu macro, it is more
      reasonable to just put the whole code inside the if statement that
      compares the pasid value. That way, when we exit hash_for_each_rcu, we
      simply exit the function as well.
      Signed-off-by: NOded Gabbay <oded.gabbay@gmail.com>
      CC: Stable <stable@vger.kernel.org>
      121b78e6
  19. 23 3月, 2016 1 次提交