[PATCH 0/8] io-pgtable lock removal
From: Will Deacon <hidden>
Date: 2017-07-07 12:46:49
Also in:
linux-iommu
On Thu, Jul 06, 2017 at 11:14:00AM -0700, Ray Jui wrote:
On 7/6/17 8:08 AM, Will Deacon wrote:quoted
On Wed, Jul 05, 2017 at 04:24:22PM -0700, Ray Jui wrote:quoted
However, with the fix patch, I can still see the deadlock message when I have > 32 iperf TX threads active in the system:Damn. We've been going over this today and the only plausible theory seems to be that concurrent TLB syncs are causing the completion to be pushed out, resulting in timeouts. Can you try this patch below, instead of the one I sent before, please? Thanks, Will --->8Good news! I can confirm that with the new patch below, the error log of "TLB sync timed out" is now gone. I ran 20 iterations of the iperf client test with 64 threads spread across 8 CPUs. The error message used to coming out very quickly with just one iteration. But now it's completely gone.
Good, I'll queue this is as a fix then. Thanks for testing!
At the same time, I do seem to observe a slight impact on performance when multiple threads are used, but I guess that is expected, given that a spin lock is added to protect the TLB sync.
Hopefully that performance will pick up again once we defer the sync to the end of iommu_unmap. Will