all lists on 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 v2 qemu-server 8/9] memory: add virtio-mem support
Date: Wed, 25 Jan 2023 11:52:09 +0100	[thread overview]
Message-ID: <c9fdd807-5dfb-27c7-992c-d41fcad60046@proxmox.com> (raw)
In-Reply-To: <b94bb2cc029de91b41a2ff30a3eae9ab5da1fab4.camel@groupe-cyllene.com>

Am 25.01.23 um 11:28 schrieb DERUMIER, Alexandre:
>> Sure, doing it in parallel is perfectly fine. I'm just thinking that
>> switching gears (too early) and redirecting the request might not be
>> ideal. You also issue an additional qom-set to go back to
>> $virtiomem->{current} * 1024 *1024 if a request didn't make progress
>> in
>> time. But to be sure that request worked, we'd also need to monitor
>> it
>> ;) I think issuing that request is fine as-is, but if there is a
>> "hanging" device, we really can't do much. And I do think the user
>> should be informed via an appropriate error if there is a problematic
>> device.
>>
>> Maybe we can use 10 seconds instead of 5 (2-3 seconds already sounds
>> too
>> close to 5 IMHO), so that we have a good margin, and just die instead
>> of
>> trying to redirect the request to another device. After issuing the
>> reset request and writing our best guess of what the memory is to the
>> config of course.
>>
> I forgot to say, than it don't timeout 5s after the qom-set,
> but timeout after 5s if no memory change is detected by qom-get. 
> I'm reseting the retry counter if a change is detected.
> (so 5s is really big, in real, when it's blocking for 1s, it's really
> blocking)

I saw that and thought the "It can take 2-3second on unplug on bigger
setup" means that it can take this long for a change to happen. Since
that's not the case, 5 seconds can be fine of course :)

>> If it really is an issue in practice that certain devices often take
>> too
>> long for whatever reason, we can still add the redirect logic. But
>> starting out, I feel like it's not worth the additional complexity.
>>
> The real only reason will be on unplug, if memory block are unmovable
> (kernel reserved) or with big fragmentation, no available block.(with
> 4MB granurality it's difficult to reach, but with bigger maxmem and
> bigger block, we have more chance to trigger it.  (with 1GB
> hugepage,it's more easy to trigger it too I think)
>
> But if you want something more simple,
> 
> I can something like before, split memory by number of sockets,
> and if we have an error on 1 socket, don't try to redispatch again
> remaining block of this socket on other nodes.
Hope it's not too much work. I do think we should wait for some user
demand before adding the redispatch feature (and having it as a separate
patch helps to review and for git history). But feel free to include it
if you already experienced the above-mentioned issue a few times ;)




  reply	other threads:[~2023-01-25 10:52 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-04  6:42 [pve-devel] [PATCH v2 qemu-server 0/9] rework memory hotplug + virtiomem Alexandre Derumier
2023-01-04  6:42 ` [pve-devel] [PATCH v2 qemu-server 1/9] test: add memory tests Alexandre Derumier
2023-01-24 13:04   ` Fiona Ebner
2023-01-04  6:42 ` [pve-devel] [PATCH v2 qemu-server 2/9] add memory parser Alexandre Derumier
2023-01-24 13:04   ` Fiona Ebner
2023-01-04  6:42 ` [pve-devel] [PATCH v2 qemu-server 3/9] memory: add get_static_mem Alexandre Derumier
2023-01-24 13:04   ` Fiona Ebner
2023-01-04  6:42 ` [pve-devel] [PATCH v2 qemu-server 4/9] config: memory: add 'max' option Alexandre Derumier
2023-01-24 13:05   ` Fiona Ebner
2023-01-27 15:03     ` DERUMIER, Alexandre
2023-01-30  8:03       ` Fiona Ebner
2023-01-30  8:45         ` DERUMIER, Alexandre
2023-01-04  6:42 ` [pve-devel] [PATCH v2 qemu-server 5/9] memory: get_max_mem: use config memory max Alexandre Derumier
2023-01-24 13:05   ` Fiona Ebner
2023-01-27 15:15     ` DERUMIER, Alexandre
2023-01-30  8:04       ` Fiona Ebner
2023-01-04  6:43 ` [pve-devel] [PATCH v2 qemu-server 6/9] memory: use 64 slots && static dimm size when max is defined Alexandre Derumier
2023-01-24 13:06   ` Fiona Ebner
2023-01-27 15:52     ` DERUMIER, Alexandre
2023-01-04  6:43 ` [pve-devel] [PATCH v2 qemu-server 7/9] test: add memory-max tests Alexandre Derumier
2023-01-24 13:06   ` Fiona Ebner
2023-01-04  6:43 ` [pve-devel] [PATCH v2 qemu-server 8/9] memory: add virtio-mem support Alexandre Derumier
2023-01-24 13:06   ` Fiona Ebner
2023-01-25  9:00     ` DERUMIER, Alexandre
2023-01-25  9:54       ` Fiona Ebner
2023-01-25 10:28         ` DERUMIER, Alexandre
2023-01-25 10:52           ` Fiona Ebner [this message]
2023-01-04  6:43 ` [pve-devel] [PATCH v2 qemu-server 9/9] tests: add virtio-mem tests Alexandre Derumier
2023-01-24 13:08   ` Fiona Ebner
2023-01-24 13:08 ` [pve-devel] [PATCH v2 qemu-server 0/9] rework memory hotplug + virtiomem Fiona Ebner

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=c9fdd807-5dfb-27c7-992c-d41fcad60046@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal