All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Alexander Graf <agraf@suse.de>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [Qemu-devel] [PATCH V12 05/17] xen: Add xenfv machine
Date: Mon, 11 Apr 2011 21:55:52 +0200	[thread overview]
Message-ID: <4DA35CC8.6030909@web.de> (raw)
In-Reply-To: <alpine.DEB.1.10.1104111852190.9096@perard.cam.xci-test.com>

[-- Attachment #1: Type: text/plain, Size: 1542 bytes --]

On 2011-04-11 20:10, Anthony PERARD wrote:
>>>  }
>>>
>>>  static CPUState *pc_new_cpu(const char *cpu_model)
>>> @@ -952,7 +957,12 @@ void pc_cpus_init(const char *cpu_model)
>>>  #endif
>>>      }
>>>
>>> -    for(i = 0; i < smp_cpus; i++) {
>>> +    if (!xen_enabled()) {
>>> +        for(i = 0; i < smp_cpus; i++) {
>>> +            pc_new_cpu(cpu_model);
>>> +        }
>>> +    } else {
>>> +        /* Xen require only one Qemu VCPU */
>>>          pc_new_cpu(cpu_model);
>>
>> This looks a bit fishy. What is the semantic of -smp 2 or more in Xen
>> mode? If that is an invalid/unused configuration option, catch that and
>> reject it instead of installing this workaround. If it has a valid
>> semantic, please elaborate why you need to restrict the number of
>> instantiated cpus. Just to optimize memory usage?
> 
> I thought in a first place that was needed to avoid errors. But it works
> also when we initialise other CPUs. But I prefere to keep it that way to
> save memory and in the case where there is a thread for each cpu that
> will also avoid to have many useless threads.

How much memory does this save? More than a few KB per VCPU? That should
be negligible compared to the normal size of VMs. And as long as we do
not support multi-threaded TCG VCPUs, Xen will only create on thread for
all VCPUs (once that may change, Xen could control the "execution" model
via qemu_init_vcpu).

So I would prefer to avoid this additional Xen-specific branch in
generic code.

Thanks,
Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Alexander Graf <agraf@suse.de>,
	Xen Devel <xen-devel@lists.xensource.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Subject: Re: [PATCH V12 05/17] xen: Add xenfv machine
Date: Mon, 11 Apr 2011 21:55:52 +0200	[thread overview]
Message-ID: <4DA35CC8.6030909@web.de> (raw)
In-Reply-To: <alpine.DEB.1.10.1104111852190.9096@perard.cam.xci-test.com>

[-- Attachment #1: Type: text/plain, Size: 1542 bytes --]

On 2011-04-11 20:10, Anthony PERARD wrote:
>>>  }
>>>
>>>  static CPUState *pc_new_cpu(const char *cpu_model)
>>> @@ -952,7 +957,12 @@ void pc_cpus_init(const char *cpu_model)
>>>  #endif
>>>      }
>>>
>>> -    for(i = 0; i < smp_cpus; i++) {
>>> +    if (!xen_enabled()) {
>>> +        for(i = 0; i < smp_cpus; i++) {
>>> +            pc_new_cpu(cpu_model);
>>> +        }
>>> +    } else {
>>> +        /* Xen require only one Qemu VCPU */
>>>          pc_new_cpu(cpu_model);
>>
>> This looks a bit fishy. What is the semantic of -smp 2 or more in Xen
>> mode? If that is an invalid/unused configuration option, catch that and
>> reject it instead of installing this workaround. If it has a valid
>> semantic, please elaborate why you need to restrict the number of
>> instantiated cpus. Just to optimize memory usage?
> 
> I thought in a first place that was needed to avoid errors. But it works
> also when we initialise other CPUs. But I prefere to keep it that way to
> save memory and in the case where there is a thread for each cpu that
> will also avoid to have many useless threads.

How much memory does this save? More than a few KB per VCPU? That should
be negligible compared to the normal size of VMs. And as long as we do
not support multi-threaded TCG VCPUs, Xen will only create on thread for
all VCPUs (once that may change, Xen could control the "execution" model
via qemu_init_vcpu).

So I would prefer to avoid this additional Xen-specific branch in
generic code.

Thanks,
Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

  reply	other threads:[~2011-04-12  1:38 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-29 18:27 [Qemu-devel] [PATCH V12 00/17] Xen device model support anthony.perard
2011-03-29 18:27 ` anthony.perard
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 01/17] xen: Replace some tab-indents with spaces (clean-up) anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 02/17] xen: Make Xen build once anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 03/17] xen: Support new libxc calls from xen unstable anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 04/17] xen: Add initialisation of Xen anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 05/17] xen: Add xenfv machine anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-04-08 13:48   ` [Qemu-devel] " Jan Kiszka
2011-04-08 13:48     ` Jan Kiszka
2011-04-11 18:10     ` [Qemu-devel] " Anthony PERARD
2011-04-11 18:10       ` Anthony PERARD
2011-04-11 19:55       ` Jan Kiszka [this message]
2011-04-11 19:55         ` Jan Kiszka
2011-04-12 14:57         ` [Qemu-devel] " Anthony PERARD
2011-04-12 14:57           ` Anthony PERARD
2011-04-12 15:52           ` [Qemu-devel] " Jan Kiszka
2011-04-12 15:52             ` Jan Kiszka
2011-04-13 10:56             ` [Qemu-devel] " Stefano Stabellini
2011-04-13 10:56               ` Stefano Stabellini
2011-04-13 11:28               ` Jan Kiszka
2011-04-13 11:49                 ` Stefano Stabellini
2011-04-13 13:05                   ` Jan Kiszka
2011-04-13 13:05                     ` Jan Kiszka
2011-04-13 15:22                     ` [Qemu-devel] " Stefano Stabellini
2011-04-13 15:22                       ` Stefano Stabellini
2011-03-29 18:27 ` [Qemu-devel] [PATCH V12 06/17] xen: Add the Xen platform pci device anthony.perard
2011-03-29 18:27   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 07/17] piix_pci: Introduces Xen specific call for irq anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 08/17] xen: Introduce Xen Interrupt Controller anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 09/17] xen: Introduce the Xen mapcache anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 10/17] xen: Adds a cap to the number of map cache entries anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 11/17] configure: Always use 64bits target physical addresses with xen enabled anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 12/17] Introduce qemu_put_ram_ptr anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 13/17] pci: Use of qemu_put_ram_ptr in pci_add_option_rom anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 14/17] vl.c: Introduce getter for shutdown_requested and reset_requested anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 15/17] xen: Initialize event channels and io rings anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 16/17] xen: Set running state in xenstore anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-29 18:28 ` [Qemu-devel] [PATCH V12 17/17] xen: Add Xen hypercall for sleep state in the cmos_s3 callback anthony.perard
2011-03-29 18:28   ` anthony.perard
2011-03-30 10:56 ` [Qemu-devel] Re: [PATCH V12 00/17] Xen device model support Alexander Graf
2011-03-30 10:56   ` Alexander Graf
2011-03-31 11:48 ` [Qemu-devel] Re: [Xen-devel] " Anthony PERARD
2011-03-31 11:48   ` Anthony PERARD

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=4DA35CC8.6030909@web.de \
    --to=jan.kiszka@web.de \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=agraf@suse.de \
    --cc=anthony.perard@citrix.com \
    --cc=qemu-devel@nongnu.org \
    --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.