From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40844) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xf3jK-0002yG-7z for qemu-devel@nongnu.org; Fri, 17 Oct 2014 05:21:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xf3jF-0002Nu-Dc for qemu-devel@nongnu.org; Fri, 17 Oct 2014 05:21:50 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:56399) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xf3jD-0002M0-Ta for qemu-devel@nongnu.org; Fri, 17 Oct 2014 05:21:45 -0400 Message-ID: <5440DF91.6030108@huawei.com> Date: Fri, 17 Oct 2014 17:21:21 +0800 From: Linhaifeng MIME-Version: 1.0 References: <1413534437-13516-1-git-send-email-haifeng.lin@huawei.com> <20141017083358.GB5874@redhat.com> <5440D9F7.5070708@huawei.com> In-Reply-To: <5440D9F7.5070708@huawei.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] fix the memory leak for share hugepage List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" Cc: jerry.lilijun@huawei.com, qemu-devel@nongnu.org, mst@redhat.com On 2014/10/17 16:57, Linhaifeng wrote: > > > On 2014/10/17 16:33, Daniel P. Berrange wrote: >> On Fri, Oct 17, 2014 at 04:27:17PM +0800, haifeng.lin@huawei.com wrote: >>> From: linhaifeng >>> >>> The VM start with share hugepage should close the hugefile fd >>> when exit.Because the hugepage fd may be send to other process >>> e.g vhost-user If qemu not close the fd the other process can >>> not free the hugepage otherwise exit process,this is ugly,so >>> qemu should close all shared fd when exit. >>> >>> Signed-off-by: linhaifeng >> >> Err, all file descriptors are closed automatically when a process >> exits. So manually calling close(fd) before exit can't have any >> functional effect on a resource leak. >> >> If QEMU has sent the FD to another process, that process has a >> completely separate copy of the FD. Closing the FD in QEMU will >> not close the FD in the other process. You need the other process >> to exit for the copy to be closed. >> >> Regards, >> Daniel >> > Hi,daniel > > QEMU send the fd by unix domain socket.unix domain socket just install the fd to > other process and inc the f_count,if qemu not close the fd the f_count is not dec. > Then the other process even close the fd the hugepage would not freed whise the other process exit. > > I have test it for many times. > The point is I want to free the hugepage when close port in vhost-user process and not exit. -- Regards, Haifeng