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 5F399A0093; Thu, 10 Mar 2022 12:11:42 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E2A4B4113F; Thu, 10 Mar 2022 12:11:41 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 59AC44113E for ; Thu, 10 Mar 2022 12:11:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646910700; x=1678446700; h=message-id:date:to:cc:references:from:subject: in-reply-to:content-transfer-encoding:mime-version; bh=RFiLMonKGTQQvh/u/T/4mmGJnwU/kyHZXmSaG6VdW2o=; b=fnb0lgrSev6c66kUiaV2+sq46qGEmjrvEiedegWHIsLvZ5257iS4jOGx /e9NCrX8vKGm+wE+I0CyZQj00BJpVxS2551qMXL9O8HojWLkBH0PrfkSz wH+eHXdx9quqUwlfJqz6zeNZZLFqci8SdDjED0n3g4+M4prYETWoTtHrQ 3a33rnMx3CGINUKIIS7+lYHwBXksSIYqhzTCaP63cKmvMfW0igpQKcdr4 eFyIW31sLZ2WS6fGF/TP4By76g4mVPc4+2QeR8PjssfybKcwcCXYmRTMe H/7wWh4/MQ+gvSL/TtpjF5W6bsBe61qK1K99vftUcwIkrRYCrJGsUp4TY A==; X-IronPort-AV: E=McAfee;i="6200,9189,10281"; a="235174285" X-IronPort-AV: E=Sophos;i="5.90,170,1643702400"; d="scan'208";a="235174285" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2022 03:11:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,170,1643702400"; d="scan'208";a="547981455" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP; 10 Mar 2022 03:11:35 -0800 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 10 Mar 2022 03:11:34 -0800 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Thu, 10 Mar 2022 03:11:34 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Thu, 10 Mar 2022 03:11:34 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.177) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Thu, 10 Mar 2022 03:11:34 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Og55qbV87aYfYo84TULcKdvhlRX7daxuwkd5z5cUP9iCrUlugo6aOXKJKunlnE25wbsET3v4iYMN3/CdI8gsHNg4LWbcYvx/4yhiRbv2b19PAGIkBv1c3L57ryh9Lc7bVypyPmoRZ5asbePa1KymgXTJQlxaR4gOBi9AJYD/cXKlQeP1JUAolcuxGMlW9eedYTmxfWIXKZgQ2+gyCO8rfI75r5ypb+At275VLjHawxyZ32bbd5eLbqSkERFd7stUWRHjY75AY4gPhPIkpRzMMHgjgSpA1WwmykZlNtlbEcCx7dZrbyx4yhtdH0GE8itn186LolBZCzpFCDhchjh1aA== 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=NBBkwXYlER6e+RFspKr7CMCNzds6ydLfpb5IUmTUAgc=; b=WtFoIRvah2m3uUNTMj/tNxD+HB+aWmlo4xRYGl1PjCxjr2vDCiM7YLscXG+DIFEi4mCHX22kGC4QgiY9HfANXWzf5o9BuiviZhXG6E8dpuLWtUOKXqoCCUL4ld4EnFNUYsrFjWn+mVceSXNg/u7HvRg4i/sPvlxq0D7jAp8cTmwa3ToM7R/hoAinvfkllkrL8nfuuxHYi2qrKTCxV0UVAg81CVBFTNfN+shS1jGXHlv0IVoKvDYhxikiSs1ddgUOSOb7s0wVMLqjvhHClW021qQf3xO79V9Zv07WW2i32caM2O8fhP59AsKhjXCdSiL42BtK0zcVK9Bjb07Pky6K8g== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) by MWHPR1101MB2128.namprd11.prod.outlook.com (2603:10b6:301:55::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.16; Thu, 10 Mar 2022 11:11:30 +0000 Received: from SJ0PR11MB5005.namprd11.prod.outlook.com ([fe80::5019:4fb4:cca9:9427]) by SJ0PR11MB5005.namprd11.prod.outlook.com ([fe80::5019:4fb4:cca9:9427%5]) with mapi id 15.20.5038.027; Thu, 10 Mar 2022 11:11:30 +0000 Message-ID: Date: Thu, 10 Mar 2022 11:11:23 +0000 Content-Language: en-US To: "Wu, WenxuanX" , "Yang, Qiming" , "Zhang, Qi Z" , "Li, Xiaoyun" , "Singh, Aman Deep" , "Zhang, Yuying" CC: "dev@dpdk.org" References: <20220304023701.499961-1-wenxuanx.wu@intel.com> <2b3f014b-af62-db9b-95cc-5dfda689b6ae@intel.com> From: Ferruh Yigit Subject: Re: [PATCH v2] app/testpmd : fix testpmd quit error X-User: ferruhy In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: LO4P123CA0281.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:195::16) To SJ0PR11MB5005.namprd11.prod.outlook.com (2603:10b6:a03:2d3::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 36f4ca88-407d-4d77-6341-08da0286ba55 X-MS-TrafficTypeDiagnostic: MWHPR1101MB2128:EE_ X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: mfD8Ybb2fyekNT4e5f396DYfaAcCLk/bmy2eX6McBZVHwPLaPh/PBkPHsTldhtdO2g4vEqbTfDz7Tv7aG7lcxCVEYphscLPs9ns2O101YL+CW8GjyhthdnCpm4My9k3hMgTHSTdQHj9rpCAwgi0VRIs12u6lntDuPFfxl4j6saijU5pTE8P+Pf/K01BEGNdt5XUsbDYkS3WLL7Es7qVdPPzjd8vzH4TqpMvCTcCUOMt1rxtGCcPn3tn6hHcydnRbgJyEpstqSR1T6W5pJq4h2ucrNi1tIHNi4kfVacD6K6vFVQJtvNTqM9jkqL2LBH7axTcfx30VEBx/m1MV5c0JUCU5qP/lMi923CkYDOFsJexG6+4jvqyhB/fsl7yUOLpGl3jUuv2yuR0b6SeyRCBlVIsr3XzEaxjItVNqHKN0ZVC/7h5engpUSSY9UD51yMahg7E5QxX4wtpYhLqA+qJYglzv6E3E4pRaptJNYaSD4GsXoqmK60PfotF9SDdxpeLCYNdRXWJLXxlLZt91tI5ccB/l/bBrDDqCB41H6wgbdK2S1eLQ3rcTrn7nnVT8vRZ11mEQ2a2yTXLZk2aM9dNikf0lSw7znDzXjMOxMSWJTQDyUW3OM7G8Km5eDtWiYxy9khE5fwrBjf5swHNQAmtz9gi2s8h2NCKVFrh8rjqsf6KJ9GqSyDwKZfH4pnZYQRa3nbeIUigxGSCU0uF0YYFj4zphHDOYYxdSJaBufQao4Ls= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR11MB5005.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(2616005)(186003)(26005)(508600001)(6486002)(83380400001)(86362001)(6666004)(6512007)(6506007)(53546011)(5660300002)(316002)(6636002)(8676002)(4326008)(44832011)(31696002)(110136005)(66946007)(66476007)(66556008)(36756003)(31686004)(921005)(82960400001)(38100700002)(8936002)(2906002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXNaLzR5a0xSeGc4WVF6UEtEVExFcVVxSGNmWEltcGxjUnovdlZta1dXRzRW?= =?utf-8?B?VnFxMnBRNG40d3YzVGhLMWxqeDYwNzRLU2kyNmtWNkFHMHJWUHRQOG9aRVFN?= =?utf-8?B?eWE3ckM3NkxVQ1BiOFphTXZpYU1PNlVLRFJQS2V3VlRlaFhSRUdZVDhSNSsr?= =?utf-8?B?dVNiaEdMSEVpcHF6anAwR0c0WDhxYi9YS2hGVnRuSy9vTERTUXRNODMxQndl?= =?utf-8?B?dkk5ajJyTVB2UW9jNHY3ZVNMbVdxamh4eFRyenVFVmRqZmJ4eENubzM2SVVq?= =?utf-8?B?QWhEQ2RtYlUrNVd3S1NOK3c0SnpxWm1pbHFjaytXNWdCcTdsRyttTFZqMG80?= =?utf-8?B?SmJlYklFeFZ2dy9tSE9vQVVza2hTRCtBZi9CRkRPSHhSMGp2bGRRaTQ3Nm1I?= =?utf-8?B?YjlxTUZNQmNudzNpcUpRV0NhMC9Bekd2V2o2NXdocmpJUTA3QTV4NDRQby85?= =?utf-8?B?NmM3L2lmdWlsc2JaUkFzNFFJVnR1SFNSZ09nOXdkc1pVbkUxY2VhcHFhKzZr?= =?utf-8?B?SlpHbi9DdGlMc1lRNlJYeXhjODRHNmFsN0dMeU9OUjY1YmxvT3doOS9wTU53?= =?utf-8?B?TlZhTWxRZmt0bEFySysxM2VYZENjM3FNd3dFQlNMT3hnYnBFMkpFTU1CN3c3?= =?utf-8?B?UGlnbmVhMmM1emNCV1VLVlNHb2pDMlZxamJxSjBpanYxdGRnekNpOVNLcy9U?= =?utf-8?B?cGl3TmhLemVJTkViNkVIVGcvdEw0RHpleVdPSkhPTGRGNnJYa3NPUzRvZ3hG?= =?utf-8?B?Z3VmY3FSQ0VMNmFub1ZpcHFuQ2cvdkJvSCs2QXpoUWlTblRCRkJqUVk3bThU?= =?utf-8?B?Snk1UmRWTGNvS0ZCYU94ZEJzUWtjMkxCbkxSR1pLTkY0K2kwS0Rva3Z1ZitV?= =?utf-8?B?QWtNazVXcno4NXdvZlkwVVBmaXUvK28yYWVoYmdnVGN6Ti9yQTFMb05zdEZE?= =?utf-8?B?Vm95QlVLOHNjdHJ2a042WmxDNXN6cHFpc01YZ2swMndJdnpMT2cwTVlPWE0z?= =?utf-8?B?K0VVOWVmSGJkcjdockxBMC8rT3B4bUhiT1YxMnVJaW0yK0diU21vTlAvejVB?= =?utf-8?B?NkVTSWJiZ2srRUV0Z1RiQWtCSy9Zd2lFYWozbEJteFlqS0dsWWZHcHduZG9F?= =?utf-8?B?UDhTYVVoRVYxc0NVbXh0a0FEVWVGMmxReEhqelJzU21sa01rdlNOR3UzRFcy?= =?utf-8?B?Ulkzd0x1aEdveWpoODBzQi9POG5tbFZPWEhpNSthejNYUHJJR0ptWG0zQU56?= =?utf-8?B?SjNFMkluYm1PbkhuZHdQRFJycjg0SGhrN1ZmWWZ0ZlJWeUpwT2k1Qk16MW1p?= =?utf-8?B?NTYwTWlwNklwVHNvRno0WTRDUEhkSm0ySERyS0hudkhkUlBPRHRaQjUwS0RO?= =?utf-8?B?amFabzlPUU8vdVJTSkdNVjNZTWhlTlkxMyt1U3dqUHJLdEE1WXJzaUxjUmF1?= =?utf-8?B?QnJBVXVxdzFRck4wNmRNTUNmdGRXeGYySm5BUzNhZUxCNVROLzZwdEdmYktI?= =?utf-8?B?MVNLY0hMYzg1NUtwamhvMjBOVC9EeWFTbFl3RFliZEFOSG5yT0NZbHNIWU9t?= =?utf-8?B?MXVJeHdwT0JOSTFlNXJFNHg0OUVCWEZ4VHQ2dDN1K2FWY3BacWVHc1d5NlZV?= =?utf-8?B?VElwWC9wSzFjZVJOYXIyUDlCUXQ1aFE4b3ZDUkRaS3FuWlVsNnVwTFNOVkRI?= =?utf-8?B?R3AyWloyU2p6YmRmUnhVWnZOeWJvSDE0cHVlZ1U4ekNJNnFCeW9oRjgzZ3Zm?= =?utf-8?B?MWVzdXFzYlRHRFdUME1EWDYzTkFzc25XQkZxSTl5OVZZUW5NdGNzOWtPN3A1?= =?utf-8?B?REd6dnNjRDZySXdvSUZ5cGZna25QUG4waDBVUDBhSEtNUVF1dFdqMnBCK0dL?= =?utf-8?B?aHVPRDhTQ0FwcDk0b1NxTmZLTjd4Q0lUWkYzOG1RUTRGeGsyQUNQbkVtRk1X?= =?utf-8?B?dkJSL0ExdE9WTzNHN05YQm5sRUJoZ1JIcTNVdFowNzZMRVEveS94Unk2WE8y?= =?utf-8?B?ODZQNG9UWXkwRDFDbXBjT2Q2c3QzMTZTT3ZoTmJIREhyNlBwelNra01QWi91?= =?utf-8?B?dTB3dmxmNVB4VkJNSG9KaEVOZWZ3aGZVamlYaFpMNi84eWU4em0yWlVCSzNV?= =?utf-8?B?UEozR2ZrVVlkZFEzZmx2MGNab3FRczRQZmFHTTlQZ3BJYnlDVlBJdi9sNGZy?= =?utf-8?Q?jwwWUElV2hYTn3XDM2OYH2w=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 36f4ca88-407d-4d77-6341-08da0286ba55 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5005.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2022 11:11:30.4502 (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: 1zvKdmSpCMK8rLt1sRAGGDv3IRQ4qwZGH6hJYqYKZHx5fzESrnKvay9CA2YDxNcalprL72WFUK/9ocYKgTuSvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2128 X-OriginatorOrg: intel.com 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 3/9/2022 10:10 AM, Wu, WenxuanX wrote: > > >> -----Original Message----- >> From: Yigit, Ferruh >> Sent: 2022年3月5日 0:19 >> To: Wu, WenxuanX ; Yang, Qiming >> ; Zhang, Qi Z ; Li, Xiaoyun >> ; Singh, Aman Deep ; >> Zhang, Yuying >> Cc: dev@dpdk.org >> Subject: Re: [PATCH v2] app/testpmd : fix testpmd quit error >> >> On 3/4/2022 2:37 AM, wenxuanx.wu@intel.com wrote: >>> From: wenxuan wu >>> >>> When testpmd use func get_eth_dev_info() while related resource had >>> been released. >>> >> >> Is 'eth_dev_info_get_print_err()' fails at this stage? >> What resource is released, the 'slave_port' itself? > Yeah, 1PF ,2VF_repr. > Close port pf ,ok. > Close port vf , error. > In port_close() func, > Is_bonding_slave() call eth_dev_info_get_print_err() to confirm whether it is a slave or not , but when port is a vf port ,and pf had been released, this eth_dev_info_get_print_err(vf_id) would read a freed memory ,result in this bug. I see the intention now, as rephrase: When PF closed first, ethdev calls to VFs will fail, in this case 'eth_dev_info_get_print_err()' fails if it is called for VF when its PF is closed. I think this approach is hack, more proper option can be PF port refuse to close when there are outstanding VF ports but this is more work. For quick fix perhaps we can continue with first version of your patch, which closes the ports in reverse order. It has its shortcomings as we have discussed in that version, but better than this approach and it cover most of the cases properly. But please add comment for intention of the change and that it may not fix all cases clearly in the code. >> >> And there may be another logic wrong, it shouldn't try to detect if a released >> port is bonding port or not. >> >>> Change the logic of func port_is_bonding_slave, this func >>> eth_dev_info_get_print_err while pf is released would result in this >>> error. Use ports instead to avoid this bug. >>> >> >> This relies to application level stored value to decide about port, not sure if >> this is reliable. >> >>> Fixes: 0a0821bcf312 ("app/testpmd: remove most uses of internal ethdev >>> array") >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: wenxuan wu >>> --- >>> app/test-pmd/testpmd.c | 12 +----------- >>> 1 file changed, 1 insertion(+), 11 deletions(-) >>> >>> diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index >>> e1da961311..37038c9183 100644 >>> --- a/app/test-pmd/testpmd.c >>> +++ b/app/test-pmd/testpmd.c >>> @@ -3824,19 +3824,9 @@ void clear_port_slave_flag(portid_t slave_pid) >>> uint8_t port_is_bonding_slave(portid_t slave_pid) >>> { >>> struct rte_port *port; >>> - struct rte_eth_dev_info dev_info; >>> - int ret; >>> >>> port = &ports[slave_pid]; >>> - ret = eth_dev_info_get_print_err(slave_pid, &dev_info); >>> - if (ret != 0) { >>> - TESTPMD_LOG(ERR, >>> - "Failed to get device info for port id %d," >>> - "cannot determine if the port is a bonded slave", >>> - slave_pid); >>> - return 0; >>> - } >>> - if ((*dev_info.dev_flags & RTE_ETH_DEV_BONDED_SLAVE) || (port- >>> slave_flag == 1)) >>> + if ((*port->dev_info.dev_flags & RTE_ETH_DEV_BONDED_SLAVE) || >>> +(port->slave_flag == 1)) >>> return 1; >>> return 0; >>> } >