[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/1] numa: check mem or memdev in numa configuration
From: |
Igor Mammedov |
Subject: |
Re: [PATCH 1/1] numa: check mem or memdev in numa configuration |
Date: |
Thu, 17 Feb 2022 11:25:39 +0100 |
On Thu, 17 Feb 2022 10:38:32 +0100
Li Zhang <lizhang@suse.de> wrote:
> On 2/17/22 10:10 AM, Igor Mammedov wrote:
> > On Wed, 16 Feb 2022 17:36:13 +0100
> > Li Zhang <lizhang@suse.de> wrote:
> >
> >> If there is no mem or memdev in numa configuration, it always
> >> reports the error as the following:
> >>
> >> total memory for NUMA nodes (0x0) should equal RAM size (0x100000000)
> >>
> >> This error is confusing and the reason is that total memory of numa nodes
> >> is always 0 if there is no mem or memdev in numa configuration.
> >> So it's better to check mem or memdev in numa configuration.
> >>
> >> Signed-off-by: Li Zhang <lizhang@suse.de>
> >> ---
> >> hw/core/numa.c | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/hw/core/numa.c b/hw/core/numa.c
> >> index 1aa05dcf42..11cbec51eb 100644
> >> --- a/hw/core/numa.c
> >> +++ b/hw/core/numa.c
> >> @@ -132,6 +132,11 @@ static void parse_numa_node(MachineState *ms,
> >> NumaNodeOptions *node,
> >>
> >> have_memdevs = have_memdevs ? : node->has_memdev;
> >> have_mem = have_mem ? : node->has_mem;
> >> + if (!node->has_memdev && !node->has_mem) {
> >> + error_setg(errp, "numa configuration should use mem= or memdev=
> >> ");
> >> + return;
> >> + }
> >
> > Wouldn't this breaks memory less numa nodes?
>
> Yes, you are right. It will break it if there more numa nodes
> than memory, and the numa nodes have no memory backends specified.
>
> Is it allowed for users to specify more numa nodes than memory?
yep, I think we support it at least for one of the targets
(but I don't remember which one(s))
>
> >
> > I'd rather add/rephrase to original error message that memory
> > should be specified explicitly for desired numa nodes.
> > And I'd not mention 'mem=' since
> > docs/about/removed-features.rst:``-numa node,mem=...`` (removed in 5.1)
>
> Thanks for your suggestions, I will rephrase it.
>
> >
> >> +
> >> if ((node->has_mem && have_memdevs) || (node->has_memdev &&
> >> have_mem)) {
> >> error_setg(errp, "numa configuration should use either mem= or
> >> memdev=,"
> >> "mixing both is not allowed");
> >
>