[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP |
Date: |
Tue, 17 Apr 2018 16:13:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Igor Mammedov <address@hidden> writes:
[...]
> Series allows to configure NUMA mapping at runtime using QMP
> interface. For that to happen it introduces a new '-preconfig' CLI option
> which allows to pause QEMU before machine_init() is run and
> adds new set-numa-node QMP command which in conjunction with
> query-hotpluggable-cpus allows to configure NUMA mapping for cpus.
>
> Later we can modify other commands to run early, for example device_add.
> I recall SPAPR had problem when libvirt started QEMU with -S and, while it's
> paused, added CPUs with device_add. Intent was to coldplug CPUs (but at that
> stage it's considered hotplug already), so SPAPR had to work around the issue.
That instance is just stupidity / laziness, I think: we consider any
plug after machine creation a hot plug. Real machines remain cold until
you press the power button. Our virtual machines should remain cold
until they start running, i.e. with -S until the first "cont".
I vaguely remember me asking this before, but your answer didn't make it
into this cover letter, which gives me a pretext to ask again instead of
looking it up in the archives: what exactly prevents us from keeping the
machine cold enough for numa configuration until the first "cont"?
>
> Example of configuration session:
> $QEMU -smp 2 -preconfig ...
>
> QMP:
> # get CPUs layout for current target/machine/CLI
> -> {'execute': 'query-hotpluggable-cpus' }
> <- {'return': [
> {'props': {'core-id': 0, 'thread-id': 0, 'socket-id': 1}, ... },
> {'props': {'core-id': 0, 'thread-id': 0, 'socket-id': 0}, ... }
> ]}
>
> # configure 1st node
> -> {'execute': 'set-numa-node', 'arguments': { 'type': 'node', 'nodeid': 0 }
> }
> <- {'return': {}}
> -> {'execute': 'set-numa-node', 'arguments': { 'type': 'cpu',
> 'node-id': 0, 'core-id': 0, 'thread-id': 0, 'socket-id': 1, }
> }
> <- {'return': {}}
>
> # configure 2nd node
> -> {'execute': 'set-numa-node', 'arguments': { 'type': 'node', 'nodeid': 1 } }
> -> {'execute': 'set-numa-node', 'arguments': { 'type': 'cpu',
> 'node-id': 1, 'core-id': 0, 'thread-id': 0, 'socket-id': 0 }
> }
> <- {'return': {}}
>
> # [optional] verify configuration
> -> {'execute': 'query-hotpluggable-cpus' }
> <- {'return': [
> {'props': {'core-id': 0, 'thread-id': 0, 'node-id': 0, 'socket-id':
> 1}, ... },
> {'props': {'core-id': 0, 'thread-id': 0, 'node-id': 1, 'socket-id':
> 0}, ... }
> ]}
>
>
> Git tree:
> https://github.com/imammedo/qemu.git qmp_preconfig_v3
>
> Ref to v1:
> https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg03583.html
> Message-Id: <address@hidden>
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Eduardo Habkost, 2018/04/17
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Igor Mammedov, 2018/04/17
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Eduardo Habkost, 2018/04/17
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Markus Armbruster, 2018/04/18
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Igor Mammedov, 2018/04/19
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Eduardo Habkost, 2018/04/19
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Markus Armbruster, 2018/04/20
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Igor Mammedov, 2018/04/23
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Eduardo Habkost, 2018/04/23
- Re: [Qemu-devel] [PATCH v4 0/9] enable numa configuration before machine_init() from QMP, Igor Mammedov, 2018/04/23