public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: "DERUMIER, Alexandre" <Alexandre.DERUMIER@groupe-cyllene.com>,
	"pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>,
	"aderumier@odiso.com" <aderumier@odiso.com>
Subject: Re: [pve-devel] [PATCH qemu-server 02/10] add memory parser
Date: Thu, 5 Jan 2023 13:48:13 +0100	[thread overview]
Message-ID: <41f55f19-f3c1-b5ac-22e3-f1ce016edf01@proxmox.com> (raw)
In-Reply-To: <821fd1f6894a4871c43f436d4ead587a7b4210bc.camel@groupe-cyllene.com>

Am 02.01.23 um 12:23 schrieb DERUMIER, Alexandre:
> Le vendredi 16 décembre 2022 à 14:38 +0100, Fiona Ebner a écrit :
>> From a modularity standpoint, it would be nice to move the format
>> description, parsing+printing to PVE/QemuServer/Memory.pm, similar to
>> how it is done in PVE/QemuServer/PCI.pm
>>
>> Since $confdesc->{memory}->{default} is now gone, load_defaults()
>> will
>> not return a default for 'memory' anymore. And $conf->{memory} needs
>> to
>> be parsed everywhere. These two things will break getting static
>> usage
>> in HA manager, which uses load_defaults() and relies on $conf-
>>> {memory}
>> to be a single value right now. We can switch there to use
>> get_current_memory() too of course, but it'd require a versioned
>> Breaks+Depends.
>>
>> Alternatively, we could add a function in qemu-server for calculating
>> the static stats and call that from HA. Requires a versioned
>> Breaks+Depends too, but then we'd be safe in the future and also
>> catch
>> such changes more easily. OTOH, it'd make the coupling go in the
>> other
>> direction: if HA manager wants to change what it uses for static
>> consideration, then qemu-server would need to adapt. So not sure.
> 
> I was think about this,
> When dynamic scheduler will be implemented, you'll need to use values
> streamed from pvestatd.
> So why can't we do the same for static values ?  (maxmem && maxcpus are
> already send by pvestatd).
> 
> This should avoid the need to parse vm config,
> and maybe avoid to use load_config ?
> (from your initial commit,
> https://git.proxmox.com/?p=pve-ha-manager.git;a=commit;h=561e7f4bfb235fcdca5b0bbb8422ce742a5da75f,
> it seem to be slow)
> 
> 

The information is already readily available on the cluster file system,
so sending it around via pvestatd additionally isn't ideal IMHO. maxmem
and maxcpus are only one per node and were not available before.

The load_config() call is not really problematic, because the result
from cfs_read_file() is cached. The real issue is that
recompute_online_node_usage() and thus getting the static info is called
very often currently. There was an RFC [0] to get the information using
PVE::Cluster::get_guest_config_properties(), but it's only twice as
fast. Optimizing how often we call recompute_online_node_usage() can
give us much more.

In any case, HA manager needs to be adapted before the memory setting
can be turned into a property string.

[0]: https://lists.proxmox.com/pipermail/pve-devel/2022-November/054956.html




  reply	other threads:[~2023-01-05 12:48 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-09 19:27 [pve-devel] [PATCH qemu-server 00/10] rework memory hotplug + virtiomem Alexandre Derumier
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 01/10] test: add memory tests Alexandre Derumier
2022-12-16 13:38   ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 02/10] add memory parser Alexandre Derumier
2022-12-16 13:38   ` Fiona Ebner
2023-01-02 10:50     ` DERUMIER, Alexandre
2023-01-05 12:47       ` Fiona Ebner
2023-01-02 11:23     ` DERUMIER, Alexandre
2023-01-05 12:48       ` Fiona Ebner [this message]
     [not found]         ` <4ba723fb986517054761eb65f38812fac86a895b.camel@groupe-cyllene.com>
2023-01-09 14:35           ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 03/10] config: memory: add 'max' option Alexandre Derumier
2022-12-16 13:38   ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 04/10] memory: add get_static_mem Alexandre Derumier
2022-12-16 13:38   ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 05/10] memory: get_max_mem: use config memory max Alexandre Derumier
2022-12-16 13:39   ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 06/10] memory: use 64 slots && static dimm size with max is defined Alexandre Derumier
2022-12-16 13:39   ` Fiona Ebner
2022-12-19 12:05     ` DERUMIER, Alexandre
2022-12-19 12:28       ` Fiona Ebner
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 07/10] test: add memory-max tests Alexandre Derumier
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 08/10] memory: add virtio-mem support Alexandre Derumier
2022-12-16 13:42   ` Fiona Ebner
     [not found]     ` <7b9306c429440304fb37601ece5ffdbad0b90e5f.camel@groupe-cyllene.com>
2022-12-20 10:26       ` Fiona Ebner
     [not found]         ` <b354aab5e4791e7c862b15470ca24c273b8030be.camel@groupe-cyllene.com>
2022-12-20 12:31           ` DERUMIER, Alexandre
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 09/10] tests: add virtio-mem tests Alexandre Derumier
2022-12-16 13:42   ` Fiona Ebner
2022-12-19 14:48     ` Thomas Lamprecht
2022-12-09 19:27 ` [pve-devel] [PATCH qemu-server 10/10] memory: fix hotplug with virtiomem && maxmem Alexandre Derumier
2022-12-16 13:42   ` Fiona Ebner
2022-12-16 13:38 ` [pve-devel] [PATCH qemu-server 00/10] rework memory hotplug + virtiomem Fiona Ebner
2022-12-19 11:31   ` DERUMIER, Alexandre

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41f55f19-f3c1-b5ac-22e3-f1ce016edf01@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=Alexandre.DERUMIER@groupe-cyllene.com \
    --cc=aderumier@odiso.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal