From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4A8E6A09FF; Mon, 28 Dec 2020 09:08:44 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 271A1C9E0; Mon, 28 Dec 2020 09:08:42 +0100 (CET) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id F3B4CC9D8 for ; Mon, 28 Dec 2020 09:08:39 +0100 (CET) IronPort-SDR: Rsk6BtiBV06NzXCpZrxYAFQF+79us/AmiqeFhCM3xylqFHOK4LOw9Y/d1s8jbuYNzs2iOPxTgE Vbitg9upQqWw== X-IronPort-AV: E=McAfee;i="6000,8403,9847"; a="163418829" X-IronPort-AV: E=Sophos;i="5.78,454,1599548400"; d="scan'208";a="163418829" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Dec 2020 00:08:37 -0800 IronPort-SDR: tKJXbVKyhrJKlrx+EUP/lm/PPwwn4gUkRF6v9FkY6GQ2Au5sNaVJqpX5AJDvPLOLkOk86+adhh bl1C0j806GTQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,454,1599548400"; d="scan'208";a="358480672" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga002.jf.intel.com with ESMTP; 28 Dec 2020 00:08:37 -0800 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 28 Dec 2020 00:08:37 -0800 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.1713.5 via Frontend Transport; Mon, 28 Dec 2020 00:08:37 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.171) 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.1713.5; Mon, 28 Dec 2020 00:08:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZAVmhSDoFtZWDpjyzGupHBsx03qfYRJCpzIQrtrV5i+NWUueg65dEODtex6rG64F+KL6lb8LCNkT/+RtvbJaMZBe4LL/gLIsorzt2EH7UCJNMBMjjhTytYdgCMbJJR+YKeJD9pF6GerR1HH6qzE+m8EdlfHGhdACwU8Uydbx8dM3Cn7lIddhJdQYfTihvhUw8zYpJ89sIVD3+nD4HdZRD9aVzrzlfvKzCOjCs7Q+ZpCkxCqJZ2QJHijhXritJeG/1apinkdIw130xsa73sKC49E72HQSrSxnzhIJTzlKgOe3CSATA3wOnPEaG+kgfRqKNki+GJEMBoT8LFf7EbbUGw== 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=HuAx1bE+dmpkAK8+MEPjN4hjXogxYaV02yKWQYNcd+E=; b=aygE80SMJfDQvgCwWhtXAOZuK1F1I5CFMO9umEUQQ6IhzJHmDxNG7rEs5D7kQfw44WzBPQ27tyuzfWob4VZqADdIgIhFsbvDgRM5EOKOGGs2hGgbUKmRlQ5O0fbOQeA4XHoO+XaHsRo3F6wfidSnIJF3kvIafAP5o8+m+dQs5VEHDwFJQnVJpK22jHa3gmVlrt1yQSeQusRyFsMIaFL7/xHQXt/lnRvhQOtZYEAhSxfqHy6P2rfAD8JFJRxd83wptxcfQ/vmtYRQ+dtGFRgrCopyi7d9WjLbJelOgYrDmYky8TDKwqBeK6RhS0+fYx3wT4pbc8Y7pjTvmcmRW1erXw== 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=HuAx1bE+dmpkAK8+MEPjN4hjXogxYaV02yKWQYNcd+E=; b=hUht8Jp/UvWeVKlD4k5K1XMzO8ANS7M40vA6q/2LG3XDD5WeQ9URnI+HJLPs+jCIKuZeb/NxVuFBqBLx5Os6rZTVGx9c1ESaXCPRGRDJ5LMbLpW5ZMyfEVi8EPvjRdQcGLvQ105z1L1rguplrRGkiGVCFMUqROT3Kerq7/TYVTU= Received: from SJ0PR11MB5006.namprd11.prod.outlook.com (2603:10b6:a03:2db::22) by BYAPR11MB2629.namprd11.prod.outlook.com (2603:10b6:a02:c6::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Mon, 28 Dec 2020 08:08:34 +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.3700.031; Mon, 28 Dec 2020 08:08:34 +0000 From: "Jiang, Cheng1" To: "Hu, Jiayu" , "maxime.coquelin@redhat.com" , "Xia, Chenbo" CC: "dev@dpdk.org" , "Yang, YvonneX" Thread-Topic: [PATCH v4 1/2] examples/vhost: add ioat ring space count and check Thread-Index: AQHW2paT0x8CAGd//Ea37XMUEfbFiqoL0zsAgABXm4A= Date: Mon, 28 Dec 2020 08:08:34 +0000 Message-ID: References: <20201218113327.70528-1-Cheng1.jiang@intel.com> <20201225080712.36177-1-Cheng1.jiang@intel.com> <20201225080712.36177-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: 00f8a9e3-90c7-4390-0171-08d8ab07c5db x-ms-traffictypediagnostic: BYAPR11MB2629: 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: BdPhNl1+rol9Z78YdFhOExTh9Nz73ETZT6zvl6rIbQSiLQZq2e7DMz8X2xPRFGP7mPmI4MwpJYcQXe2esEEgyW1ZgZKoGzFiKyqghDwYH7Ebqh/8dXFgu/B68AMM+Q4yzsqabkVhaCw9BzI9qDmo4+/RsssLz/SzJMo3UjyO30Z7LFX3hFzOHH+DZ0SLgyyjrVuPwFKIbuvCMDn42dNrBChPHlMzur0NPAfFIv6UK6N61de8wJTGhbR4kq53sye6pzGVwWcTOud3O9cbVGh8UItdVZxm6UDhdQKdmUQYxErMcP1mo+1riw9xDp89PjJs7HJxvbVFk5/fPid6HMsZf7HAyc8MaICERP1bzvQhQf9IvUBPIbo770DiVQ2Qg3EHB5oHq8MhQ55zyosFHvzYyw== 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)(396003)(376002)(346002)(136003)(366004)(39860400002)(64756008)(26005)(8676002)(76116006)(4326008)(6636002)(110136005)(478600001)(8936002)(107886003)(2906002)(316002)(33656002)(66446008)(52536014)(55016002)(83380400001)(9686003)(54906003)(7696005)(5660300002)(53546011)(71200400001)(86362001)(66476007)(66946007)(6506007)(186003)(66556008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?Jphu+SzjdWOqlbG2DLlP+qT3/to8dDBMC5JFufuuQrz5qk5Ron6upNjt0CNW?= =?us-ascii?Q?lPoyF+tBPvxp7yDNKW0xr8jzbupxeA68O/ZCZM4c7wrdfYsJ0uKmdBloRd4x?= =?us-ascii?Q?DUgU/+vGCHtft41q2oWRQG42WWohqZLDqYaNyWBgv1pCJ5prWu4x+3knpDkJ?= =?us-ascii?Q?Vu8/rVaVlzNPduNNd+x+B8dreuocWfi0wCSxQmNq5dEc73hsuCajaGw9i78p?= =?us-ascii?Q?tvP37hv3EsWO0oqXf6wrGvbAEWiQWP+1f/tPViTWxGFsWMnjx+IvTyqDkCq9?= =?us-ascii?Q?xAztyMvGn3buhD9lgzuEDP2KI0CRrUcmCabg34NxihJhxlDfhA++36t7WgM0?= =?us-ascii?Q?dSAtjyrZHqWiYke1gmGk9kf+qxX39vKB/2gQDYRd0N7YZ/RwXgp/Fs+VlKCG?= =?us-ascii?Q?yPZZWPFtxakL2KqvTI2jSGI+Qio1Er4gGswr7ddysAKamcNhU+532GD6TEj/?= =?us-ascii?Q?HE3ocVVTz39npmPpOnScV/7vNbKFO70cg0xHMZC1MxojrjoAzHD7Haay4OVT?= =?us-ascii?Q?nTXcdqxhTZZCxTdPu9wG93HW1I6GOxI5sbwhw7Ei06VELD768FTIXlMT2OZT?= =?us-ascii?Q?P4ce8zphuZVTYvcJG/uShH/GrjeO87ij2TFg3uLEu3/lEDW30ZMdLYvQeCS2?= =?us-ascii?Q?qa/QMZ67LbWewi7rZNlhpqnr4lFDxZtkH/vOAFgJaACObICruWfn9xbdox2g?= =?us-ascii?Q?u8P8qU3G+CnlqhchDEEiEIDrvG+ptzR1xH/tGOzcfMTDynD15eSXbpr0SIi/?= =?us-ascii?Q?Wvn+DOOLydXJcZkULB083uArwzVnwkWwlefFByr5ekBdeo4mIxJkeh2374ay?= =?us-ascii?Q?djAK5tl3g2mEoKxV2MshiQodGbUS9HuwZKeIQUIh/rA0iMYBfZLO7cnZ6kjO?= =?us-ascii?Q?GDl/u5dfL7VqNjqcf9B8LLhldHD36/CwPPTuCRMmaAY9HuVjCs5cNt6uWF4m?= =?us-ascii?Q?gS/Qb8U5v4aFJNEuyr2NibUlzSvQVe69qymTxGpNlTc=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: 00f8a9e3-90c7-4390-0171-08d8ab07c5db X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2020 08:08:34.4255 (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: ftYgZZAWGgW3znyMxBkPBkJ9Ua8ugEq+qVi/8zwJOjIgJtHXVBTNrqNweuO/mal3uxAVv4AM7LERQssIs0J99Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2629 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 1/2] examples/vhost: add ioat ring space count and check X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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: Monday, December 28, 2020 10:51 AM > To: Jiang, Cheng1 ; maxime.coquelin@redhat.com; > Xia, Chenbo > Cc: dev@dpdk.org; Yang, YvonneX > Subject: RE: [PATCH v4 1/2] examples/vhost: add ioat ring space count and > check >=20 > Hi Cheng, >=20 > > -----Original Message----- > > From: Jiang, Cheng1 > > Sent: Friday, December 25, 2020 4:07 PM > > To: maxime.coquelin@redhat.com; Xia, Chenbo > > Cc: dev@dpdk.org; Hu, Jiayu ; Yang, YvonneX > > ; Jiang, Cheng1 > > Subject: [PATCH v4 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. > > > > Signed-off-by: Cheng Jiang > > --- > > examples/vhost/ioat.c | 15 +++++++-------- > > 1 file changed, 7 insertions(+), 8 deletions(-) > > > > diff --git a/examples/vhost/ioat.c b/examples/vhost/ioat.c index > > 71d8a1f1f..b0b04aa45 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 { > > @@ -186,6 +184,7 @@ ioat_check_completed_copies_cb(int vid, uint16_t > > queue_id, 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); > > +cb_tracker[dev_id].ioat_space +=3D n_seg; >=20 > rte_ioat_completed_ops() may fail. In this case, its return value is -1, = which > will cause n_seg to 65534. I will change it in the next version. Thanks. Cheng >=20 > Thanks, > Jiayu >=20 > > n_seg +=3D cb_tracker[dev_id].last_remain; if (!n_seg) return 0; > > -- > > 2.29.2 >=20