qemu-arm
[Top][All Lists]
Advanced

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

Re: [Qemu-arm] [PATCH v2 23/24] numa: add '-numa cpu, ...' option for pr


From: Eduardo Habkost
Subject: Re: [Qemu-arm] [PATCH v2 23/24] numa: add '-numa cpu, ...' option for property based node mapping
Date: Wed, 3 May 2017 14:38:41 -0300
User-agent: Mutt/1.8.0 (2017-02-23)

On Wed, May 03, 2017 at 11:39:10AM -0500, Eric Blake wrote:
> On 05/03/2017 11:35 AM, Eduardo Habkost wrote:
> 
> >> +
> >> +        memset(&cpu, 0, sizeof(cpu));
> >> +        cpu.has_node_id = object->u.cpu.has_node_id;
> >> +        cpu.node_id = object->u.cpu.node_id;
> >> +        cpu.has_socket_id = object->u.cpu.has_socket_id;
> >> +        cpu.socket_id = object->u.cpu.socket_id;
> >> +        cpu.has_core_id = object->u.cpu.has_core_id;
> >> +        cpu.core_id = object->u.cpu.core_id;
> >> +        cpu.has_thread_id = object->u.cpu.has_thread_id;
> >> +        cpu.thread_id = object->u.cpu.thread_id;
> > 
> > We don't have a way to avoid copying each field individually?
> > Some visitor trick, maybe?
> > 
> > Eric, Markus, Michael, do you have any suggestions?
> 
> Markus just added QAPI_CLONE_MEMBERS(), which sounds like what you want:
> 
> https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg04867.html

Not sure if it would work in this case. Note that cpu and
object->u.cpu have different types. 'cpu' is CpuInstanceProps,
but object->u.cpu is NodeCpuOptions.

NodeCpuOptions has { 'base': 'CpuInstanceProps' }, and
CpuInstanceProps field declarations are duplicated in struct
NodeCpuOptions. Do you know why struct inheritance is implemented
by duplicating the fields of the base struct instead of embedding
the base struct?

-- 
Eduardo



reply via email to

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