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 203EB41B81; Mon, 30 Jan 2023 15:43:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD61440DFB; Mon, 30 Jan 2023 15:43:29 +0100 (CET) Received: from mail-ua1-f41.google.com (mail-ua1-f41.google.com [209.85.222.41]) by mails.dpdk.org (Postfix) with ESMTP id 1203340DF6 for ; Mon, 30 Jan 2023 15:43:28 +0100 (CET) Received: by mail-ua1-f41.google.com with SMTP id e18so2381960uax.2 for ; Mon, 30 Jan 2023 06:43:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kiB7KtGLBNSauLjyG+Vb9SZ5GlGgHCbBrJ3yzvBJRws=; b=BOSUxJDAYS2THMN4orOIMI1zV2LVWzlKF9unf4T6aAedYaRh0Q3qpTRKIcM8rV3Czz YoHGU9gAIcmfhOf5bG3/U6gp34mZz2XvoJ2ilqzpkyv4vkw8CFy2KED4JkdCxN4FQIm2 ZmEcZxr3PzO57ET3A0DGIiU66JAZ10OJ44VcvhCnMPosd8mD6iUg7R35lhItmiZXaLU/ KTLb6o28Sy7ve2c5N+izybL/2lc52/amgGba5x86r+KNUYB8FD+EbL2agpyvf+sqb2H0 anWhlqnyZqerogRw4hvV2nSeAZ73921aLIqYy6+X4uJTDRuDxmlmLlknQygMMmLHU0np aoTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kiB7KtGLBNSauLjyG+Vb9SZ5GlGgHCbBrJ3yzvBJRws=; b=rDs78V3I8tpPNkgmxIc1qAxi+OSUw9+78kVB3L2qwZUYrPcl8TPy24xWKT9f3wOsGp jL0JYSPuZpXKgC6gImhodebFlvva2IZcmDCK53B876u8GiDCn8hae6ORssZbwUzg6TjW H44U26yJxwlC4cJXB1aS+Ytu8fAcs3hUPrs3jx7mtpLyZHvyKqc/o1zN8vzwkOo0AiZi 32QI/v9nlH1oqpYyY3BgodHDhqNzEZF9nPaPxX95kIN4Xn+6ztnog8AnrFLvi0nO26eV 4JzzsoYWvQSaGG/r5XWhXolK+2/RkSZJwfV78yOephiAZ0z7ASoGmwZO4/4IHGcxP+L/ MUiA== X-Gm-Message-State: AO0yUKWZe36Zbd7FqCDroBIiNRFjCSIR7LggTC98T8M1i9jSn4C/Ry4p jHsOoat5rxY5FR1xQXIwH6ui4RdFT0UQ9vGDhcA= X-Google-Smtp-Source: AK7set8yNe/rLZNCVsBX9WSzxUT0Ho31sw00p2b5fTurupAxo9PthVigH/279XtrCSpFnMmAidC/ZyzBJWGYylWn/Pw= X-Received: by 2002:ab0:2446:0:b0:66c:f3bf:fc86 with SMTP id g6-20020ab02446000000b0066cf3bffc86mr179138uan.24.1675089807412; Mon, 30 Jan 2023 06:43:27 -0800 (PST) MIME-Version: 1.0 References: <20230107161852.3708690-1-s.v.naga.harish.k@intel.com> <20230123180458.486189-1-s.v.naga.harish.k@intel.com> In-Reply-To: From: Jerin Jacob Date: Mon, 30 Jan 2023 20:13:01 +0530 Message-ID: Subject: Re: [PATCH v2 1/3] eventdev/eth_rx: add params set/get APIs To: "Naga Harish K, S V" Cc: "jerinj@marvell.com" , "Carrillo, Erik G" , "Gujjar, Abhinandan S" , "dev@dpdk.org" , "Jayatheerthan, Jay" Content-Type: text/plain; charset="UTF-8" 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 On Mon, Jan 30, 2023 at 3:26 PM Naga Harish K, S V wrote: > > > > > -----Original Message----- > > From: Jerin Jacob > > Sent: Saturday, January 28, 2023 4:24 PM > > To: Naga Harish K, S V > > Cc: jerinj@marvell.com; Carrillo, Erik G ; Gujjar, > > Abhinandan S ; dev@dpdk.org; > > Jayatheerthan, Jay > > Subject: Re: [PATCH v2 1/3] eventdev/eth_rx: add params set/get APIs > > > > On Wed, Jan 25, 2023 at 10:02 PM Naga Harish K, S V > > wrote: > > > > > > > > > > > > > -----Original Message----- > > > > From: Jerin Jacob > > > > > > > > > > > > > > > > > > + */ > > > > > > > > > + uint32_t rsvd[15]; > > > > > > > > > + /**< Reserved fields for future use */ > > > > > > > > > > > > > > > > Introduce rte_event_eth_rx_adapter_runtime_params_init() to > > > > make > > > > > > > > sure rsvd is zero. > > > > > > > > > > > > > > > > > > > > > > The reserved fields are not used by the adapter or application. > > > > > > > Not sure Is it necessary to Introduce a new API to clear reserved > > fields. > > > > > > > > > > > > When adapter starts using new fileds(when we add new fieds in > > > > > > future), the old applicaiton which is not using > > > > > > rte_event_eth_rx_adapter_runtime_params_init() may have junk > > > > > > value and then adapter implementation will behave bad. > > > > > > > > > > > > > > > > > > > > > > does it mean, the application doesn't re-compile for the new DPDK? > > > > > > > > Yes. No need recompile if ABI not breaking. > > > > > > > > > When some of the reserved fields are used in the future, the > > > > > application > > > > also may need to be recompiled along with DPDK right? > > > > > As the application also may need to use the newly consumed > > > > > reserved > > > > fields? > > > > > > > > The problematic case is: > > > > > > > > Adapter implementation of 23.07(Assuming there is change params) > > > > field needs to work with application of 23.03. > > > > rte_event_eth_rx_adapter_runtime_params_init() will sove that. > > > > > > > > > > As rte_event_eth_rx_adapter_runtime_params_init() initializes only > > reserved fields to zero, it may not solve the issue in this case. > > > > rte_event_eth_rx_adapter_runtime_params_init() needs to zero all fields, > > not just reserved field. > > The application calling sequence is > > > > struct my_config c; > > rte_event_eth_rx_adapter_runtime_params_init(&c) > > c.interseted_filed_to_be_updated = val; > > > Can it be done like > struct my_config c = {0}; > c.interseted_filed_to_be_updated = val; > and update Doxygen comments to recommend above usage to reset all fields? > This way, rte_event_eth_rx_adapter_runtime_params_init() can be avoided. Better to have a function for documentation clarity. Similar scheme already there in DPDK. See rte_eth_cman_config_init() > > > Let me share an example and you can tell where is the issue > > > > 1)Assume parameter structure is 64B and for 22.03 8B are used. > > 2)rte_event_eth_rx_adapter_runtime_params_init() will clear all 64B. > > 3)There is an application written based on 22.03 which using only 8B after > > calling rte_event_eth_rx_adapter_runtime_params_init() > > 4)Assume, in 22.07 another 8B added to structure. > > 5)Now, the application (3) needs to run on 22.07. Since the application is > > calling rte_event_eth_rx_adapter_runtime_params_init() > > and 9 to 15B are zero, the implementation will not go bad. > > > > > The old application only tries to set/get previous valid fields and the newly > > used fields may still contain junk value. > > > If the application wants to make use of any the newly used params, the > > application changes are required anyway. > > > > Yes. If application wants to make use of newly added features. No need to > > change if new features are not needed for old application.