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 22C76A0350; Wed, 1 Jul 2020 17:46:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 02CFD1D172; Wed, 1 Jul 2020 17:46:08 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2080.outbound.protection.outlook.com [40.107.20.80]) by dpdk.org (Postfix) with ESMTP id 39A0D1D161 for ; Wed, 1 Jul 2020 17:46:07 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q6b9iJy+8AqlJqZzjSxVJbckGO5LIPS3x7VGy/xrTJuN2FsHGLNLJeO4PJAVx+e+66lu/qqBApWZwBdWqtC2W12PJ9/dt6b6bpAcsMg+mblBCjaZVUFaShARNNsqpVea9etM6jPwmKdqRsFtNBxqCoNyREmrS0RvFTjyVrhtTehUoYKpMDVkUJyfsfPTkocLGMuq40HDANN1gyK91kr9HMwm3etS9b3FRoxdGsTm3+4huXBYUGSLeR8XO1PFeJ5yRDh/PdZrPBgn4Dyxdgna4V525BeAEbTDQmCyM8LRvmksaH3hFUmpsZzEnssI7W+6z6SaEMAgcR2OKJw192dIJw== 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=blcLg/YsAoYjBCySXwQzxWs5Qy7ImRIYChqHnapdVlY=; b=dcg/W5TRP4Sf7tccJ1QjsSBdNsJ6comtTXQ+paWcz4v/rjtcZcqpLmal1G18ZSRfrcIrfkpX3kFz4f73S7mRA+LDIPPvL+20O9JinYG22YDKlPQMxm59UVLYviccSHZevFB+6Vp21sBZoddYfQF98zIpUnwTR/8NxqC3DbSo/JPRAmTKZa1O8BZEN/z3wT5OcKs7WZOlVgTQkikMj/w6UPAsgYN0YdMmCy9vTwmUSux4Y0ej8uM8E3JDCHWCLIrKGYjqe8SZFIRXyjYn8NdJmVqKkSlLAQJ3UD/b4tm+9SM4gS1Qbf8dqbfaOWs9NlDQOC0T+v064RWkSOhmPbpF3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=blcLg/YsAoYjBCySXwQzxWs5Qy7ImRIYChqHnapdVlY=; b=YFegMqYok24v+P8tW/dPoCZmQd/GvrKkHWw3TT+jhSG8a8k0maL+U+jH4Iq2JW5vQDyhufDFiNaOei8iioopTlRcUhiDltn/Jfc4IJU2JK96Yx9CbB0apwpWsyKPXOOX5zXrrS4d15g/Suq9+fTaSIQBRot2pdqg+yY4JE6S/NE= Received: from AM4PR05MB3265.eurprd05.prod.outlook.com (2603:10a6:205:8::26) by AM0PR05MB5668.eurprd05.prod.outlook.com (2603:10a6:208:120::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20; Wed, 1 Jul 2020 15:46:04 +0000 Received: from AM4PR05MB3265.eurprd05.prod.outlook.com ([fe80::194e:dc46:7543:50ed]) by AM4PR05MB3265.eurprd05.prod.outlook.com ([fe80::194e:dc46:7543:50ed%2]) with mapi id 15.20.3131.028; Wed, 1 Jul 2020 15:46:04 +0000 From: Slava Ovsiienko To: Harman Kalra CC: "dev@dpdk.org" , Thomas Monjalon , Matan Azrad , Raslan Darawsheh , Ori Kam , "olivier.matz@6wind.com" , Shahaf Shuler Thread-Topic: [EXT] RE: [dpdk-dev] [RFC] mbuf: accurate packet Tx scheduling Thread-Index: AQHWPvG+DxdRrWYbQUGL7krwhFv6yqjR2ZYAgAAWxMCACxHlgIAV+2Uw Date: Wed, 1 Jul 2020 15:46:04 +0000 Message-ID: References: <1591771085-24959-1-git-send-email-viacheslavo@mellanox.com> <20200610133332.GA54613@outlook.office365.com> <20200617155756.GA190547@outlook.office365.com> In-Reply-To: <20200617155756.GA190547@outlook.office365.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [95.164.10.10] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 131280ae-ef15-4a41-bcd7-08d81dd5dd32 x-ms-traffictypediagnostic: AM0PR05MB5668: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 04519BA941 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XGaJFNlvgvjiiVKG14u0fZLh658jRZ16biwNKv4F6IcHzULrXwItWvpqpXTxTXpoKfsDoMU3VSk4qq9Ju8aCv4GggAYHabSzlJbtxTWHd8yy4NEeR3+6L78BfQbexWYVNZ5+9SoX17dfhvu4fhdutX1ODrFRQpZQSBORdidK+TX0As7Xa24qdYKw1d4Oii6kEym7biABt6QGfzWKLLE7y22lNluiRQ3b16hi152ekgOWf59grTM7/DXdyS3js4i2GMYx6y+UFtWZuNTjIhAW6JwIb2L7dkXkApN/ZqGuBvD0ryDKahoN0ojdshFLqwCi1BzJvFM6OBn4HhrOSkdmWA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM4PR05MB3265.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(6506007)(107886003)(52536014)(8936002)(83380400001)(33656002)(478600001)(2906002)(86362001)(4326008)(6916009)(8676002)(5660300002)(66476007)(71200400001)(7696005)(66446008)(53546011)(54906003)(316002)(26005)(64756008)(186003)(66946007)(66556008)(76116006)(9686003)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: nDojHjZkwGRoAbABEIwOMkUs0eRSLdnD1Q32FqZ3XAO/F/tmQrWoLxZvo48VZ7P9JqzxG79K8IYUX8Ag7n9qz55fp+45GnX204clxLvARvlZlsddjnNaZliyj/AIcY7TntHnP7B49pqn1DnHG0BPj9kc+6xErRoA/bSpAKgfZxotk+wQt6DBmYRubJMGg54KHJTrq0QJF5FY2+f234w29bfZIYNu8YJKFViBWxuKRZhJN6UWSQb2r6wmhxG3Z2MJPICocZavvGZnChNYq9uuoqHiZcMBVxko28ZPQ47C5rzwtZB8TeA0fpugbeV7x5Pyw3ODRDa04W9OQcBCFd9KZiCJkD4nO0W06pRb/txTz0X0SJRVIjQrGox2c9XY3yaN3h4FcbgvafFvAHTT1f35e/jlTUcimGldoivOwxhF/waXO5ed5WNTiulHSQpqQ9xwZkQTaJY20KDOQ5DwaOhKQYn6h7X5ErGG1OwdQouoVNI= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM4PR05MB3265.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 131280ae-ef15-4a41-bcd7-08d81dd5dd32 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2020 15:46:04.7875 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: t/cqC/ZUIlSwKCUlrztqCEn3OufTHc798S2P0CWkSD8/rSNYbDXuyj3gh5s9R50u7tT6asUnJW1+D3AQ0y/obkkLNACcRBkQnAJNt8pi4QE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB5668 Subject: Re: [dpdk-dev] [EXT] RE: [RFC] mbuf: accurate packet Tx scheduling 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" > -----Original Message----- > From: Harman Kalra > Sent: Wednesday, June 17, 2020 18:58 > To: Slava Ovsiienko > Cc: dev@dpdk.org; Thomas Monjalon ; Matan > Azrad ; Raslan Darawsheh > ; Ori Kam ; > olivier.matz@6wind.com; Shahaf Shuler > Subject: Re: [EXT] RE: [dpdk-dev] [RFC] mbuf: accurate packet Tx scheduli= ng >=20 > On Wed, Jun 10, 2020 at 03:16:12PM +0000, Slava Ovsiienko wrote: >=20 > > External Email > > > > ---------------------------------------------------------------------- Hi, Harman Sorry for delay - missed your reply. [..skip..] > > Should we waste CPU cycles to wait the desired moment of time? Can we > > guarantee stable interrupt latency if we choose to schedule on interrup= ts > approach? > > > > This RFC splits the responsibility - application should prepare the > > data and specify when it desires to send, the rest is on PMD. >=20 > I agree with the fact that we cannot guarantee the delay between tx burst > call and data on wire, hence PMD should take care of it. > Even if PMD is holding, it is wastage of CPU cycles or if we setup an ala= rm > then also interrupt latency might be a concern to achieve precise timming= . So > how are you planning to address both of above issue in PMD. It is promoted to HW. The special WAIT descriptor with timestamp is pushed to the queue and hardware just waits for the appropriate moment. It is exactly the task for PMD - convert the timestamp in hardware related entities and perform requested operation on hardware. Thus we should not wait on CPU in any way - loop/interrupts, etc. Let NIC do it for us. =20 > > > > > > > > > > PMD reports the ability to synchronize packet sending on timestamp > > > > with new offload flag: > > > > > > > > This is palliative and is going to be replaced with new eth_dev > > > > API about reporting/managing the supported dynamic flags and its > > > > related features. This API would break ABI compatibility and can't > > > > be introduced at the moment, so is postponed to 20.11. > > > > > > > > For testing purposes it is proposed to update testpmd "txonly" > > > > forwarding mode routine. With this update testpmd application > > > > generates the packets and sets the dynamic timestamps according to > > > > specified time pattern if it sees the "rte_dynfield_timestamp" is > registered. > > > > > > So what I am understanding here is "rte_dynfield_timestamp" will > > > provide information about three parameters: > > > - timestamp at which TX should start > > > - intra packet gap > > > - intra burst gap. > > > > > > If its about "intra packet gap" then PMD can take care, but if it is > > > about intra burst gap, application can take care of it. > > > > Not sure - the intra-burst gap might be pretty small. > > It is supposed to handle intra-burst in the same way - by specifying > > the timestamps. Waiting is supposed to be implemented on tx_burst() ret= ry. > > Prepare the packets with timestamps, tx_burst - if not all packets are > > sent - it means queue is waiting for the schedult, retry with the remai= ning > packets. > > As option - we can implement intra-burst wait basing rte_eth_read_clock= (). >=20 > Yeah, I think app can make use of rte_eth_read_clock() to implement intra= - > burst gap. > But my actual doubt was, what all information will app provide as part of > "rte_dynfield_timestamp" - one I understand will be timestamp at which > packets should be sent out. What else? intra-packet gap ? Intra-packet gap is just the parameter of testpmd to provide some preliminary feature testing. If intra-gap is too small even hardware might not support. In mlx5 we are going to support the scheduling with minimal granularity 250 nanoseconds, so minimal gap supported is 250ns, on 100Gbps line speed it means at least two 1500B packets. With best regards, Slava