From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1830D42A69; Fri, 5 May 2023 07:07:56 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A41A42D30; Fri, 5 May 2023 07:07:55 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id A190D40ED7 for ; Fri, 5 May 2023 07:07:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1683263273; x=1714799273; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=/X0/gpKzBAzL6n7Adw9GgVEwQYPB9ZerhLYaJU6LhcU=; b=n8a6yaFO6pyg9aDdpx9J+LEgru4XWgqKxPi8bT7kKajEdcQHUzKua/DB CGVzoYDB4jNRM6M0sJmdmqQ48GUcgwspVtOEP7xUyRb8WHxwUdmjuPRjN IN5Uw6O7D9Jo3SQzVj60JCS+Qg+iB2H14OnkVYeIFLWtMTwarZmwgbJzF NwggLEIdVNFNWN0BkNWAw0sN/U4Ww8qdtvxEL3veiZMPsQUOa8XJPYnAM UwhUzqxSyCLdyzTOtaZAhpqUUyuDQe13sSwyQz2p3ugtcMZk4TJYo4wT/ 1OZyU23EipYW43Sat7FDm+lc4UnPtbsvlWyAohxYrMasKvEmhvdglbtMq Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="352164642" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="352164642" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2023 22:07:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="1027276346" X-IronPort-AV: E=Sophos;i="5.99,250,1677571200"; d="scan'208";a="1027276346" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga005.fm.intel.com with ESMTP; 04 May 2023 22:07:40 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 22:07:40 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Thu, 4 May 2023 22:07:40 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Thu, 4 May 2023 22:07:40 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Thu, 4 May 2023 22:07:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g4/QA2IjV5uI5UK0Ph4F9j37VyteSs9dvSNRZ1pWo+ZhzqfKpy2lN4uI5LCRnlmjm0MW31V8Pv8l8fCtnn+1KXfeQ5UwuSO0nhczq5GPyn4Rw4EN4uc/X9dVtfarw4JQP5G35VYxAsX6ouf/kgMUx5WXRgHiHaeS0hpGz2/sj2Ef/FtZUOA8A0MNtCZ9eOdN38NHr0XknvhAYEPcbwG5EobMzcx+rv1cNL+YwPipTy8e3/7PBfuu04Y7ych3P1ShFyVMMYGQiFEMQfZjiiaKQLeHsdkY5/RL4wagTw5RBYsGVp+vlKvH8I0crE9Nv3rUZ4w5IlhOBBT3p2fspddB5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=TIhcEdlHLORYuNTKWRCpLod5EzKHImmIKdTO4fPuM7k=; b=C50PS7Fp/Pevyy7/jNq/jdFtSpSC09GDtIEOL4gFcA9Zn+QfaZhqALWZARSjq0wdhLSnQhqoZUlT0ot4/kny1asWCjAG16QQRnPhT49rDknHXSRtU4eIXlVimzQPzSaQuSj9yq44lZXPuZdgUIi2IQl3Kze+w7Llj+Zph8wT08ZeVGeJPYMI2eB2uScyvdXgzx8+HqzP7DV2n8LB+NgmgW8Ur5AgZTrV61UeKs/Puj4XwL4pi66gzzXerVohgUQjrKl5kNVeEPky+TVJbWA5Npqeq7KxSHOGSq9Rvpf+KAH8e6axLXl5PFDRvYCRjK1WFDVXlQpKkKgIKNjSoy7H8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by IA1PR11MB6444.namprd11.prod.outlook.com (2603:10b6:208:3a7::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.22; Fri, 5 May 2023 05:07:35 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::5797:849:7a10:560d]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::5797:849:7a10:560d%6]) with mapi id 15.20.6363.022; Fri, 5 May 2023 05:07:35 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "david.marchand@redhat.com" , "mkp@redhat.com" , "fbl@redhat.com" , "jasowang@redhat.com" , "Liang, Cunming" , "Xie, Yongji" , "echaudro@redhat.com" , "eperezma@redhat.com" , "amorenoz@redhat.com" Subject: RE: [RFC 12/27] vhost: add IOTLB cache entry removal callback Thread-Topic: [RFC 12/27] vhost: add IOTLB cache entry removal callback Thread-Index: AQHZY+eUbGuzedCSXkGt/a7KNkhunK9LLv7w Date: Fri, 5 May 2023 05:07:35 +0000 Message-ID: References: <20230331154259.1447831-1-maxime.coquelin@redhat.com> <20230331154259.1447831-13-maxime.coquelin@redhat.com> In-Reply-To: <20230331154259.1447831-13-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|IA1PR11MB6444:EE_ x-ms-office365-filtering-correlation-id: 02e60ba7-3b01-47a3-9ac9-08db4d26a3c5 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: i4afAKGJFrFhqoH2t64XbjcTcli6i2GtFmKR/09FuxoKmKsA4a7XZjB4nn2blYketgC/RmTQR4aC8QUliyNCuQJpr5vqCKoOa7Za8f92A5CFiOvkZC2UGPDQTHv5ZuCUQ49ZvkakHXNuFHlqf3b6QMQ5S9l1UdX+o4j31SoeKlb6wVkusE2a39hCd2YEkq7Yd4XypwEqX6aKmxwZVln5o2Xx6D50VXC/ydSsRwYiJ09B5w2S+liWTGRFYVlPFTZUf7cxDrEU1ASmfImtf4U+wYPxguJAktvZf8jwo5Tiv2INk+bN1EJv6vJwTCTrvGn42eFaoqa6j4z2PS7CZ+xKLzAb4v0I7wcOIoCafq+MlV5QvRep8z/0pmx+grX1ogCJK8M5F2Z6+NNi6ioSIXO30r5umKPUarKopzTpxJ6dI680GDrGPuAaaHJP+8ADf5TNdOC2bxBmZXvmSUDC1fecBzRRlY3BY8TEOKO+4d/5zrf+awZrTisOJ/pGSUiTzEZ5ruIkZkTzPK61BijwRHDT1SwT5ZdJp1Q+TCvitDO5Gpq3QBZJQNfLBcsFao+0AEikyQJkLvACBQMloiPZ4i8BKf0I8IPTxSIHPUTuZqMUUr/x2ZHkr2Wx9dp9bGfFd5MpvnU/Og4ntMpoLQVwvJw5Qw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(39860400002)(396003)(376002)(366004)(346002)(451199021)(921005)(55016003)(8676002)(26005)(6506007)(9686003)(8936002)(7416002)(53546011)(52536014)(76116006)(316002)(66556008)(110136005)(66476007)(66946007)(64756008)(66446008)(71200400001)(41300700001)(478600001)(5660300002)(7696005)(122000001)(33656002)(38100700002)(82960400001)(86362001)(38070700005)(186003)(2906002)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?jwkT+GDW+yVMpZDO8fMJk2ThuaqY3dEC5m8tbdghnHFAmK/96Q24aSf6EGn2?= =?us-ascii?Q?z00SS7A0SxaYPgOrA0IudVmz2y4X+TaXODBTd+dQoT0dIlSWz8YMI598sCgI?= =?us-ascii?Q?6I7/VhKKVemGyump/DfQQyI5EKpon3FnDRXvgWifQYXGcNMnPu3fDoKpEK9Q?= =?us-ascii?Q?S/fuLQfj+13ljpQRjg+p72nO7uLlUePY9YexsvmufIEJQ6pOCMqlWy6sFRAn?= =?us-ascii?Q?VSxi/Rlmq+uumSOdQbE20iL+//wlbmAKnB3ARIYLozVZ1210qKfFMlKB7CYC?= =?us-ascii?Q?5w0lQOosA7I9SsNoia+ylmXdJSGuozJWRWPCeqDEoQlYS/IJpZG58hpQqpIc?= =?us-ascii?Q?FARjdUEoLNAyxxG4nqA3xMd/2srDHsV5+F6N/vHdDNB6oNs+YEbGv6nAv5oX?= =?us-ascii?Q?P2aM+vCmrBgsfDRWmdgM0S34PB23XVEJlRXvUaXK3kB/GMp6ab2cUkhvoubS?= =?us-ascii?Q?auTM9Y02zY99gM+OkLiPtFoYw5wNNn7HxmpeGg/CAmIhPdptBta6tzybiL0P?= =?us-ascii?Q?oWjQKDKOZsoEVsv1qsvht2LxP5UTfDn40qdkBFT6O33F9rGC1vhbCmXcn18u?= =?us-ascii?Q?ps0D6wkXJthaPZ5o2ofGNZD8g01gvHhfbcvCpmO7epBZjTc5uXNETUHFhLXV?= =?us-ascii?Q?l+lA+6h8iN8JhLndrbDJ6ZbFqlSKo8G5An0kSDPFICH2RgIqtZBwiHsGd9/f?= =?us-ascii?Q?EmxzilcN2e17UYWg7cCrjkQOyj/6q/TbFq8PvXDkOzUj5ToMz3hd11Do4Ugz?= =?us-ascii?Q?aY8GJW5m/TSfrKaAPhe+A20Ah/J7HTXlROsLou70bLeOkTOz3rxvUoAGyIgN?= =?us-ascii?Q?a2IEi0UIO9VyRrIe33ed0fh1P/tDaW4uyEerNzH5wyrjXgciKONjDcn8vBTo?= =?us-ascii?Q?0re5PqXUtcJiOWa8iLCjB9iJsRGMP2yDEXkZ6LwjFHvyZzpXorcsubFTUOMf?= =?us-ascii?Q?FrsoyXfp6yWrZ9FJHhOKTJusDft8L+ErNadKXeOPb2tIwmJy6lrzJUZZQ0XU?= =?us-ascii?Q?Qa/DWnWJwGJRK6WvTo18laTVhIsq+OslqEvSecOEAyC2wtL/unkyLI75tMCp?= =?us-ascii?Q?L7q2x+ygrDl1LF97lIPO0MkxKaK5ff+1EcXmZ4VnsHabJpLuazQjIygzXkBJ?= =?us-ascii?Q?VnNNvVDqi211ccfIzeJsNToTJ6HeQ8yBJfsQi64A1H+p4JpkJSoMHK4yf4tq?= =?us-ascii?Q?dXmq+/4L269SHVUoAszkaLO76686UF3I4RslHQoyMxbRgtHQopNZMEzR340p?= =?us-ascii?Q?ripjIWvAE44MeKXC8uB40YKIozRjrAI8eZhey89NBMypsoW1Tfz1K3wvcPtJ?= =?us-ascii?Q?qXMweWof4riBJCv0qTf31IhV8oVMLySWsyqg8Y1p5QzeyIB3IQa4CwJvkczw?= =?us-ascii?Q?LXVf4XJpXC97eK0Nj6sS0ecswekBtP9OrXnWgwzoVtXiWuRm9R9Us/1PkXvW?= =?us-ascii?Q?heQmzVTQs/cfY28XdjFrXUO7IR5G+9iAV6LF0DAt1XujEd0xVip2Z6sxJyq5?= =?us-ascii?Q?FCFTOjeakyoRtNdr37yPaKMYTLL4M/TTInstEBjZTpDeRVU8fE/j+aOCFMyM?= =?us-ascii?Q?G5T370Syaa2SzVMmNoSO1JnoHdjt0LxLX8m2ALPY?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02e60ba7-3b01-47a3-9ac9-08db4d26a3c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 May 2023 05:07:35.4401 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YFQPe6wzE5WLfOuInqesNz+7HrbMN+Wfb9IpcjmS+UWEbJGqlMEFZUmL+mDbudZrDXSxXaK12jFVoS1EDKGD8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB6444 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Hi Maxime, > -----Original Message----- > From: Maxime Coquelin > Sent: Friday, March 31, 2023 11:43 PM > To: dev@dpdk.org; david.marchand@redhat.com; Xia, Chenbo > ; mkp@redhat.com; fbl@redhat.com; > jasowang@redhat.com; Liang, Cunming ; Xie, Yongj= i > ; echaudro@redhat.com; eperezma@redhat.com; > amorenoz@redhat.com > Cc: Maxime Coquelin > Subject: [RFC 12/27] vhost: add IOTLB cache entry removal callback >=20 > VDUSE will need to munmap() the IOTLB entry on removal > from the cache, as it performs mmap() before insertion. >=20 > This patch introduces a callback that VDUSE layer will > implement to achieve this. >=20 > Signed-off-by: Maxime Coquelin > --- > lib/vhost/iotlb.c | 12 ++++++++++++ > lib/vhost/vhost.h | 4 ++++ > 2 files changed, 16 insertions(+) >=20 > diff --git a/lib/vhost/iotlb.c b/lib/vhost/iotlb.c > index 188dfb8e38..86b0be62b4 100644 > --- a/lib/vhost/iotlb.c > +++ b/lib/vhost/iotlb.c > @@ -25,6 +25,15 @@ struct vhost_iotlb_entry { >=20 > #define IOTLB_CACHE_SIZE 2048 >=20 > +static void > +vhost_user_iotlb_remove_notify(struct virtio_net *dev, struct > vhost_iotlb_entry *entry) > +{ > + if (dev->backend_ops->iotlb_remove_notify =3D=3D NULL) > + return; > + > + dev->backend_ops->iotlb_remove_notify(entry->uaddr, entry->uoffset, > entry->size); > +} > + > static bool > vhost_user_iotlb_share_page(struct vhost_iotlb_entry *a, struct > vhost_iotlb_entry *b) > { > @@ -198,6 +207,7 @@ vhost_user_iotlb_cache_remove_all(struct virtio_net > *dev) > vhost_user_iotlb_set_dump(node); >=20 > TAILQ_REMOVE(&dev->iotlb_list, node, next); > + vhost_user_iotlb_remove_notify(dev, node); > vhost_user_iotlb_pool_put(dev, node); > } >=20 > @@ -223,6 +233,7 @@ vhost_user_iotlb_cache_random_evict(struct virtio_net > *dev) > vhost_user_iotlb_clear_dump(node, prev_node, next_node); >=20 > TAILQ_REMOVE(&dev->iotlb_list, node, next); > + vhost_user_iotlb_remove_notify(dev, node); > vhost_user_iotlb_pool_put(dev, node); > dev->iotlb_cache_nr--; > break; > @@ -314,6 +325,7 @@ vhost_user_iotlb_cache_remove(struct virtio_net *dev, > uint64_t iova, uint64_t si > vhost_user_iotlb_clear_dump(node, prev_node, next_node); >=20 > TAILQ_REMOVE(&dev->iotlb_list, node, next); > + vhost_user_iotlb_remove_notify(dev, node); > vhost_user_iotlb_pool_put(dev, node); > dev->iotlb_cache_nr--; > } else { > diff --git a/lib/vhost/vhost.h b/lib/vhost/vhost.h > index cc5c707205..2ad26f6951 100644 > --- a/lib/vhost/vhost.h > +++ b/lib/vhost/vhost.h > @@ -89,10 +89,14 @@ > for (iter =3D val; iter < num; iter++) > #endif >=20 > +struct virtio_net; Adding this in patch 13 could be better since this patch is not using it. Thanks, Chenbo > +typedef void (*vhost_iotlb_remove_notify)(uint64_t addr, uint64_t off, > uint64_t size); > + > /** > * Structure that contains backend-specific ops. > */ > struct vhost_backend_ops { > + vhost_iotlb_remove_notify iotlb_remove_notify; > }; >=20 > /** > -- > 2.39.2