
On Tue, Jun 07, 2022 at 10:06:16 +0200, Michal Prívozník wrote:
On 6/6/22 13:40, Daniel P. Berrangé wrote:
On Thu, Jun 02, 2022 at 01:54:39PM +0200, Peter Krempa wrote:
On Thu, Jun 02, 2022 at 09:18:04 +0200, Michal Privoznik wrote:
As of v7.0.0-877-g70ac26b9e5 QEMU exposes its main event loop as an QMP object. In the very next commit (v7.0.0-878-g71ad4713cc) it was extended for thread-pool-min and thread-pool-max attributes. Expose them under new <mainloop/> element.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> ---
[...]
It isn't even especially part of the QEMU main loop IIUC.
Rather it is setting up a pool of threads that are used for serving I/O, when no specific I/O thread is configurd for the guest.
Perhaps it can be '<defaultiothread/>' or something along those lines, to make it clear it is an I/O related tunable.
Right, I'd rather avoid putting it as an attribute to <emulator/> since we have a whole section dedicated to performance tuning. Not to mention <emulator/> lives under <devices/> and I don't think we put performance related knobs there. I didn't object to Peter's suggestion because I don't have better idea.
So are you suggesting that <defaultiothread/> would be at the same level as <iothreads/> and <iothreadids/> or it would be nested somewhere?
<domain> <name/> <iothreads>4</iothreads> <iothreadids> <iothread id="1" thread_pool_min="2" thread_pool_max="8"/> <iothread id="2"/> <iothreadids> <defaultiothread thread_pool_min="8" thread_pool_max="8"/> <devices/> </domain>
This looks relatively nice.
Yup, that works also for me. It conveys the proper semantics for what's being set.