From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xf3M9-0005Od-TN for qemu-devel@nongnu.org; Fri, 17 Oct 2014 04:57:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xf3M5-0001mC-4U for qemu-devel@nongnu.org; Fri, 17 Oct 2014 04:57:53 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:38229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xf3M4-0001lC-ET for qemu-devel@nongnu.org; Fri, 17 Oct 2014 04:57:49 -0400 Message-ID: <5440D9F7.5070708@huawei.com> Date: Fri, 17 Oct 2014 16:57:27 +0800 From: Linhaifeng MIME-Version: 1.0 References: <1413534437-13516-1-git-send-email-haifeng.lin@huawei.com> <20141017083358.GB5874@redhat.com> In-Reply-To: <20141017083358.GB5874@redhat.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: mst@redhat.com, qemu-devel@nongnu.org, jerry.lilijun@huawei.com 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. -- Regards, Haifeng