On 4/29/2025 2:02 AM, Markus Armbruster wrote:
Steven Sistare <steven.sistare(a)oracle.com> writes:
> On 4/28/2025 4:04 AM, Markus Armbruster wrote:
>> Steven Sistare <steven.sistare(a)oracle.com> writes:
>>
>>> On 4/9/2025 3:39 AM, Markus Armbruster wrote:
>>>> Hi Steve, I apologize for the slow response.
>>>>
>>>> Steve Sistare <steven.sistare(a)oracle.com> writes:
>>>>
>>>>> Using qom-list and qom-get to get all the nodes and property values
in a
>>>>> QOM tree can take multiple seconds because it requires 1000's of
individual
>>>>> QOM requests. Some managers fetch the entire tree or a large subset
>>>>> of it when starting a new VM, and this cost is a substantial fraction
of
>>>>> start up time.
>>>>
>>>> "Some managers"... could you name one?
>>>
>>> My personal experience is with Oracle's OCI, but likely others could
benefit.
>>
>> Elsewhere in this thread, we examined libvirt's use qom-get. Its use of
>> qom-get is also noticably slow, and your work could speed it up.
>> However, most of its use is for working around QMP interface
>> shortcomings around probing CPU flags. Addressing these would help it
>> even more.
>>
>> This makes me wonder what questions Oracle's OCI answers with the help
>> of qom-get. Can you briefly describe them?
>>
>> Even if OCI would likewise be helped more by better QMP queries, your
>> fast qom tree get work might still be useful.
>
> We already optimized our queries as a first step, but what remains is still
> significant, which is why I submitted this RFE.
I understand your motivation. I'd like to learn more on what OCI
actually needs from QMP, to be able to better serve it and potentially
other management applications.
OCI uses qemu as the single source of truth during hot plug operations,
comparing what is actually there to what the user desires, and as such
must request many nodes and their properties from qemu.
Regarding being potentially useful to other management applications, my
proposed interface is quite general and easy to use, and I don't believe
we will improve it by examining more use cases in detail. I'd appreciate
it if we could continue reviewing the code. I made a concerted effort to dot
all the i's and cross all the t's, based on what you look for in our past
discussions of other patches.
- Steve