On Thu, 17 Nov 2022 01:10:33 +0000, Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > Please pull a set of selftests updates for 6.2. Many of these changes are > prep work for future selftests, e.g. for SEV and TDX, and/or have myriad > conflicts, e.g. the former "perf util" code. I am hoping to get these > changes queued up for 6.2 sooner than later so that the chain of dependent > work doesn't get too long. > > Except for the ARM single-step changes[*], everything has been posted for > quite some time and/or has gone through multiple rounds of review. > > The ARM single-step changes are a last minute fix to resolve a hilarious > (IMO) collision between the pool-based ucall implementation and the > recently added single-step test. Turns out that GCC will generate older > flavors of atomics that rely on a monitor to detect conflicts, and that A quick nit, and to make things clear: there is no "older flavours of atomics". These are exclusive accesses, and atomics are, well, atomics. The tests seem to use the former, which cannot guarantee forward progress. Yes, this is utter crap. > monitor is cleared by eret. gdb is allegedly smart enough to skip over > atomic sequences, but our selftest... not so much. I'm not sure how GDB performs this feat without completely messing things up in some cases... But it brings another question. Shouldn't these tests actively use atomics when on 8.1+ HW? Thanks, M. -- Without deviation from the norm, progress is not possible.