qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v0 0/8] cpu-package hotplug


From: Bharata B Rao
Subject: Re: [Qemu-devel] [RFC PATCH v0 0/8] cpu-package hotplug
Date: Tue, 23 Feb 2016 11:41:34 +0530
User-agent: Mutt/1.5.23 (2014-03-12)

On Mon, Feb 22, 2016 at 04:32:25PM +0100, Andreas Färber wrote:
> Hi Bharata,
> 
> Am 22.02.2016 um 06:01 schrieb Bharata B Rao:
> > This is an attempt to implement David Gibson's RFC that was posted at
> > https://lists.gnu.org/archive/html/qemu-ppc/2016-02/msg00000.html
> > I am not sure if I have followed all the aspects of the RFC fully, but we
> > can make changes going forward.
> 
> I am not familiar with David's RFC beyond what was portrayed on the KVM
> call - this is not what we discussed on the call and I don't like it.
> 
> Further, your commits are pretty cryptic to me. Please improve your
> commit messages.
> 
> For example, you add a cpu_type field and you assign it the value
> TYPE_POWERPC_CPU. That's not the user-chosen CPU type then, it's a base
> CPU type that cannot be instantiated. Either name it cpu_base_type or
> fill it in with proper values in one patch - that patch on its own does
> not create value and does not explain your claim:
> "Storing CPU typename in MachineState lets us to create CPU threads
> for all architectures in uniform manner from arch-neutral code."
> I'm pretty sure that CPU threads cannot be created from that type, as it
> would run into an assertion.

Yes, that should have been called cpu_base_type.

> 
> Next, you make a functionally correct refactoring of cpu_generic_init(),
> but I don't understand why you duplicate that code. cpu_foo_init() still
> expects things to be realized, so instead of realizing once in a central
> place you do it in nine different places. Had you touched all helper
> functions we might be able to move that to three places, once for
> softmmu, once or twice for linux-user and once for bsd-user. But I
> rather get the feeling that you misunderstand those legacy helper
> functions, they're for -cpu handling and not to my knowledge used for
> cpu-add at all. You should not be using them and then won't need to
> touch them in this way. By using them in your supposedly QOM code you
> are hiding an object_new() call inside deep layers of helper functions
> instead of using QOM native functions such as object_initialize(),
> object_new() and object_property_set*().

The intention was to re-use this generic sounding (cpu_generic_init)
routine with a bit of modification. But since it is a legacy helper
as you mention, we should be fine with using object_new() and other
QOM native functions directly.

Regards,
Bharata.




reply via email to

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