Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-21 Thread Jianjun Duan
On 10/21/2016 11:51 AM, Dr. David Alan Gilbert wrote: > * Jianjun Duan (du...@linux.vnet.ibm.com) wrote: >> >> >> On 10/15/2016 05:48 AM, Halil Pasic wrote: >>> >>> >>> On 10/14/2016 07:18 PM, Jianjun Duan wrote: +/* + * Offsets of layout of a tail queue head.

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-21 Thread Dr. David Alan Gilbert
* Jianjun Duan (du...@linux.vnet.ibm.com) wrote: > > > On 10/15/2016 05:48 AM, Halil Pasic wrote: > > > > > > On 10/14/2016 07:18 PM, Jianjun Duan wrote: > >> +/* > >> + * Offsets of layout of a tail queue head. > >> + */ > >> +#define QTAILQ_FIRST_OFFSET 0 >

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-17 Thread Jianjun Duan
On 10/15/2016 05:48 AM, Halil Pasic wrote: > > > On 10/14/2016 07:18 PM, Jianjun Duan wrote: >> +/* >> + * Offsets of layout of a tail queue head. >> + */ >> +#define QTAILQ_FIRST_OFFSET 0 >> +#define QTAILQ_LAST_OFFSET (sizeof(void *)) >> +

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-15 Thread Halil Pasic
On 10/14/2016 07:18 PM, Jianjun Duan wrote: > +/* > + * Offsets of layout of a tail queue head. > + */ > +#define QTAILQ_FIRST_OFFSET 0 > +#define QTAILQ_LAST_OFFSET (sizeof(void *)) > + > +/* > + * Offsets of layout of a tail

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Jianjun Duan
On 10/14/2016 11:39 AM, Paolo Bonzini wrote: > >>> Another possibility is a macro like >>> >>> #define field_at_offset(base, offset, type) \ >>>((type) (((char *) (base)) + (offset))) >>> >>> so that you can do >>> >>>*field_at_offset(void **, elm, (entry) + QTAILQ_NEXT_OFFSET) = NULL;

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Paolo Bonzini
> > Another possibility is a macro like > > > > #define field_at_offset(base, offset, type) \ > >((type) (((char *) (base)) + (offset))) > > > > so that you can do > > > >*field_at_offset(void **, elm, (entry) + QTAILQ_NEXT_OFFSET) = NULL; > >*field_at_offset(void ***, elm, (entry)

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Jianjun Duan
On 10/14/2016 10:04 AM, Dr. David Alan Gilbert wrote: > * Jianjun Duan (du...@linux.vnet.ibm.com) wrote: >> >> >> On 10/14/2016 03:44 AM, Dr. David Alan Gilbert wrote: >>> * Jianjun Duan (du...@linux.vnet.ibm.com) wrote: Currently we cannot directly transfer a QTAILQ instance because of the

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Dr. David Alan Gilbert
* Jianjun Duan (du...@linux.vnet.ibm.com) wrote: > > > On 10/14/2016 03:44 AM, Dr. David Alan Gilbert wrote: > > * Jianjun Duan (du...@linux.vnet.ibm.com) wrote: > >> Currently we cannot directly transfer a QTAILQ instance because of the > >> limitation in the migration code. Here we introduce

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Jianjun Duan
On 10/14/2016 03:44 AM, Dr. David Alan Gilbert wrote: > * Jianjun Duan (du...@linux.vnet.ibm.com) wrote: >> Currently we cannot directly transfer a QTAILQ instance because of the >> limitation in the migration code. Here we introduce an approach to >> transfer such structures. We created

Re: [Qemu-devel] [Qemu-ppc] [QEMU PATCH v6 2/2] migration: migrate QTAILQ

2016-10-14 Thread Jianjun Duan
I need to double check my code. My build passed and migration test also succeeded. On 10/14/2016 04:07 AM, Paolo Bonzini wrote: > > > On 14/10/2016 12:44, Dr. David Alan Gilbert wrote: +#define QTAILQ_RAW_INSERT_TAIL(head, elm, entry) do { \ +