Messages in this thread | | | Date | Tue, 19 Sep 2017 11:41:19 +0200 | From | Joerg Roedel <> | Subject | Re: [PATCH] iommu/amd: Use raw_cpu_ptr() instead of get_cpu_ptr() for ->flush_queue |
| |
Hi Sebastian,
On Wed, Sep 06, 2017 at 12:34:59PM +0200, Sebastian Andrzej Siewior wrote: > get_cpu_ptr() disables preemption and returns the ->flush_queue object > of the current CPU. raw_cpu_ptr() does the same except that it not > disable preemption which means the scheduler can move it to another CPU > after it obtained the per-CPU object. > In this case this is not bad because the data structure itself is > protected with a spin_lock. This change shouldn't matter in general > but on RT it does because the sleeping lock can't be accessed with > disabled preemption.
I moved the flushing to driver/iommu/iova.c to share it with the Intel IOMMU and possibly other drivers too, so this patch does no longer apply to v4.14-rc1. Can you update the patch to these changes?
Regards,
Joerg
| |