qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V12 05/17] xen: Add xenfv machine


From: Anthony PERARD
Subject: Re: [Qemu-devel] [PATCH V12 05/17] xen: Add xenfv machine
Date: Tue, 12 Apr 2011 15:57:50 +0100

On Mon, Apr 11, 2011 at 20:55, Jan Kiszka <address@hidden> wrote:
>
> 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.

For this patch series, I will remove this Xen specific branch.

For information, we want to run qemu in a tiny domain (Xen guest) of
32MB, so each 30KB per VCPU can count and in a Xen environment, the VM
memory is allocated outside of QEMU, by the hypervisor.
So, we will deal with these extra bytes later, and maybe found a
better way to do it :).

Thanks,

--
Anthony PERARD



reply via email to

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