Quoting Janis Schoetterl-Glausch (2022-11-16 20:36:46)
On Wed, 2022-11-02 at 15:12 +0100, Heiko Carstens wrote:
[...]
I also did not limit the number of retries for the one and two byte scenarion. Before doing that we need to have proof that there really is a problem. Maybe Nico or you will give this a try.
I wrote a memop selftest testcase where the main thread uses the one byte cmpxchg while n vcpus flip adjacent bits. The time the test case runs increases superlinearly with n. With 248 vcpus, 1000 one byte cmpxchgs take 25s. I'm not sure how meaningful the test is since the worst case would be if the threads hammering the word would run on a cpu dedicated to them.
In any case, why not err on the side of caution and limit the iterations? I'll send an rfc patch.
I agree, limiting sounds like the safe choice.