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 2E32C43ACA for ; Fri, 9 Feb 2024 20:18:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1EE2742EA9; Fri, 9 Feb 2024 20:18:55 +0100 (CET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2044.outbound.protection.outlook.com [40.107.243.44]) by mails.dpdk.org (Postfix) with ESMTP id AC0D0402AF; Fri, 9 Feb 2024 20:18:52 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ehAzzjAW6hTqxXruAls9ErKwePJOnckKPDjZmMWCqAKDesbiuyfA0IKFpRDN5jTS/Xe7FwWSZk2c8JbBqJ8edW4E4BHP7LtIrFEJI0T2o0gz/I/GM1Uyq3ZgqCrUuOCoGsexCwunPRdOFsi8QJBM4Rfg0spU+LUEv1TKrEU2HMndoASa5f2tdQoPm7GsAapp+08In/Lvales1/WYne9fAPjyAVg21l22w+8w09b7wmgXy7kXx+lAevQ7K/wJHu5H3KxyyM7BfN8rxbzFDl5bQshUeMEmcgXr9A1kHzapZ8jAAj3D4qCSmGDxfkrSJ8TbztOheUYu+j9QoU8VfC7inA== 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=wn4A/Bb1j/R2OzES9KqlG12MaXAD5DlYzybcXfbmGiY=; b=d+lKq4+uhmPjBnntvMYaECwgcqmw7O3XdeuHPjohl54uhfZUm/tKNeC1984gttrJpisI+Io+hH94eS+XFvBujVr/7lrIqa/4uVszCf9v+n2Vuq7yrE7f9Dhvig9QMX2qHUHXmBcnYuXfA8Je1r5tPC3ZG4/JxFzCFKRvgO7YLE8NyM40JOL8DPkNtG6Ydw17Y6okHeVsBT8h2DgTyA6StvN14tuJJPNxZeW3s9quPu1StxWkjDU4MOhFNm+SFhalVUeSwCdG+6DlUsc4J3Hu9CIp9RQF8aRmbM1vVU7TT4iS9v9Ws2utOIZ5ZQ6Jgn0IvIDiljy8rCUdmEEu65F4ng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wn4A/Bb1j/R2OzES9KqlG12MaXAD5DlYzybcXfbmGiY=; b=OdtHpSAgGjekpgf+ZCOdVM1+JEvRujLNEhwfi2P3UQ7pq3Vy8l5u0cqz1QcE7cIW9qGtPzoqRhyX0ZPtcCQA/aUC7J/uwmYJh1u59YqFPFqgpdjXXHT3rWxW6whluRhiktQoNXVXD/4Njm/sAZUvVF3MOoGDDtue4e9/0QWyDh0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) by CH0PR12MB5371.namprd12.prod.outlook.com (2603:10b6:610:d6::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.11; Fri, 9 Feb 2024 19:18:50 +0000 Received: from CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::815a:45e6:cf5e:479f]) by CH2PR12MB4294.namprd12.prod.outlook.com ([fe80::815a:45e6:cf5e:479f%4]) with mapi id 15.20.7292.009; Fri, 9 Feb 2024 19:18:50 +0000 Message-ID: Date: Fri, 9 Feb 2024 19:18:45 +0000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] app/testpmd: use Tx preparation in txonly engine Content-Language: en-US To: Jerin Jacob , =?UTF-8?Q?Morten_Br=C3=B8rup?= , Konstantin Ananyev Cc: Kaiwen Deng , dev@dpdk.org, stable@dpdk.org, qiming.yang@intel.com, yidingx.zhou@intel.com, Aman Singh , Yuying Zhang , David Marchand References: <20240103012912.4334-1-kaiwenx.deng@intel.com> <20240111052555.35930-1-kaiwenx.deng@intel.com> <38baef9c-103a-4be4-8546-e9ea35abc46f@amd.com> From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@amd.com; keydata= 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 8Zk= In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO2P265CA0511.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:13b::18) To CH2PR12MB4294.namprd12.prod.outlook.com (2603:10b6:610:a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH2PR12MB4294:EE_|CH0PR12MB5371:EE_ X-MS-Office365-Filtering-Correlation-Id: 7b31a5f5-2121-4269-142d-08dc29a3f200 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fprzF6sQ0qx1wuBOETebBZ99toxw4182cSXytXuwuGEG6njmYlis8JXiETk8FYp093ZSZS9XWm/NPTsio/uzG6g6qECUnqgte1Pv/dVmR4lfXjoDC7FB+CeRyAdMc1JamNScP0WwHjE8UMqUvxSIaDJ4EtK4VmIFEZVXJKUX5OIAgHTDsp2rrlT0NNioCVRt/m2LUb+vzVwCd45VNXg1WnKWCd+zK11fuXH7DmAEyYc7KY6Fi4N8y9qwuMqFfIs5RwzGM03zc29M41MqUk+glYEiU5d0BCWIvUrmaqI2CqNXMpzPavbnPr9OfAjHBqKy4UmvRJd0cytIeUcPRZH7kWl6OeMiZDDCT9mctqBQMMdjuaI7rUbmAxIoeB31w6kWC6wp4HyQWICoqS3XRMang4huDy0gadSyWaQaZhySuEitNUK12VI2EBFYgsZLjcdeaRSfiDoaO1YSH31zvH0GWQ5RCfuLG0NTiDNzVi6oMUifwiuleamtOnQ3lL0kAwch7jUPSBJrxiPI0O4ygmbFMGc+gvXhpm2/rlPo/4uSi4tz1byAfRHrja5EqNRkrE4s X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR12MB4294.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(346002)(396003)(376002)(39860400002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(2906002)(5660300002)(7416002)(36756003)(6486002)(31686004)(2616005)(478600001)(26005)(6506007)(53546011)(6512007)(6666004)(66556008)(66946007)(8676002)(8936002)(83380400001)(44832011)(54906003)(66476007)(110136005)(4326008)(316002)(31696002)(86362001)(41300700001)(38100700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dWtuZW1JQjVRUHlldUsyeWN4MVhQWlEyc2JaWTd3bG9Ib2NJRCtqdmRRYWVP?= =?utf-8?B?UEQyWUxGL0ZTZWlkMzJjQlJkeUkwaVF4WGVhVXdSN3Y0Rjc3OTF2UFZBQ2lJ?= =?utf-8?B?Uzdyd2I5czM0Zjl0WHgxakRZWXVoeXdBOHdZS2RuSENPTWF5MjU5U2tkWGcz?= =?utf-8?B?OWVON1NmbG11NWNaYnYzVFZDVWVWUDkyaWI0M0dlWEdERUlNVkYwbUFHcVBE?= =?utf-8?B?SE1BMUUxVGxNMmRyZERXOHJmV2NGOTZSOVlzak1XQ3crMzJUSE9uVmVhbWRC?= =?utf-8?B?VnBZOE85cFhJbXEzV2xlVEMxN1haZVI5a0RhK2tIYU5MMW14V1J1YThpbitT?= =?utf-8?B?MjF2cm9nM2RSYzRKaVU1RE1LUWxmYVJtWXhFaXdNUWhkeXJ5RFBHUlc4dWxJ?= =?utf-8?B?RGZ2eDZKV1ZRK21nNkNYL1Y4U0tNdDMzWVV5M0x4RnU4WnhXNDk5aS9BMmxV?= =?utf-8?B?d01mTE45RllkRjRVNEk3K0hZd0gyQ3l6Uzh4bUd0Um1CdFJ1UitpRnVlcGJn?= =?utf-8?B?SU5OUlJQWld5aTBmcWR4U3JHUXZDVTlqMzJYVmdqemtmSFV2MFd5RW5nZXVF?= =?utf-8?B?MFBJWTZsbURWMXptMUEzZmVaYndYVjk3NGhNVmFLaldXbkF2UXd3Z1plb2Nt?= =?utf-8?B?d3J2NDNHaGEzVEM2RW9lYTlRQlRHSjRWRktpUzdZMmlwck16QXhWOW14NDBY?= =?utf-8?B?b3JkODlPKzhvVURvclI5NEhDWHQwbEhQQ2djQ29uOHc0SENpd2tDMGxBOXF2?= =?utf-8?B?WU5Idm1Zc1ZHTC9hR2dmS0xsN0M2dDJ2OWdPK2Z3d0NPdklyM2hvL3M0QUdY?= =?utf-8?B?WW5pTnphQW1tcVpKZkoxeTJxK3A1ZjVlQmdDb0VWRzNrK2lQTlE1NWVhQjl1?= =?utf-8?B?ZFBRaUsxcWhkZGcrYXZFSHFDZEw5TzFBNzJXaXVqWnJOOStoRDJabm50VGNL?= =?utf-8?B?TkFvZFI2V1FzR0N4SGpVZk5NL1JvQTVOZVN6OG5tL2pFR0doU3hMRnpFWUMr?= =?utf-8?B?RS9lOE9FcTV4ZGk4N1FJU0RzSEkwNGpVTkFwN1M3RE1sKzRtbVcwYWR4SDB5?= =?utf-8?B?aGIwdnM2eGNFLzhpWUpyMnpVNUczeUh4WUh6cC9pei9JTnZFenczUmRtcisv?= =?utf-8?B?dTF1QnhQcEIzNzMwTW5qN3dtOUkvWXhoV0VITTFSQlZRd1NIaHkvd3BhL0tn?= =?utf-8?B?c3hXVVBSWEh4M0t1bk15SkZ5WHYxYUwzT0VrVjlkczJjWWZ1Ly9iM2FmaXFj?= =?utf-8?B?M3h5eGdId0xhWVZEL0FHSXZwdFBscVRiUmxZekJMbjJFc0dzNEZ3YkJSWHhH?= =?utf-8?B?UkR6UXRBN2ZGRzBuZFZxbXUvNXBUOGJuMDhoeGtmT1lnb1VFbFp5ekZTQVVo?= =?utf-8?B?WDloWnV2aVpMTFdmRGZ0eE1zVE10Wnp1ajVYamxxR0NDa253Y0ZtRkRLa3ZL?= =?utf-8?B?V09TVXh1UnJLTGtYam5NZjRndDV0by9oUHFrOEtZL1pmcUI5QnFVZlFIbGM4?= =?utf-8?B?RVd4VktiN2s0SXY4Q0dRZXFOd2JzcDBuYWpVU3ZmTmczRWhlZVlFMW1wTENq?= =?utf-8?B?UDFmZlB0Q0szRnViM2krenZGNWtIbW83WlUvcEpEaUtROFRjcWo1eFdZU24x?= =?utf-8?B?VzRXWGovNWdKbzNoSkNKNFM5bFQ1U1lFSkMzQ1NhallqeHVWbkFaRnh2MXZG?= =?utf-8?B?Z2xFSlZxbGtMdEZFQURLMEdteFVSMHpYT1ozUVFlYVRLMzE5SXg2amJaVEZl?= =?utf-8?B?VzE0MlhtSDlWUkYzSjlhd3J0Z2ZXdzBydnBqT3hsbUFTK3h2R2Y4UDhTMSsw?= =?utf-8?B?M1pLWUZuZ0NmRmFIVm9GcGpRcDE3bHBjWUE5Nk1HWFNKWjhYUmtydDdJdFNi?= =?utf-8?B?dzZjU083cWRlcFppWVdJNy9HVktCc20wSHliMW1RYzlyQVBsZlNabjZ0TlI0?= =?utf-8?B?N3FqMUdLMTBMT0JlRmpvcDFEczVNS2JSZndTai9hNmdlbkozREcyc1ZaWHE5?= =?utf-8?B?ZVRTY1lCbldwUiszQldHTjJ6VnlKL01PMktWMHJmZEtMZEFRaXg2Nk43SXkr?= =?utf-8?B?cFJ1bGszQ3hPVE1zbzEyWDMrSTkxTm5pdUxXM1RlMDY1KzFSd05sc1UrMHVq?= =?utf-8?Q?WgpJK5aB8HJX/31nfjCqmwr+J?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7b31a5f5-2121-4269-142d-08dc29a3f200 X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4294.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Feb 2024 19:18:50.0386 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: W0wenPIFJ4UFWpDTcxZTwHEGmqduXLGuhtf+fPqHj8WMSsbxAfFph/NZArksD9QG X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5371 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org On 2/8/2024 12:09 PM, Jerin Jacob wrote: > On Thu, Feb 8, 2024 at 6:15 AM Ferruh Yigit wrote: >> >> On 1/11/2024 5:25 AM, Kaiwen Deng wrote: >>> Txonly forwarding engine does not call the Tx preparation API >>> before transmitting packets. This may cause some problems. >>> >>> TSO breaks when MSS spans more than 8 data fragments. Those >>> packets will be dropped by Tx preparation API, but it will cause >>> MDD event if txonly forwarding engine does not call the Tx preparation >>> API before transmitting packets. >>> >> >> txonly is used commonly, adding Tx prepare for a specific case may >> impact performance for users. >> >> What happens when driver throws MDD (Malicious Driver Detection) event, >> can't it be ignored? As you are already OK to drop the packet, can >> device be configured to drop these packages? >> >> >> Or as Jerin suggested adding a new forwarding engine is a solution, but >> that will create code duplication, I prefer to not have it if this can > > We don't need to have full-blown NEW need forwarding engine. > Just that, we need to select correct ".packet_fwd" based on the > offload requirements. > > It is easy to avoid code duplication by following without performance > impact by moving the logic to compile time and use runtime to fix up > > static inline > generic_tx_only_packet_forward(...., const unsigned flag) > { > > #logic common for both packet forward > #if (flag & NEED_PREPARE) > prepare specific code > > } > > static > generic_tx_only_packet_forward_without_prepare() > { > generic_tx_only_packet_forward(..., 0); > } > > static > generic_tx_only_packet_forward_with_prepare() > { > generic_tx_only_packet_forward(..., NEED_PREPARE); > } > > Select the correct .packet_fwd in > runtime(generic_tx_only_packet_forward_without_prepare() vs > generic_tx_only_packet_forward_with_prepare()) > +1 to not duplicate code, and I guess we can get requested mode as testpmd parameter, but how can we avoid from performance impact, checking mode in the .packet_fwd brings additional check per burst, and we can't overwrite .packet_fwd.