qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 07/22] vhost: alloc shareable log


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v4 07/22] vhost: alloc shareable log
Date: Tue, 22 Sep 2015 14:41:13 +0300

On Tue, Sep 22, 2015 at 01:01:03PM +0200, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Sep 22, 2015 at 12:12 PM, Michael S. Tsirkin <address@hidden> wrote:
> >> But then it should also VHOST_SET_LOG_BASE all the other devices with
> >> the new log, unless you want to tackle only the future log users. So
> >> it needs to track all the users of the log.
> >
> > We already do this.
> > Same applies to non-memfd->memfd switch.
> >
> 
> I failed to see how the log of other devices is being updated when one
> device needs a resize. There are multiple log already in this case.

There's a single log at the moment:
        static struct vhost_log *vhost_log;

But all devices are updated by the memory core, we don't
have a list in the vhost code.

> >> Is there a clear benefit
> >> of this? since the memory isn't shared without the memfd passed to
> >> another process and the overhead of memfd is probably quite small, and
> >> pre-shm or future resize will not use the shared memory already.
> >
> > For example, THP doesn't work for memfd at the moment,
> > so all accesses are a bit slower.
> 
> What's THP? How is it slower once the fd is mmap?

Transparent huge page. This process doesn't work for
memfd AFAIK.

> > Really, I don't want to merge hacks. Switching from non memfd
> > to memfd but not back has all the signs of one.
> > Let's do it cleanly please.
> 
> The current code isn't switching existing logs either. What would be
> simpler to do is to allocate a different log region for the "share"
> case. So there would be no need to switch other non-shareable logs (to
> the cost of using twice the memory needed).

OK, that's not too bad. Let's go for it.

> -- 
> Marc-André Lureau



reply via email to

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