On Wed, Jun 01, 2016 at 12:10:09PM +0100, Chris Wilson wrote: > By avoiding cross-CPU usage of the per-cpu iova cache, we can forgo > having a spinlock inside the per-cpu struct. The only place where we > actually may touch another CPU's data is when performing a cache flush > after running out of memory. Here, we can instead schedule a task to run > on the other CPU to do the flush before trying again.
The big benefit of the spinlock is that the rcache can be flushed from a different cpu without the need to send IPIs to everyone. Joerg