* Peter Xu ([email protected]) wrote: > On Thu, Sep 17, 2026 at 01:53:22PM +0200, Markus Armbruster wrote: > > Fabiano Rosas <[email protected]> writes: > > > > > The hmp_info_migrate_parameters function currently open-codes the > > > mon_printf calls for each migration parameter. As with the set command > > > in the last patch, this should not be necessary as the QAPI > > > infrastructure already has generated code that takes type and struct > > > member names into account, including converting _ from C into the '-' > > > character as part of parameter names strings. > > > > > > The current code is also quite painful to rebase if a series has been > > > carried for a long time while parameters have been added in master. > > > > > > Replace all of this with a conversion from MigrationParameters to > > > QDict using an output visitor and a loop over the QDict that prints > > > per-QAPI-type formatted strings. > > > > > > Modelled after block/qapi.c:dump_qobject, but with some changes to > > > keep the migration command output formatting. > > > > > > Signed-off-by: Fabiano Rosas <[email protected]> > > > > Old output of info migrate_parameters for me: > > > > announce-initial: 50 > > announce-max: 550 > > announce-rounds: 5 > > announce-step: 100 > > throttle-trigger-threshold: 50 > > cpu-throttle-initial: 20 > > cpu-throttle-increment: 10 > > cpu-throttle-tailslow: off > > max-cpu-throttle: 99 > > tls-creds: > > tls-hostname: > > tls-authz: > > max-bandwidth: 134217728 > > avail-switchover-bandwidth: 0 > > max-postcopy-bandwidth: 0 > > downtime-limit: 300 > > x-checkpoint-delay: 20000 > > multifd-channels: 2 > > multifd-compression: none > > zero-page-detection: multifd > > xbzrle-cache-size: 67108864 > > x-vcpu-dirty-limit-period: 1000 > > vcpu-dirty-limit: 1 > > mode: normal > > direct-io: off > > x-rdma-chunk-size: 1048576 > > cpr-exec-command: > > > > New output: > > > > cpu-throttle-tailslow: off > > xbzrle-cache-size: 67108864 > > cpu-throttle-initial: 20 > > announce-max: 550 > > direct-io: off > > avail-switchover-bandwidth: 0 > > local: off > > zero-page-detection: multifd > > multifd-qatzip-level: 1 > > x-rdma-chunk-size: 1048576 > > multifd-channels: 2 > > mode: normal > > multifd-zstd-level: 1 > > announce-initial: 50 > > downtime-limit: 300 > > tls-authz: > > cpr-exec-command: > > > > vcpu-dirty-limit: 1 > > multifd-compression: none > > announce-rounds: 5 > > announce-step: 100 > > tls-creds: > > x-vcpu-dirty-limit-period: 1000 > > multifd-zlib-level: 1 > > max-cpu-throttle: 99 > > max-postcopy-bandwidth: 0 > > tls-hostname: > > throttle-trigger-threshold: 50 > > max-bandwidth: 134217728 > > x-checkpoint-delay: 20000 > > cpu-throttle-increment: 10 > > > > New output has an unwanted blank line after "cpr-exec-command:". > > > > New output adds @local, @multifd-qatzip-level, @multifd-zlib-level, > > @multifd-zstd-level. Commit message should point that out. > > > > Order of parameters changes, and not for the better. Hmm. > > Good point.. it might start to be awkward to users looking for tls-*, > multifd-*, announce-* or cpu-throttle*, etc. after this change, expecting > them grouped. > > Maybe we can sort them by name with inserting top level to a QList first > from the QDict.
Are there any filter visitors in qemu's visitor system - e.g. something that sorts? Dave > We won't be able to keep all relevant fields together, for example, we used > to have max-cpu-throttle together with cpu-throttle-*, now also separate > even with alphabetical order, but it's a special case of bad name since the > start.. where it could have been "cpu-throttle-max". Meanwhile, as another > good side effect, we can finally have max-* fields together too. > > -- > Peter Xu > -- -----Open up your eyes, open up your mind, open up your code ------- / Dr. David Alan Gilbert | Running GNU/Linux | Happy \ \ dave @ treblig.org | | In Hex / \ _________________________|_____ http://www.treblig.org |_______/
