提交 75f327c6 编写于 作者: V Victor Aoqui 提交者: Michael Ellerman

powerpc/kernel: Avoid preemption check in iommu_range_alloc()

Replace the __this_cpu_read() with raw_cpu_read() in
iommu_range_alloc(). Otherwise we get a warning about using
__this_cpu_read() in preemptible code:

  BUG: using __this_cpu_read() in preemptible
  caller is iommu_range_alloc+0xa8/0x3d0

Preemption doesn't need to be disabled since according to the comment
any CPU can safely use any IOMMU pool.
Signed-off-by: NVictor Aoqui <victora@linux.vnet.ibm.com>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 24be85a2
...@@ -208,7 +208,7 @@ static unsigned long iommu_range_alloc(struct device *dev, ...@@ -208,7 +208,7 @@ static unsigned long iommu_range_alloc(struct device *dev,
* We don't need to disable preemption here because any CPU can * We don't need to disable preemption here because any CPU can
* safely use any IOMMU pool. * safely use any IOMMU pool.
*/ */
pool_nr = __this_cpu_read(iommu_pool_hash) & (tbl->nr_pools - 1); pool_nr = raw_cpu_read(iommu_pool_hash) & (tbl->nr_pools - 1);
if (largealloc) if (largealloc)
pool = &(tbl->large_pool); pool = &(tbl->large_pool);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册