From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 07A36A09FF; Tue, 5 Jan 2021 02:51:53 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 98AE516075A; Tue, 5 Jan 2021 02:51:53 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id 23D9216074F for ; Tue, 5 Jan 2021 02:51:51 +0100 (CET) IronPort-SDR: A/pbxytIEAuE7rVN+6VKXtcTE95PY5easEyJKAiDOozbuBP18jE5kiYW10SaKjsVRh6/zNmuMD R6ccyRhk56rA== X-IronPort-AV: E=McAfee;i="6000,8403,9854"; a="164107984" X-IronPort-AV: E=Sophos;i="5.78,475,1599548400"; d="scan'208";a="164107984" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2021 17:51:50 -0800 IronPort-SDR: DMsUsgfJWLkBsVSdJ/w1m5bBejwPo/Mfbfu7jDzpTEFtM1G8XgU0XCjC1LiO42V4EZxtLeNfNY 2FZXBd/Arpdg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,475,1599548400"; d="scan'208";a="496609562" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga004.jf.intel.com with ESMTP; 04 Jan 2021 17:51:50 -0800 Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 4 Jan 2021 17:51:49 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 4 Jan 2021 17:51:49 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Mon, 4 Jan 2021 17:51:49 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kHDX728VCXzsv7uOtHQ/4MGFSwDJlfcADSHi9ql2sBUJVfAJMBY48tNE1AUd7wkxjBks1LFhmPIU2xneVJs2O5+lvSwRaLN9+IuK/Pzdrgeyp66qcaGEr1xFkmBlmaPi8xzwMT31xFepCvpaAcW9VEfsYP7Rhj1cYfiUaI2k90D1F+UCJgsq0sncEywLxBngBq6TD7GlfdtaYOP8lgqvrdBAXaVZRbnv4422xvFW+fTpK852FWSRZHcz3+TVsnQvL0lCmJmT7VqFR/1Pl+1NFy0/gF/eJzxzXhgVP1SWa6/BDy07xgamCy7c2tnKrTfNsHwtjE5TT2XRnB/zp//iEA== 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-SenderADCheck; bh=M1Q0sEmnMX8LWYenhPUq5IPPPyH7SPmGiiqLOgekZds=; b=baVx8p2FQJbqUuVC1HLY4QF0UlbTsTyuzsl7VkBdDkf0isse55+2ku32SEQEXsLNWw02hdu8RnG9BKEJkn8MFtAalwCmVlgME68EyusKtoXdGtOkB+qWVo96x6tRXt8ZA8u3MBeQZWdPnlmlq/mUZ4aWjlUneHKJXIgaAQ+tEYLwuoc58z08u4FGVoveji3eDrOackQl8KzcBF3xPy7K4beOERTMSdhaWpcaTMlb11uTav3xT4pADdSita4GGQV8+Rzs0xX8OuZlzYqERS3nIIlZ7SrGPakLJQ6jMfz2JXDvnmckeKiLCwBn5n5og8onOESCUKK6ADLF29ns8m4DwA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=M1Q0sEmnMX8LWYenhPUq5IPPPyH7SPmGiiqLOgekZds=; b=eivZ+Kil7bGfKjydiFjJz83aIrp1fLXO+ctPtvZZI9U6Y9PTj5Xk1aj32zeJF0Mb1bYY78q2UvJrHK521+YEgtHmJRaT53KzD6JNPQ67VIlMSDqnvXnbkBIB98kMXkSULTBpxUFIOiZ/L76PXpJAecpTI7xViH4pCMF0yEfMQC8= Received: from SJ0PR11MB5006.namprd11.prod.outlook.com (2603:10b6:a03:2db::22) by BYAPR11MB3189.namprd11.prod.outlook.com (2603:10b6:a03:7c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.20; Tue, 5 Jan 2021 01:51:47 +0000 Received: from SJ0PR11MB5006.namprd11.prod.outlook.com ([fe80::551c:1427:7611:ee6b]) by SJ0PR11MB5006.namprd11.prod.outlook.com ([fe80::551c:1427:7611:ee6b%3]) with mapi id 15.20.3721.024; Tue, 5 Jan 2021 01:51:47 +0000 From: "Jiang, Cheng1" To: "Hu, Jiayu" , "maxime.coquelin@redhat.com" , "Xia, Chenbo" CC: "dev@dpdk.org" , "Yang, YvonneX" , "Wang, Yinan" Thread-Topic: [PATCH v6 1/2] examples/vhost: add ioat ring space count and check Thread-Index: AQHW4lhJ+wj2J0/b6km1XQjm6g/FqqoYPQYAgAAHfHA= Date: Tue, 5 Jan 2021 01:51:46 +0000 Message-ID: References: <20201218113327.70528-1-Cheng1.jiang@intel.com> <20210104045753.62487-1-Cheng1.jiang@intel.com> <20210104045753.62487-2-Cheng1.jiang@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.46] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5b4a2064-eb61-4cf0-6fd8-08d8b11c7611 x-ms-traffictypediagnostic: BYAPR11MB3189: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oyZNqR9i9/CCVknZdovmKTHXaMREzWXmmsxE955z0n72ZExfbqAg8ldoTuoiVfRK8oYNYsJnEXvu/DQdbZtId6WL1vBPu4GWXKqVn5+9sICWmmE+Tj1w2JUMI0j+JxxUuGu8bZT1OJX3g93EW1tedvr1YXAoBP8+7P2Kuc7wgQWBBe7an2Opgdcep5TY2ynkHaBD9eQYWYIwrxHHJOcp0MxRBaNDw9hmaJhC1XDvOHIm7Wetf7yzE0vE6pwYQdQ8NlDzQfun6IKzwTJ75kgi/L1GaxrGcpwTzuZLv8tVzFDsucNT2u6gTyphptoQ8JMlJIxbpxKGZ2Xid3DhbRhR8z95cUGifk68Frp1IutdTB9LEvrqYB5EGCfTjT/OcY0L+S2WD+GEJbjBL/xT6CuCUg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5006.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(396003)(346002)(376002)(39860400002)(366004)(8936002)(53546011)(2906002)(26005)(6506007)(66446008)(71200400001)(52536014)(186003)(478600001)(6636002)(5660300002)(76116006)(66946007)(64756008)(66556008)(66476007)(9686003)(8676002)(55016002)(86362001)(7696005)(4326008)(107886003)(83380400001)(33656002)(54906003)(110136005)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?bJzaOOBy9LXc85GAQTrW6Vah991AUXWHAYTxtX2PVCbeXFWfRV7efyZfxYDr?= =?us-ascii?Q?4ofjduAAYhGjp3u2b1DKdfGgO+EWxsqx3Zvq+rut7w/sJ1co8zN39X7qLwE3?= =?us-ascii?Q?kdR1pKrRGy/GkXuvVtJpv62V81+0p2FugPgXVR0vAb9dDj/THw1l0ol5n5B4?= =?us-ascii?Q?7uqfVDYg17HDLyqCnsIygRiNu7tCb2QTliSgJ3xhtld1W8WIi1EHIwziTUFl?= =?us-ascii?Q?mAufBLw1fCYSJhKVFLFz7QLhDVRKOZpl3spE/yB7n3fOSvnSlqzBqkpEmNJ5?= =?us-ascii?Q?puEWR9inxlV9Y9+cnxC9ncfkrVxcx1fy5Vnv1YgucwwQ0QLLyhD0PY44QTFS?= =?us-ascii?Q?FsMwvZNJlor6886HFlbC0MqePOqolqtPSj2kvIr7CVcXQ6dV67k4D+xt9Xsc?= =?us-ascii?Q?55VZhHxXFM7EEDF1dYv2icviTAA5t6sy1l5ZVBYFD2lsJz8oRTHhQC2+sqkl?= =?us-ascii?Q?osSvAxJlYdn7X5hCbdYxrrswxG1ioRIXnkuB9NrSZ6VyRIgPDkWZAcD93jMf?= =?us-ascii?Q?H73qrOMpAhDXFCFfI3v/n08hNd1ChmMfvsk6m7kREG+CInn9GbgkAjOZ2tQF?= =?us-ascii?Q?st/+POl+9zE/6xmUt1cR8oLLT1t/duqCT2+dOSbwJSnVdJ0g+NuxmD2vFQ6w?= =?us-ascii?Q?b3nv5OlSOyJxwy+8DFbQQdW1yLz2EWN4vMmfJqCO/cnxIpmpu9CZyVYxLQN6?= =?us-ascii?Q?b5mYgtfZfiyhmfSUgSjldWu9xTQuh8BP6SSBykes7DG9+DqV+ilweG6MheQL?= =?us-ascii?Q?rQH/68sScwU0sUrrwMs/YVQxzVUEUIbWtWEvf+3Fc6kZT5UFSyB7mOoSVitq?= =?us-ascii?Q?DIDWzTCUkexFTx03TdKoAgQZVFMFVtPeSlZgOuaEqJmGM7qjwIluWViCg0+z?= =?us-ascii?Q?2pxvKYZ0oOPBYl3gmLnzamSK0ZOE9ArmACB0eo+y4ZlIoJaAd3S9Xr1n6pzW?= =?us-ascii?Q?iwvN+nrPr2U86wijWShNmRgiGKqCutlGT5ndSXQsOYc=3D?= 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: SJ0PR11MB5006.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4a2064-eb61-4cf0-6fd8-08d8b11c7611 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2021 01:51:46.9197 (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: f1pKMFbXXh6Bd5vo6myqqq60upsk+0ooDuEYI2xScJR1imN82/lNyNUGkZwyERS4q1Ua9ksSG+TTQY1AU5yz/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3189 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v6 1/2] examples/vhost: add ioat ring space count and check 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 Sender: "dev" Hi Jiayu, > -----Original Message----- > From: Hu, Jiayu > Sent: Tuesday, January 5, 2021 9:20 AM > To: Jiang, Cheng1 ; maxime.coquelin@redhat.com; > Xia, Chenbo > Cc: dev@dpdk.org; Yang, YvonneX ; Wang, Yinan > > Subject: RE: [PATCH v6 1/2] examples/vhost: add ioat ring space count and > check >=20 > Hi Cheng, >=20 > > -----Original Message----- > > From: Jiang, Cheng1 > > Sent: Monday, January 4, 2021 12:58 PM > > To: maxime.coquelin@redhat.com; Xia, Chenbo > > Cc: dev@dpdk.org; Hu, Jiayu ; Yang, YvonneX > > ; Wang, Yinan ; Jiang, > > Cheng1 > > Subject: [PATCH v6 1/2] examples/vhost: add ioat ring space count and > > check > > > > Add ioat ring space count and check, if ioat ring space is not enough > > for the next async vhost packet enqueue, then just return to prevent > > enqueue failure. Add rte_ioat_completed_ops() fail handler. > > > > Signed-off-by: Cheng Jiang > > --- > > examples/vhost/ioat.c | 22 ++++++++++++---------- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c index > > 71d8a1f1f5..679d1e2f58 100644 > > --- a/examples/vhost/ioat.c > > +++ b/examples/vhost/ioat.c > > @@ -17,6 +17,7 @@ struct packet_tracker { unsigned short next_read; > > unsigned short next_write; unsigned short last_remain; > > +unsigned short ioat_space; > > }; > > > > struct packet_tracker cb_tracker[MAX_VHOST_DEVICE]; @@ -113,7 +114,7 > > @@ open_ioat(const char *value) goto out; } > > rte_rawdev_start(dev_id); > > - > > +cb_tracker[dev_id].ioat_space =3D IOAT_RING_SIZE; > > dma_info->nr++; > > i++; > > } > > @@ -140,13 +141,9 @@ ioat_transfer_data_cb(int vid, uint16_t queue_id, > > src =3D descs[i_desc].src; dst =3D descs[i_desc].dst; i_seg =3D 0; > > +if (cb_tracker[dev_id].ioat_space < src->nr_segs) break; > > while (i_seg < src->nr_segs) { > > -/* > > - * TODO: Assuming that the ring space of the > > - * IOAT device is large enough, so there is no > > - * error here, and the actual error handling > > - * will be added later. > > - */ > > rte_ioat_enqueue_copy(dev_id, > > (uintptr_t)(src->iov[i_seg].iov_base) > > + src->offset, > > @@ -158,7 +155,8 @@ ioat_transfer_data_cb(int vid, uint16_t queue_id, > > i_seg++; } write &=3D mask; -cb_tracker[dev_id].size_track[write] =3D > > i_seg; > > +cb_tracker[dev_id].size_track[write] =3D src->nr_segs; > > +cb_tracker[dev_id].ioat_space -=3D src->nr_segs; > > write++; > > } > > } else { > > @@ -178,17 +176,21 @@ ioat_check_completed_copies_cb(int vid, > uint16_t > > queue_id, { if (!opaque_data) { uintptr_t dump[255]; -unsigned > > short n_seg; > > +int n_seg; > > unsigned short read, write; > > unsigned short nb_packet =3D 0; > > unsigned short mask =3D MAX_ENQUEUED_SIZE - 1; unsigned short i; > > + > > int dev_id =3D dma_bind[vid].dmas[queue_id * 2 + VIRTIO_RXQ].dev_id; > > n_seg =3D rte_ioat_completed_ops(dev_id, 255, dump, dump); -n_seg +=3D > > cb_tracker[dev_id].last_remain; if (!n_seg) return 0; > > + > > +cb_tracker[dev_id].ioat_space +=3D n_seg; n_seg +=3D > > +cb_tracker[dev_id].last_remain; >=20 > When error happens in rte_ioat_completed_ops(), where n_seg is -1, the > value of "!n_seg" is false (0) and it can still pass the check of "if". >=20 You are right, I think I just missed that I will fix it in the next version, thanks a lot. Cheng > Thanks, > Jiayu > > + > > read =3D cb_tracker[dev_id].next_read; > > write =3D cb_tracker[dev_id].next_write; for (i =3D 0; i < max_packet= s; > > i++) { > > -- > > 2.29.2 >=20