On Tue, Jan 29, 2019 at 01:34:48PM +0100, Kevin Wolf wrote:
> Am 29.01.2019 um 12:18 hat Vladimir Sementsov-Ogievskiy geschrieben:
> > 29.01.2019 13:32, Stefan Hajnoczi wrote:
> > > On Tue, Jan 29, 2019 at 6:24 PM Vladimir Sementsov-Ogievskiy
> > > <vsement...@virtuozzo.com> wrote:
> > >> 29.01.2019 6:31, Stefan Hajnoczi wrote:
> > >>> On Fri, Jan 25, 2019 at 07:46:01PM +0300, Vladimir Sementsov-Ogievskiy 
> > >>> wrote:
> > >> Hmm. In this case we definitely will have tiny extra memory usage, but 
> > >> we gain beautiful
> > >> readability.
> > >>
> > >> So, like this:
> > >>
> > >> diff --git a/include/qemu/iov.h b/include/qemu/iov.h
> > >> index 5f433c7768..53de1b38bb 100644
> > >> --- a/include/qemu/iov.h
> > >> +++ b/include/qemu/iov.h
> > >> @@ -134,9 +134,31 @@ typedef struct QEMUIOVector {
> > >>        struct iovec *iov;
> > >>        int niov;
> > >>        int nalloc;
> > >> -    size_t size;
> > >> +    union {
> > >> +        struct {
> > >> +            void *__unused_iov_base;
> > > 
> > > This could be struct iovec *iov for nalloc > 0 users.  Must resist 
> > > hackiness! :)
> > 
> > can't be iov, gcc complains:
> > include/qemu/iov.h:139:27: error: duplicate member ‘iov’
> >               struct iovec *iov;
> 
> I think Stefan meant moving the existing iov here. But then we would
> have to make sure that it's never used for local qiovs, which would
> probably involve touching a lot more code.
> 
> Your original suggestion to put nalloc there looks a bit more practical
> if we want to save those bytes.

Sounds good.

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to