From: Michal Novotny <minovotn@redhat.com>
To: xen-devel@lists.xensource.com
Subject: Re: Question about vcpu_avail
Date: Tue, 24 Nov 2009 12:27:30 +0100 [thread overview]
Message-ID: <4B0BC322.3000705@redhat.com> (raw)
In-Reply-To: <C7305AB5.11CC%keir.fraser@eu.citrix.com>
On 11/23/2009 04:28 PM, Keir Fraser wrote:
> On 23/11/2009 15:02, "Michal Novotny"<minovotn@redhat.com> wrote:
>
>
>> I would like to ask about vcpu_avail variable in XendDomainInfo.py. Is
>> that variable working and what is it used for ? I think it's a bitmask
>> showing what VCPUs are used and what are not, am I correct?
>>
> Yes, it allows you to configure which VCPUs are brought online by default on
> guest bootup. If you do add a maxvcpus config item, it can be parsed out
> into vcpus and vcpu_avail entirely within xm's create.py (excuse dodgy
> pseudocode):
> if defined(maxvcpus):
> vcpu_avail = (1<< vcpus) - 1
> vcpus = maxvcpus
>
> i.e., no need for xend itself to know about the new config item.
>
> -- Keir
>
>
Well, I don't know Keir since the main use scenario for maxvcpus is to
set number of vcpus for the guest so a new definition in Xend should be
required.
Then you just issue `xm vcpu-set {domainName} {numberOfVcpus}` command
to change number of VCPUs used by the guest, method `setVCpuCount(self,
vcpus)` from XendDomainInfo.py is called to set number of VCpus so check
should be implemented here as:
def setVCpuCount(self, vcpus):
if vcpus > self.info['maxvcpus']:
log.debug("Cannot set %d vcpu(s) for domain %s (domid %d)."
"Maximum number of vcpu(s) is set to %d" %
(vcpus, self.info['name'], self.domid,
self.info['maxvcpus']))
raise VmError("Cannot set %d vcpu(s). Maximum number of
vcpus for "
"this domain is %d" % (vcpus,
self.info['maxvcpus']) )
self.info['vcpu_avail'] = (1 << vcpus) - 1
self.storeVm('vcpu_avail', self.info['vcpu_avail'])
And domain_max_vcpus() call should be changed from
`xc.domain_max_vcpus(self.domid, int(self.info['vcpus']))` to
`xc.domain_max_vcpus(self.domid, int(self.info['maxvcpus']))`.
The only change that should be done to xm/create.py is to add `maxvcpus`
to add_conf mapping to allow it to be read/parsed out from the config file.
Well, I've been looking to the code and there is self.info['VCPUs_max']
in XendDomainInfo.py. What is it used for? Could it be used for the same
purpose like `maxvcpus` from example above?
Michal
>> Also, I'm
>> thinking of adding some variable of `maxvcpus` to define maximum number
>> of vcpus for PV guests. This way we could define a config file like:
>>
>> vcpus = 2
>> maxvcpus = 4
>>
>> and by setting `xm vcpu-set {domain} {numberOfVCPUs}` we can set up to 4
>> vcpus. Current behavior is to set to 1 vcpu and back to 2 vcpus but
>> never to cross the number defined in of vcpus. Now we could be able to
>> allocate up to 4 vcpus to the guest and not just 2... What do you think
>> about that idea?
>>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel
>
next prev parent reply other threads:[~2009-11-24 11:27 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-23 15:02 Question about vcpu_avail Michal Novotny
2009-11-23 15:28 ` Keir Fraser
2009-11-24 11:27 ` Michal Novotny [this message]
2009-11-24 14:24 ` Keir Fraser
2009-11-24 14:51 ` Michal Novotny
2009-11-24 15:05 ` Keir Fraser
2009-11-24 15:08 ` Michal Novotny
2009-11-24 15:20 ` Keir Fraser
2009-11-24 15:27 ` Michal Novotny
2009-11-24 16:28 ` Keir Fraser
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=4B0BC322.3000705@redhat.com \
--to=minovotn@redhat.com \
--cc=xen-devel@lists.xensource.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.