From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id C58EF2BBD for ; Fri, 5 Oct 2018 14:32:26 +0200 (CEST) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20181005123225euoutp02b92cbb43d687fe7e380861c7621f2bef~atl-3596-0921909219euoutp02b for ; Fri, 5 Oct 2018 12:32:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20181005123225euoutp02b92cbb43d687fe7e380861c7621f2bef~atl-3596-0921909219euoutp02b DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1538742746; bh=54BR3cDbIjoIFMqLUbIxFOp1xumJp4yHs7vDOqcvdKM=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=LPmekyk8/5gypgii8vTfz9OVbe1PoaESRhNqk8LxzYZ14HJoYVLxxEDfGXV2FIUUb KqZXWkplsa3yZnST5r22vByMvQ0BhbslmYWg/M01zQXYcybMjwXP3QgjEiPhnqM2Mg LvpJ+Xdmq1/JrP8PTn3TNBUI0K3dfriul6qHB9f8= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20181005123225eucas1p1f0a0bfc17d3540f2027ded9856303ed8~atl-Q5lvI1465714657eucas1p10; Fri, 5 Oct 2018 12:32:25 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 6D.03.04441.8D957BB5; Fri, 5 Oct 2018 13:32:25 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20181005123224eucas1p2eac500e48f5bb87845f8ecd6b86ff2cb~atl_eKaQ32105521055eucas1p2t; Fri, 5 Oct 2018 12:32:24 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20181005123224eusmtrp2db8beeceed0e11034ceb6d12cc2247d8~atl_M4yWZ3198431984eusmtrp27; Fri, 5 Oct 2018 12:32:24 +0000 (GMT) X-AuditID: cbfec7f2-5e3ff70000001159-4f-5bb759d8fb14 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 88.AB.04128.8D957BB5; Fri, 5 Oct 2018 13:32:24 +0100 (BST) Received: from [106.109.129.180] (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20181005123223eusmtip2cca8459108d24a509ddfe7633746e68c~atl9gVvW_0427804278eusmtip2a; Fri, 5 Oct 2018 12:32:23 +0000 (GMT) To: Maxime Coquelin , dev@dpdk.org, tiwei.bie@intel.com, zhihong.wang@intel.com, jfreimann@redhat.com, nicknickolaev@gmail.com, bruce.richardson@intel.com, alejandro.lucero@netronome.com Cc: dgilbert@redhat.com, stable@dpdk.org From: Ilya Maximets Date: Fri, 5 Oct 2018 15:34:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181004081403.8039-14-maxime.coquelin@redhat.com> Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA02SbUhTYRTHee7utqt15XpneLSoWAYZuiUY3ELSQGT0yUAqG1QrL1PUabtq 2pd0iG9hmArTFanFNE2TzDZtJrpMU0lJVDS0FDV8SSvnS0vRnFfJb7/z///Pc86BhxDQbUJP IkqTwGo1qhipyBk3tdt7fYfDzcpTFcuI6Vksx5ihqkBmYdGMMbmmr2KmP9MuZnqqjTjTnt2E M91lgzizkbUuZt6kbmLM68/5WNA+xd9So1DRaBgVK541zWAK/f1xgeJn84BI8aC+CoWKrjoH RLAxUUmsVn7uhnNk29RDFN9CJ9dUzqJU1OmSg5wIoPwhq+OjMAc5EzT1HEFP4QTiiyUEDe9+ YI4UTdkQGFp9djtqcnZDFQgyJ+07xW8EI1aD0JGSUBdgtMAidhhu1AiCfmOfyGEIqBNQOzCJ HCyifKDrRds245QXGJrtuIMPUFegbaxsWycpV+gsntzWnagg2Fx+KuTfcQfdUuUOHwHz/GOB YxhQX8RgqZwQ8c1JUFX0B+f3DoZHq2NCniUw21Ev5vkQbDaWYDzfg2/pM4h/KAuB3rqxYwRC /VzPVgOxNc0bat/Kefk8FI5ZRA4ZKBcYmnfl93GBfJNewMskZGXQfNoL1lorBDx7wvCCTZyH pIY9Vxr2XGbYc5nh/9xShFchdzaRi1WznJ+GvSPjVLFcokYtuxUXW4e2/lb3RsdiA1ruu2lF FIGk+8npYyYlLVQlcSmxVgSEQOpGKi+ZlTQZoUq5y2rjrmsTY1jOig4SuNSdLH/ySklTalUC G82y8ax218UIJ89UVNiQJ08uMx5W49fINF2InBwomQr5hGyqcN+L/uHVc/6B6dnBdZLAwunk 299bBjrVRavRAZfJlx4LZ3PtOr2HrNpmG1e71K2/P35sPH9qqHdZMh6R4U37FMwTv5RhLd6h eplusHjFeNqmDbLUYke7znyYTdusXgkrKhoKXeOkOBep8jsp0HKqfyDBSfhXAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGIsWRmVeSWpSXmKPExsVy+t/xe7o3IrdHGyxZw2Zx7tMyJosbq+wt 3n3azmTRu+0eu8WV9p/sFufWLGWxONa5h8Xi9MJrLBb/Ov6wW2xt+M9ksfniJCYHbo9fC5ay euycdZfdY/Gel0we07sfMnu833eVzaNvyyrGALYoPZui/NKSVIWM/OISW6VoQwsjPUNLCz0j E0s9Q2PzWCsjUyV9O5uU1JzMstQifbsEvYwjTycyFhwQqli78hVjA+NJvi5GTg4JAROJtV2P GbsYuTiEBJYyStz6tIQJIiEl8ePXBVYIW1jiz7UuNhBbSOA9o8Txr3UgtrCAl8TdybvZQZpF BO4wSmyZdYYRJMEsoCGx/uoTqKknGCUavn8H62YT0JE4tfoIUIKDg1fATuLP7HyQMIuAisSs fT9ZQGxRgQiJ1ctfgC3mFRCUODnzCVicU8BB4v/XRawQ89Ul/sy7xAxhi0s0fVkJFZeX2P52 DvMERqFZSNpnIWmZhaRlFpKWBYwsqxhFUkuLc9Nzi430ihNzi0vz0vWS83M3MQLjdNuxn1t2 MHa9Cz7EKMDBqMTDO0FxW7QQa2JZcWXuIUYJDmYlEd7osO3RQrwpiZVVqUX58UWlOanFhxhN gZ6byCwlmpwPTCF5JfGGpobmFpaG5sbmxmYWSuK85w0qo4QE0hNLUrNTUwtSi2D6mDg4pRoY RSy4Twq+XSpp/0OuqipCfc8fpea13Hd+2E+2ZTPZxy3MEMkicom11m8S95Ywu/tvv5+7kOh8 pqpzL+N0U4ljzwSSuxLlNR+V71WfsaH21hmTYtc55puSIrneLs2Q/Bv80O/Ra+8LdRKP1vm+ //HYLvOZga13rdnpP/MFXi7WCv7PUjrZwUVKiaU4I9FQi7moOBEAj3gtfekCAAA= Message-Id: <20181005123224eucas1p2eac500e48f5bb87845f8ecd6b86ff2cb~atl_eKaQ32105521055eucas1p2t@eucas1p2.samsung.com> X-CMS-MailID: 20181005123224eucas1p2eac500e48f5bb87845f8ecd6b86ff2cb X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20181004081550epcas2p1f6d67892c894d5339798a943b72b8d44 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181004081550epcas2p1f6d67892c894d5339798a943b72b8d44 References: <20181004081403.8039-1-maxime.coquelin@redhat.com> <20181004081403.8039-14-maxime.coquelin@redhat.com> Subject: Re: [dpdk-stable] [PATCH v3 13/19] vhost: register new regions with userfaultfd X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Oct 2018 12:32:26 -0000 On 04.10.2018 11:13, Maxime Coquelin wrote: > Signed-off-by: Dr. David Alan Gilbert > Signed-off-by: Maxime Coquelin > --- > lib/librte_vhost/vhost_user.c | 33 ++++++++++++++++++++++++++++++++- > 1 file changed, 32 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c > index ffb3ea60a..d61be2da6 100644 > --- a/lib/librte_vhost/vhost_user.c > +++ b/lib/librte_vhost/vhost_user.c > @@ -968,6 +968,32 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct VhostUserMsg *msg, > mmap_size, > alignment, > mmap_offset); > + > + if (dev->postcopy_listening) { > +#ifdef RTE_LIBRTE_VHOST_POSTCOPY > + struct uffdio_register reg_struct; > + > + reg_struct.range.start = (uint64_t)(uintptr_t)mmap_addr; > + reg_struct.range.len = mmap_size; > + reg_struct.mode = UFFDIO_REGISTER_MODE_MISSING; > + > + if (ioctl(dev->postcopy_ufd, UFFDIO_REGISTER, > + ®_struct)) { > + RTE_LOG(ERR, VHOST_CONFIG, > + "Failed to register ufd for region %d: (ufd = %d) %s\n", > + i, dev->postcopy_ufd, > + strerror(errno)); > + goto err_ufd; > + } > + RTE_LOG(INFO, VHOST_CONFIG, > + "\t userfaultfd registered for range : %llx - %llx\n", > + reg_struct.range.start, > + reg_struct.range.start + > + reg_struct.range.len - 1); > +#else > + goto err_ufd; > +#endif > + } > } > > for (i = 0; i < dev->nr_vring; i++) { > @@ -983,7 +1009,7 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct VhostUserMsg *msg, > > dev = translate_ring_addresses(dev, i); > if (!dev) > - goto err_mmap; > + goto err_ufd; > > > *pdev = dev; > @@ -994,6 +1020,11 @@ vhost_user_set_mem_table(struct virtio_net **pdev, struct VhostUserMsg *msg, > > return VH_RESULT_OK; > > +err_ufd: > + if (dev->postcopy_ufd >= 0) { > + close(dev->postcopy_ufd); > + dev->postcopy_ufd = -1; > + } It's unclear why we need to close postcopy_ufd here because this handler doesn't allocate it and postcopy_ufd should exist before calling this function. So, IMHO, we need to close it in all the VH_RESULT_ERR cases or leave it for later vhost_backend_cleanup(). > err_mmap: > free_mem_region(dev); > rte_free(dev->mem); >