On Thu, Sep 04, 2025 at 01:38:14AM +0000, Dr. David Alan Gilbert wrote: > > > > In general, QEMUFile IOs should not need BQL, that is when receiving the > > > > VMSD data and waiting for e.g. the socket buffer to get refilled. But > > > > that's the easy part. > > > > > > It's probably generally a good thing to get rid of the BQL there, but I > > > bet > > > it's going to throw some surprises; maybe something like devices doing > > > stuff before the migration has fully arrived > > > > Is that pre_load() or.. maybe something else? > > > > I should still look into each of them, but only if we want to further push > > the bql to be at post_load() level. I am not sure if some pre_load() would > > assume BQL won't be released until post_load(), if so that'll be an issue, > > and that will need some closer code observation... > > Well maybe pre_load; but anything that might start happening once the > state has been loaded that shouldn't start happening until migration ends; > I think there are some devices that do it properly and wait for end of > migration. > > > > or incoming socket connections to non-migration stuff perhaps. > > > > Any example for this one? > > I was just thinking aloud; but was thinking of NIC activity or maybe > UI stuff? But just guesses.
I'll see if I can get some more test coverage to be slightly more confident.. If you have any special setup / devices in mind that might be prone to issues with this series, please let me know! I can test them even earlier. We also always have the option to provide a knob, so that whenever necessary we can still allow user to fallback to the coroutine way, until it's proven solid.. Thanks, -- Peter Xu
