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 B0358A0C4D; Mon, 4 Oct 2021 17:31:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 46356412CA; Mon, 4 Oct 2021 17:31:56 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 3A9E441255 for ; Mon, 4 Oct 2021 17:31:55 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10127"; a="222912950" X-IronPort-AV: E=Sophos;i="5.85,346,1624345200"; d="scan'208";a="222912950" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2021 07:56:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,346,1624345200"; d="scan'208";a="544328392" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga004.fm.intel.com with ESMTP; 04 Oct 2021 07:56:25 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 4 Oct 2021 07:56:25 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 4 Oct 2021 07:56:24 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Mon, 4 Oct 2021 07:56:24 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.170) 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.2242.12; Mon, 4 Oct 2021 07:56:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K8e1hZMMhmzz37OOCMHAyJYOmqFCJONszGnuBx8qpFz5+nVV6anta7IhuZ5Qv5sAQcQ8sag0gVjEf56u7YjCFZehDWArUkwB68Ht22zr2FsFa4MAgKNxqpwTqvi38YfnH8nneD2aNfl2qWaftltR22JSqKtY6dk9aCyec/QZOc/U6iQz9PGua3bmaDak/PAmZQ+GyrjLfs1gDKqbxL/kdnpDrwvOevULB8pLxX5Wktkrwn3FGljA+D9fkHuwhD29EW1O/dlsmPhHS8Qmhx5ImcL4rjyyGcYr3WE4rnjijDqByKBUrTXkqgWXu5qfXqtefbctmIguGQFAf4XwTLcmYQ== 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=bv1se3iTJwieyoW/3zrhckJKKMeHR06zlPFNzZUrdAg=; b=N2HQTIGNnDei4AJMnnZ+qtew6uHJwoL+deCkG8x+DI6RuFpdE82e0mv3EavMpL+MkvmCNuPHuGJzSCDKhKmY5kZiCO6eWlD6rhZl70jRLCX9KwG6SDIIweArFjqC0UozBtNKkGs+hyMSb3tGrl1ZJ79moMPzJL9fXBE7La7MtCW1x1LRZZGIQN22MFbjmZBWcJnw4md3LqcFvoHB7u1/tInZ1VYVP0jmCzc3RF8oqgKKdDh1n4B/ayI4SOgDqQsssC/QdYk+wthby01ZADKZei6oS8tSlamFOAxt8AZONGwCfrcsVRyUR4zFUIkg7eyX7XrgswvsONQKoO7v3fmp/g== 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=bv1se3iTJwieyoW/3zrhckJKKMeHR06zlPFNzZUrdAg=; b=Sf8jqj581bY7+pOZLZkJmdrKORuW37+mVrW8ulpqeuRgvVaclJtGpiR0Cuqchk5dvlGXhymYR1KYDabQ8wFj/HhxxNMvjq7w9UDaaxvZ5XuizGrl5py7Be+LpDFV1xnNjxUwOVBsea6N2Rs7kT9yd2EtGDtbEk4AQt8wmjRsnIk= Authentication-Results: oracle.com; dkim=none (message not signed) header.d=none;oracle.com; dmarc=none action=none header.from=intel.com; Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) by PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.19; Mon, 4 Oct 2021 14:56:23 +0000 Received: from PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::747b:3a08:d1ec:31fc]) by PH0PR11MB5000.namprd11.prod.outlook.com ([fe80::747b:3a08:d1ec:31fc%4]) with mapi id 15.20.4566.022; Mon, 4 Oct 2021 14:56:23 +0000 To: Eric Christian CC: Elad Nachman , , Igor Ryzhov , References: <20210924105409.21711-1-eladv6@gmail.com> From: Ferruh Yigit X-User: ferruhy Message-ID: Date: Mon, 4 Oct 2021 15:56:16 +0100 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-ClientProxiedBy: DU2PR04CA0163.eurprd04.prod.outlook.com (2603:10a6:10:2b0::18) To PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19) MIME-Version: 1.0 Received: from [192.168.0.206] (37.228.236.146) by DU2PR04CA0163.eurprd04.prod.outlook.com (2603:10a6:10:2b0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Mon, 4 Oct 2021 14:56:22 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c5906edc-a693-4ec7-286c-08d98747220f X-MS-TrafficTypeDiagnostic: PH0PR11MB5000: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: a8C3WRkklk/RC5hJUN/77l2UlmFFIkgxxAWEUPO/vrChi9fxhS0oi1B2tCQXb35iBgmP2PzzfGbhF7cIchdjsSfXqf667P67f8WQx9O2df6YVcsZAqPVqTUjem4fXkC0Z++gvZnCFeQY6bDLFB4iZQ4o76XddFTAc478iPJ9oX8F2aabTIjC6k+flvFXza3pZM2pRVESW0/MCV3aYxNQkPnb0uA7WTqgEvBPcVlrOT6i/8JrLIhKn9YUqAurGDeqfW4fRP3Y9k/pNAgG/O+SKIhE1q3FhrZH0taBStW5dpFlB0jyl7dxVCaywTEEpbRMdQXOflENh2aqd6mXjQOwtpV2n6zFUxaKYuPWH362cc8OdcVmgx8gfPaHYTqIIUtwsKQk6rcwCTQMN1IIcLfYxLJx0z673rhCME7qMYqRzrcrk2fy9WZRWRkoYboESnDt+bb0tJCdHPVwUWF5DbnxM5XZzQg9ypo/uUPNTj31p7gR88ChxMnfl7VpecB2zSoxLWjZSRJY6e6jRKvoHKMFE/PpGaL0v1X3vMpEM0NAwHJHTMsoaMfljFdrRNP10A8iRqKeQGOILXZ7RcISqAE1YVbEPFcboB8GiAutWqLYn9mpVEXXTEdbEWnorpMWaP2RP17E7IeVq0gZ7ULmbB6CXTX7qUBx/TNzs8pF27/vCCQ1KuF9H3DlPgRYKaM+gYL3S4A9yuCrYBP3LtQd44K1O4ED6cHWONRBZTzxiLx8prliLtHD5SQhnJQmWwavdfqWqI61yKPFXFxwWhzagSKpVqaUXDvJs3CnWFAK/S0gzkk= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(31686004)(6486002)(186003)(8936002)(16576012)(38100700002)(4326008)(31696002)(86362001)(6916009)(5660300002)(316002)(54906003)(2906002)(2616005)(66946007)(66556008)(6666004)(966005)(508600001)(66476007)(44832011)(26005)(83380400001)(36756003)(8676002)(53546011)(956004)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?c2RqbDMxOE80aDdDY2FyYXMwUlJ4OTBLRTVnNkZmbUVxQzViNnQ0Y1ByZ2la?= =?utf-8?B?em9RZm8wdWhqNFBPR2hIZzN2T1ZIZk5XTTZsSmFrbEpDM3l5SWFqTDVFV2FZ?= =?utf-8?B?SDBLU2FYbnhnR0ZhcmFaV3NmdnB6WUhPRTJEWDh1VnpHWjVFK3RQNDZHanc3?= =?utf-8?B?VDNKbDVEUHJYZHE2bVFvWkNybHIvbXpTVFZJZ3E5TG10aC9yQ0hTOFhEcSs0?= =?utf-8?B?SW96NVl5MnB0cmNJa21OdlB3L2ZkSnV1NVhhWWxhdVMrdnZITENzbFRUZVUr?= =?utf-8?B?LzAzY2ZuNEVOYXhlQlErMUluZWpaZDFFM1ZVL0h4SGZVYzRGQUh5QVpzZndX?= =?utf-8?B?elNBbzF5dU5QanNIMk9CREsvT09WSlk2d1hreTY1ZVBEdFBZejBBUGI2K3hE?= =?utf-8?B?RDBYQmNkbVVBbTZSekt0R3BuUWNMVldMVEdsWThaanp6c2d6Y011MVZKcFV1?= =?utf-8?B?d1lHL042NjBGNzd3TFljRFgydE1MN3VESzdNUUZ3cHk0Q2NGcCtOUys5d2JR?= =?utf-8?B?L0o4OXRKeitxbFo4VzJGRE9RN1BCQ0g4Rzc3SUtBMk5FakltRFBpdnVNY1Aw?= =?utf-8?B?b1A3bEJHb1Y1OXpKK0lrc2h6aVFkTzhWWk5xMXFKRU5aQUNkbFQ1dWRDYkZo?= =?utf-8?B?UnR3WC9xb2dGMWN6WHVCREk1UjBhQUFmQThiUW5KUUcxR2lZQlpvckxPbFNB?= =?utf-8?B?RVdET3F0eERnRWwrd3ZDV1oyNVQwTzZKcEtpQWx3ODVhN2tVMjhXU1J0NWM1?= =?utf-8?B?YWNuZG1wMSsxdnY4OHMzcHpTU0ZtTDQwMkI3cFdFMkpxRGtxNEFEZE5EYy9n?= =?utf-8?B?cFY0NnVEcE9YZ2pwaVdhZ0V6c0gwVjBvYUIyWmpHTXd4UXhCZ2crSkZkZndP?= =?utf-8?B?NVAxTUJjWHFYU2xJWSszUXZMMGpndGozU21wZGJjaFcraWljRDBoMHJmWUxW?= =?utf-8?B?T3RKeWR6UitZdXlleVNPbEdwVWZTUHUxL0dqNWhLeCsxRXAxcGNQRTA0N2lV?= =?utf-8?B?UDYyN1QvbGF5RUJJcXNPOUZYa2F0WlpCbWcvcXpMVWRKdC9ZZUJjaWJKMXdU?= =?utf-8?B?Rk14Uy9tYTVXa2FRdWtPTFhhUXl1OC9Ub1J6aTZCdXE5aGQzZEhURTUxUk9o?= =?utf-8?B?NVJjNHFxdkJpeTFKR3ZBSGdudTZqZEkzMkViWnNBQlJqeVRKS2NRNTQ3cERk?= =?utf-8?B?bUkzc3hNenZZdUtocEE5TlhTdUhlMENkSkd6aHB5Q1VGN2tjZVBLb2duRkRT?= =?utf-8?B?UHlscnA3Y2NKRzRHWkR6N21ncnIyODYxdVZOQzgzMmFpUGwzRmVlRWM5WUdN?= =?utf-8?B?NTNqR2RtdStndjRtV2dYNW83WDg0dktuenczT3dIMDcwS01SZEJCakZraHQw?= =?utf-8?B?ZFFUMEhVMWJDbThtUC9ERjNFeXFyOERXUEUxRU92UVpRalhyY0s2WFYzWnND?= =?utf-8?B?SEoxOTR1NHo5WHNBNDhQakw2UEtYK3lxSzVIbXQwdXBaS054MzE4bVVIRWw2?= =?utf-8?B?VWNiWW1LcmxzMGVKcTdRMjU5UkgrTjA5TzRpQ09xQ05qTUVtclpZL0w4UzBl?= =?utf-8?B?ZXdJSWtreDU2djhKR2NkV2ErTFZrRDJqQ1hTa2E4YjhURUtTdHIrNGowV2lk?= =?utf-8?B?SVFrUGV2ZDBFZjJWQlNSZU0rUk9OcExqQW5ibkdLb3kxV2d0OGpRYjRoUG95?= =?utf-8?B?WG8zMWhscENMdmo1TUErcEdvc3Foa2tLNjE5TlA3cXdHbmpaeUVtYy95QTVC?= =?utf-8?Q?uLT23eE0Po9WepsWDW6PAsLh7I/VQUOMAwX1lr2?= X-MS-Exchange-CrossTenant-Network-Message-Id: c5906edc-a693-4ec7-286c-08d98747220f X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2021 14:56:23.4617 (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: PgxN/xkHnR63viQm9as/t/GSI1Pa8augiufc7jmFLhdQgGTMtMIpCINEpJfUMYDnhTitR+aXTmJGrbupZ3Z8RQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5000 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2] kni: Fix request overwritten 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" On 10/4/2021 3:14 PM, Eric Christian wrote: > Adding Sahithi. > > I believe adding the -EAGAIN method puts the responsibility on the > application/caller. If we take the change MAC address as an example. Most > application code just does this kind of check: > > ret = ioctl(sockfd, SIOCSIFHWADDR, &ifr); > > if (ret < 0) { > PMD_LOG_ERRNO(ERR, "ioctl(SIOCSIFHWADDR) failed"); > return -EINVAL; > } > I am not sure '-EAGAIN' should be handled by the userspace code. I assumed that kernel netdev layer will try again if ndo returns '-EAGAIN' but that seems not the case, so perhaps we can retry in the KNI kernel module. So the issue can be handled without the KNI module transparent to the user application. > So the existing application code will treat the -EAGAIN as a failure and > not retry. Unless it is expected that the IOCTL can return -EAGAIN and the > application decides to keep retrying? > > We can try this, but we have temporarily patched out the async changes in > our code as it was blocking QA due to > https://bugs.dpdk.org/show_bug.cgi?id=816 > > Eric > > > > > > > > > > > On Mon, Oct 4, 2021 at 9:05 AM Ferruh Yigit wrote: > >> On 9/24/2021 11:54 AM, Elad Nachman wrote: >>> Fix lack of multiple KNI requests handling support by introducing a >>> request in progress flag which will fail additional requests with >>> EAGAIN return code if the original request has not been processed >>> by user-space. >>> >>> Bugzilla ID: 809 >> >> Hi Eric, >> >> Can you please test this patch, if it solves the issue you reported? >> >>> >>> Signed-off-by: Elad Nachman >>> --- >>> kernel/linux/kni/kni_net.c | 9 +++++++++ >>> lib/kni/rte_kni.c | 2 ++ >>> lib/kni/rte_kni_common.h | 1 + >>> 3 files changed, 12 insertions(+) >>> >> >> <...> >> >>> @@ -123,7 +124,15 @@ kni_net_process_request(struct net_device *dev, >> struct rte_kni_request *req) >>> >>> mutex_lock(&kni->sync_lock); >>> >>> + /* Check that existing request has been processed: */ >>> + cur_req = (struct rte_kni_request *)kni->sync_kva; >>> + if (cur_req->req_in_progress) { >>> + ret = -EAGAIN; >> >> Overall logic in the KNI looks good to me, this helps to serialize the >> requests >> even for async ones. >> >> But can you please clarify how it behaves in the kernel side with '-EAGAIN' >> return type? Will linux call the ndo again, or will it just fail. >> >> If it just fails should we handle the re-try on '-EAGAIN' within the kni >> module? >> >>