Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> writes: > On 18/05/2020 06:19, Markus Armbruster wrote: > >> This is the instrumentation mentioned in "[PATCH 00/24] Fixes around >> device realization". >> >> PATCH 2/5 might have value on its own. You tell me. >> >> Shell script to smoke-test all machines: >> >> #!/bin/sh >> success=0 >> fail=0 >> ulimit -c 0 >> git-describe --dirty --match v\* >> git-log --oneline -1 >> for i in bld/*-softmmu >> do >> t=${i%-softmmu} >> t=${t##*/} >> q=$i/qemu-system-$t >> echo "= $t =" >> >> for m in `$q -M help | sed -n '/(alias of/d;2,$s/ .*//p'` >> do >> echo "== $m ==" >> echo -e 'info qom-tree\ninfo qtree\nq' | $q -S -accel qtest -display >> none -L smoke-mon-roms -M $m -monitor stdio >> if [ $? -eq 0 ] >> then echo "*** Success: $m ***"; let success++ >> else echo "*** Fail: $m"; let fail++ >> fi >> done >> done >> echo $success succeeded, $fail failed >> >> >> Markus Armbruster (5): >> qom: Instrument to detect missed realize >> qom: Make "info qom-tree" show children sorted >> qdev: Make "info qtree" show child devices sorted by QOM path >> qdev: Instrument to detect missed QOM parenting >> qdev: Instrument to detect bus mismatch >> >> hw/core/qdev.c | 17 ++++++++++++++++ >> qdev-monitor.c | 32 ++++++++++++++++++++++++++++- >> qom/qom-hmp-cmds.c | 51 +++++++++++++++++++++++++++++++++++++++++++++- >> 3 files changed, 98 insertions(+), 2 deletions(-) > > Thanks for sharing these patches! I certainly think that they have value and > after a > quick read through I'm thinking: > > - Patch 1 I assume is no longer needed once you previous series is merged
Correct, "[PATCH 24/24] qdev: Assert onboard devices all get realized properly" supersedes. > - Patches 2 & 3 would be really useful at the start of your previous series > (as > someone who has gone crossed-eyed enough trying to spot these differences, > this is > really helpful) It's where they sat while I developed my fixes, so I don't go cross-eyed, too :) > - Patches 4 and 5 are good sanity checks for developers but I'm wondering > what is the > extent of work that needs to be done? Could existing failures be whitelisted > with the > aim of removal which would then at least prevent new devices being added that > aren't > correct? Since realization assigns a QOM parent to orphans, "[PATCH 24/24] qdev: Assert onboard devices all get realized properly" supersedes PATCH 4, too. I needed both PATCH 1 and 4 to track down missing realizes, because some were visible only in "info qtree" (PATCH 4), and some only in "info qom-tree" (PATCH 1). "[PATCH 22/24] qdev: Assert devices are plugged into a bus that can take them" supersedes PATCH 5. Thanks!