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 29C9F429D0; Mon, 24 Apr 2023 04:59:41 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1A577410EC; Mon, 24 Apr 2023 04:59:41 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 06704410DE for ; Mon, 24 Apr 2023 04:59:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1682305179; x=1713841179; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=uSSae1gVFodQaxEYnSuCtACep/hIcsVIhZZnHKOuxxk=; b=ZrW2ASfOS93bvyRYufbxt35IIwkNhFgcR4fsEuzUJUgz4Qox2vN51yzJ GnmFQ0ADss+xzjnFDxzmsDnTQ5owcDayf81dt09HFBTdzWMpYoP0PfKTC zNjiTgYi+Un5hVlHWeO0qAV+Y9jHhQ1Jp7NmxwUSwJZcKH1w0ZMCGQQOd 8XdhXiGaFFo1pbOJfC4bukniqesMzazor+9CfSW60T+0yBKW25x86feMT 3TGJJOngubiemrPlo2fr0x/H4q9LMNuvp+Vf5wblFK0UIUe59TRnX8Xp1 zc9T5CdmkkHrwJjYrExDTDBWNZ5E3GJBWoQdKgaus/hMeTydV/yTxiqyW w==; X-IronPort-AV: E=McAfee;i="6600,9927,10689"; a="348256120" X-IronPort-AV: E=Sophos;i="5.99,221,1677571200"; d="scan'208";a="348256120" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Apr 2023 19:59:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10689"; a="723427719" X-IronPort-AV: E=Sophos;i="5.99,221,1677571200"; d="scan'208";a="723427719" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga008.jf.intel.com with ESMTP; 23 Apr 2023 19:59:37 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) 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; Sun, 23 Apr 2023 19:59:37 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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; Sun, 23 Apr 2023 19:59:37 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Sun, 23 Apr 2023 19:59:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tbo1cYrZCMnq0pQS6juUIX+6u4fzyx1IG8jiv2mMsQ1yfOsiKphCS1MkY8RD5TVi/IJpsNBYTMBJlk/7PR669eQQk63gTd0XRaRKhthrMXUE+NeTS5WvlZu5PzCQtMC5MmKtNTo9RJP6wxRqpBK+D23is0XQFcGzrzVQofuKgdJV/ie3/e0ZKyk5uz/J3iYO9E0gEWPnHiqUfOy81fQbcHI/72iKnA8g+iENalj0GZdoDtz+Y+ECGWDMfQ2x+JDvdM2nDzqsJuYJpmAs0CApVqMJHrMP/RWlvZq2PDa4MWkriXllpqarG9dR+BY/i2s0u2MIAME+mMOJBJPl8cOC0A== 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=Ck0Hb+IjwR8Pka24XKWHfI7sRims4iriLUpKYTxastk=; b=Wi/5WGI6Ts9rHxXEjpyQzDhCI6rIZS3fKpH5XoyhjYeqnbVKJdzaXmYl1SW/0lDU6AIJ+UTOhlQ9CGL5sBPRdmfGV2btn2p5eSsknbggI2AmRvyWH0c1pRMBtDkVIJSaGyRORwxnmlQSHdntlD49BePQCefOIwQPNDYNsbS2EaAL14mHznlusolNBxij2q3GD+3BjDu8k2areE/n1vChJQCIF3CGoCSKKh9G+/zNF9UmdCYmnn412KDx7KAmLpG9t+irwCl39X7Xx7KujJrNBVOHaF58n1gHoBHPTiCpTUTtsg67rjzQxySenpph6Q3KYWXIkxJZkG7mpW0kIuHk5g== 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 PH0PR11MB5143.namprd11.prod.outlook.com (2603:10b6:510:3f::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.32; Mon, 24 Apr 2023 02:59:35 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2d7a:a878:7bed:bb11]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::2d7a:a878:7bed:bb11%4]) with mapi id 15.20.6319.032; Mon, 24 Apr 2023 02:59: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 05/27] vhost: add helper for IOTLB entries shared page check Thread-Topic: [RFC 05/27] vhost: add helper for IOTLB entries shared page check Thread-Index: AQHZY+eXcXRCW394LUOcjp/EFdd3Kq856bmw Date: Mon, 24 Apr 2023 02:59:35 +0000 Message-ID: References: <20230331154259.1447831-1-maxime.coquelin@redhat.com> <20230331154259.1447831-6-maxime.coquelin@redhat.com> In-Reply-To: <20230331154259.1447831-6-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_|PH0PR11MB5143:EE_ x-ms-office365-filtering-correlation-id: 4697b679-ab7e-4a62-d1d2-08db446fefc8 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: FoX6VIPaMixbuyNdlAfy6qGjvnXdqKEO2QVv6dvBdGXfuEoSiN2TFe2igNGB58p9GRBJPyI9KxrQkpkFnIfowdxM9Ro473RXUoWM18qTTZPRCUdpeYVqLHNBODavgarz1Rsuvw1dqA6GxirwX8/5CfA/Up46sBR9NqIRjIB5n6AulfmWCQQs3ZmOoxmszrd02yUpzTMzJkJaIH1hwtaioKO+Y23Zf2NyzjbwHD/SnFg3i4DU22XdV70ac35hd5O8LMJaKsgL3DAijU7QjYOaXS2XFXS6u0q1FHFjuk0gSyPmirknurJ/UF0+M1vUF2GnZAu/8ndg1hbmLD9CCdfImrjc+QPFK3R6JhJDDE29AXTcZp+Q7kT94ZoA7H9M7+NchzrWckb1EOytX496XE7xN4mhuOUGKNrVo1hJFmffuXEMSJbdplzTUdoIOSLF1LGp50yowu65mJAHIlh2NNWpUu8dWCr+Msl8w66xt+rqdYIxcjLtVfQGdoQ2Za0fCY+nmrhhU4J6YplxhI4vJITshMwYgf18AKrk6rhjhBxfCoNR8ztdJBSn57Z4yatiTUlBiBdjTEwnxrAIWbK8H6vxshKylpcdGs8rUC6/TFs89jYEUCsqLz8zo+ILu8sHtdR9tJtRCum8kFcUJBD+VxB6QQ== 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)(376002)(346002)(366004)(39860400002)(136003)(396003)(451199021)(38100700002)(122000001)(921005)(82960400001)(9686003)(53546011)(83380400001)(6506007)(26005)(55016003)(186003)(33656002)(7416002)(2906002)(8676002)(8936002)(52536014)(5660300002)(7696005)(478600001)(71200400001)(38070700005)(110136005)(316002)(66446008)(66556008)(76116006)(64756008)(41300700001)(66946007)(86362001)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?XjFmjN8v1XaPYtaGRBdVaHNuMcnAa2jwISETvm2nClfS+qxm48QxvYIWYsOl?= =?us-ascii?Q?mpwrfSSZoRyN3wUGQEukCfeniKWgw9BXnA+Bp85kO+NBkCITwnWJK/5njIp+?= =?us-ascii?Q?OzzOInxrELbtgkTew7425n3w2lzg+O+UcQJ1VSJGgzWEv8FZk6skDUZEvON8?= =?us-ascii?Q?mQLQg8gy0sWCoQRNTn5w5UoPXesUnJTNtu+1N6ZO9CUtSIPVXaEepWe5zq4w?= =?us-ascii?Q?kdoDOxfv8GnHUT/xoxEah6wzsYvDBjWhR/aKHAlckwkZTNRGXcBoMSwwZTr6?= =?us-ascii?Q?r4GVMifZf/4zUBuVpGYeIN/ZTq7Zyy6FE1QaMINWP6GT9B6XvLfaNPYpZcy9?= =?us-ascii?Q?6DQL1p1WFpb/YDPQjMEUpo9yv950SM76WnDfkNa0HAYmS3zsjWRQTzarwJIY?= =?us-ascii?Q?WGW30uFQffdcd3soqAlrJW0ovHcftlyai9ufIs4+HWkbQQuGbJweX9XCLZOs?= =?us-ascii?Q?dKS1MPVkQefTT0ITn48Xeq1UApdojCGD5256xmtcrRkRa7zh3HBgte02ctQ7?= =?us-ascii?Q?yqmcCjla+orZDv+r5dBNYZnoqSHdmgNkiTYYFMoUoQn1hPCa40+i81Gea0JL?= =?us-ascii?Q?4Jzm90fDvzx7LgVyxxDNPfpxJyOuhRGwuyMrLWE+k1kyoQjJdKKzJ0pkPvfT?= =?us-ascii?Q?vvsZfFbpaYucH+CiuJsURCMbE2AaO/mPUg1vZoa1UCbIB6e1z9Yv4l30CgWZ?= =?us-ascii?Q?bJ8WWMYqkLresesoWAp6QsSE9FGoX+kTEQb5+DkDP9EYsJtANS6qX1v5kHi8?= =?us-ascii?Q?GW2bkFW8sCmvCcegIrf+ogjwT+lqPYTXgfXp3jbx0/oqJ+PZ2S+/vG/g2OCU?= =?us-ascii?Q?JzOerzB0Rl9/GfxcTOh5BNwnAADAlP4mz+uGif34Uyg0oNr4+QeaF96YJVpw?= =?us-ascii?Q?BGNJIxKxGf2PRKxVxYZSG3DH87NJN6e+9Gexpxc0tTwG4WT7C+N5N2sNmo9t?= =?us-ascii?Q?0gVRbVynwsbrGY/bbdWfXct8i3QSfgvFeybpQ6va2RaCvdHHmVM/oxFHP010?= =?us-ascii?Q?iFD25wStUuRTw40ta91iZ3H8I72xuSgamQltwg+Fk/UmeqW35ktBqJSmJGw5?= =?us-ascii?Q?GXVK4ylwEw7lU9GE9SyItCKc1RGzuHRVt1gt5GiC5E2NUjTmnPK7c9813Hxd?= =?us-ascii?Q?4BsqYdfU/t2d8y/lRsZaVHm9cDbVtMgoLSonzGcHS40CsQ8EvdKebRLh9/E+?= =?us-ascii?Q?1LHJW8RnlgPWDU6LkNb0JOCqeTTsiyuz9Kw1oC3MgJaDA8hbvefBG6qQs5sZ?= =?us-ascii?Q?4YMPfATiZlpCYhyrVk06SoFkx3hk5kmoogZicd3r5mnAhVGap0HjlXAO+YS8?= =?us-ascii?Q?5sAPWY02C/3DVQEg2Wrsa2USfaGR+2Qjo6SGLj+rDZu78y/fz9PbX8IH7cN1?= =?us-ascii?Q?b7DezPlesoUR+7BK5mY30cP8wLzYyWdiEwl0hYL82EFkXvyb6C6zt0aAdMyy?= =?us-ascii?Q?bAZ5kCoT90Cgkv2zRjO0w6SUlo768tX2nDKOqhJQsa1ftRNwmCKl9uuZGiK+?= =?us-ascii?Q?gmPgPuPyLdo9jZIlBerg+gN7hh18ZiV2Fzq7e1HdrjDvWn56Smej0XjZA9dN?= =?us-ascii?Q?jjwsKVPcB0FIUuS3QMDEQSIITjoxr/YkV6a3QJUt?= 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: 4697b679-ab7e-4a62-d1d2-08db446fefc8 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Apr 2023 02:59:35.7473 (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: 32pFkDnYZhlUznh35x7hmNaKWEbUAKnuC9GmQgFN9VDN2f/uN4Nn9sypt2hmcrEuwFldiY48hPVl+v0c0xgtjQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5143 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 > -----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 05/27] vhost: add helper for IOTLB entries shared page chec= k >=20 > This patch introduces a helper to check whether two IOTLB > entries share a page. >=20 > Signed-off-by: Maxime Coquelin > --- > lib/vhost/iotlb.c | 25 ++++++++++++++++++++----- > 1 file changed, 20 insertions(+), 5 deletions(-) >=20 > diff --git a/lib/vhost/iotlb.c b/lib/vhost/iotlb.c > index e8f1cb661e..d919f74704 100644 > --- a/lib/vhost/iotlb.c > +++ b/lib/vhost/iotlb.c > @@ -23,6 +23,23 @@ struct vhost_iotlb_entry { >=20 > #define IOTLB_CACHE_SIZE 2048 >=20 > +static bool > +vhost_user_iotlb_share_page(struct vhost_iotlb_entry *a, struct > vhost_iotlb_entry *b, > + uint64_t align) > +{ > + uint64_t a_end, b_start; > + > + if (a =3D=3D NULL || b =3D=3D NULL) > + return false; > + > + /* Assumes entry a lower than entry b */ > + RTE_ASSERT(a->uaddr < b->uaddr); > + a_end =3D RTE_ALIGN_CEIL(a->uaddr + a->size, align); > + b_start =3D RTE_ALIGN_FLOOR(b->uaddr, align); > + > + return a_end > b_start; > +} > + > static void > vhost_user_iotlb_set_dump(struct virtio_net *dev, struct > vhost_iotlb_entry *node) > { > @@ -37,16 +54,14 @@ static void > vhost_user_iotlb_clear_dump(struct virtio_net *dev, struct > vhost_iotlb_entry *node, > struct vhost_iotlb_entry *prev, struct vhost_iotlb_entry *next) > { > - uint64_t align, mask; > + uint64_t align; >=20 > align =3D hua_to_alignment(dev->mem, (void *)(uintptr_t)node->uaddr); > - mask =3D ~(align - 1); >=20 > /* Don't disable coredump if the previous node is in the same page > */ > - if (prev =3D=3D NULL || (node->uaddr & mask) !=3D ((prev->uaddr + prev- > >size - 1) & mask)) { > + if (!vhost_user_iotlb_share_page(prev, node, align)) { > /* Don't disable coredump if the next node is in the same page > */ > - if (next =3D=3D NULL || > - ((node->uaddr + node->size - 1) & mask) !=3D (next- > >uaddr & mask)) > + if (!vhost_user_iotlb_share_page(node, next, align)) > mem_set_dump((void *)(uintptr_t)node->uaddr, node->size, > false, align); > } > } > -- > 2.39.2 Reviewed-by: Chenbo Xia =20