qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 0/7] Let boards state maximum RAM limits in Q


From: Jes Sorensen
Subject: Re: [Qemu-devel] [PATCH v3 0/7] Let boards state maximum RAM limits in QEMUMachine struct
Date: Wed, 30 Mar 2011 12:51:22 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Thunderbird/3.1.9

On 03/30/11 10:09, Peter Maydell wrote:
> On 30 March 2011 08:48, Jes Sorensen <address@hidden> wrote:
>> I am a little concerned about this approach. It should work for simple
>> embedded boards, but for larger systems, it really ought to be a mask
>> rather than a max address.
> 
> It's not a maximum address, it's a maximum size. For instance
> the RAM isn't contiguous on some of the ARM devboards.

Right, but the fact that you can have holes makes it even more an issue.

>> Ideally I think it would be better to have a mask and then introduce a
>> is_valid_memory() kinda function to check it with.
> 
> The command line option doesn't provide any means of saying
> "put 64MB in this hole and another 128 over here and 32 there",
> so this seems completely pointless to me. All we are trying
> to do is validate what the user has asked for, so why have
> a validation mechanism that can cope with impossible-to-request
> arrangements?

You can on x86 using the -numa argument. When you use that, it is
completely pointless to have the max memory limit, to use your own words.

>> I fear that by introducing a simple max limit like this, we are going to
>> hit problems later when we try to improve the NUMA support.
> 
> I think this is letting the best be the enemy of the good.
> 
> Even if you do want to have NUMA systems do more complex
> things I think you should still have the simple "maximum
> size" approach for the bulk of the supported boards which
> don't need anything more complicated. So additional NUMA
> features would augment, not replace this.

The problem is we end up with two mechanisms that way which won't
necessarily live well together.

Since you have holes on ARM too, it makes sense IMHO to use a mask
exactly because you can then map that to max memory by simply adding up
the available holes. A linear number on the other hand is much harder to
validate against once you start populating holes explicitly.

Cheers,
Jes




reply via email to

[Prev in Thread] Current Thread [Next in Thread]