From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57005) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeLwk-0003nn-TO for qemu-devel@nongnu.org; Tue, 22 Sep 2015 07:41:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZeLwj-0001AE-BY for qemu-devel@nongnu.org; Tue, 22 Sep 2015 07:41:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59608) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeLwj-00019o-17 for qemu-devel@nongnu.org; Tue, 22 Sep 2015 07:41:17 -0400 Date: Tue, 22 Sep 2015 14:41:13 +0300 From: "Michael S. Tsirkin" Message-ID: <20150922143004-mutt-send-email-mst@redhat.com> References: <1442657533-13030-1-git-send-email-marcandre.lureau@redhat.com> <1442657533-13030-8-git-send-email-marcandre.lureau@redhat.com> <20150921113812-mutt-send-email-mst@redhat.com> <2063208980.14557622.1442844122026.JavaMail.zimbra@redhat.com> <20150921222715-mutt-send-email-mst@redhat.com> <20150922101218.GA19649@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v4 07/22] vhost: alloc shareable log List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?iso-8859-1?Q?Marc-Andr=E9?= Lureau Cc: thibaut collet , Jason Wang , Paolo Bonzini , haifeng lin , QEMU On Tue, Sep 22, 2015 at 01:01:03PM +0200, Marc-Andr=E9 Lureau wrote: > Hi >=20 > On Tue, Sep 22, 2015 at 12:12 PM, Michael S. Tsirkin w= rote: > >> But then it should also VHOST_SET_LOG_BASE all the other devices wit= h > >> 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. > > >=20 > 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, a= nd > >> 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. >=20 > 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. >=20 > 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. > --=20 > Marc-Andr=E9 Lureau