(Apologies if I missed some Cc's; I was not Cc'ed in patch 0
so I'm blindly crafting a reply.)
On Thu, Mar 26, 2020 at 15:30:43 -0400, Robert Foley wrote:
This is a continuation of the series created by Emilio Cota.
We are picking up this patch set with the goal to apply
any fixes or updates needed to get this accepted.
Thanks for picking this up!
Listed below are the changes for this version of the patch,
aside from the merge related changes.
Changes for V8:
- Fixed issue where in rr mode we could destroy the BQL twice.
I remember doing little to no testing in record-replay mode, so
there should be more bugs hiding in there :-)
- Found/fixed bug that had been hit in testing previously during
the last consideration of this patch.
We reproduced the issue hit in the qtest: bios-tables-test.
The issue was introduced by dropping the BQL, and found us
(very rarely) missing the condition variable wakeup in
Aah, this one:
How did you identify the problem? Was it code inspection or using a tool
like rr? I remember this being hard to reproduce reliably.
On a related note, I've done some work to get QEMU-system to work
under thread sanitizer, since tsan now supports our longjmp-based
coroutines (hurrah!). My idea was to integrate tsan in QEMU (i.e.
bring tsan warnings to 0) before (re)trying to merge the
per-CPU lock patchset; this would minimize the potential for
regressions, which from my personal viewpoint seems like a reasonable
thing to do especially now that I have little time to work on QEMU.
If there's interest in doing the tsan work first, then I'd be
happy to send to the list as soon as this weekend the changes that
I have so far .