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 458C5A04FD; Fri, 4 Nov 2022 10:23:50 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E895B42D10; Fri, 4 Nov 2022 10:23:49 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 38495400EF; Fri, 4 Nov 2022 03:38:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667529529; x=1699065529; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=44fcM3QpgBZzysFQVDP+t0oFd0eENDiZcbRdZiT/kM8=; b=aZzLzhk8N1LMDD194YsB3qHiqA6baTXiZwMiYSbs4Vfnt+nlhX3Y5FgU VHe4ErJyiPt0opppc5vLwxKv5aUQCE8uBaGX//1st8+U9Xn8OE2NAR0gE FUTzWauKgXPNQcEo3+pBrAJIzK54vH3uAINKMOy2l4fvxbvBPN7RLTYpp oMsLEfMsv10imXII0+S4q92+wROsIEhnZZyvyZfgUyoEZQ3fV9gtw4Rxb ENyP5y5DJPaikbhnEjxGHlMYmZMbBZnEOat3fPNe6FOO6JpPo5BNVQlTE XthpYUxh0alWbv6wXwywTe99sqlSLX7KOW744lL9GeuB5RiSP33/9gWXh A==; X-IronPort-AV: E=McAfee;i="6500,9779,10520"; a="293186459" X-IronPort-AV: E=Sophos;i="5.96,136,1665471600"; d="scan'208";a="293186459" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2022 19:38:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10520"; a="809906298" X-IronPort-AV: E=Sophos;i="5.96,136,1665471600"; d="scan'208";a="809906298" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga005.jf.intel.com with ESMTP; 03 Nov 2022 19:38:48 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 3 Nov 2022 19:38:47 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Thu, 3 Nov 2022 19:38:47 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Thu, 3 Nov 2022 19:38:47 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Thu, 3 Nov 2022 19:38:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WjnbW67onzXBXRW3bA+BZsxTNDzUA7zkz/p6BrcRs/6wsTqvoGX4GMU4zfElbnc/s9N6RTijEhL5jyZXnL9VnIA8GtoyfIfw7luVhB1O4cfjeDaaRzox5NzMUkHoXOx5dTZhGIoO5DqBI/jiHgx4CFxA40TdcI9UvlIbrKhJ2xjhdI+MUSF4tFNyf2lhiFZEbkGLA1En/64Ja/W3P1pzveM91pF2hGdyDYTJjggKA8Lttl72ysZf0Jx5e6LfEgJs7erhQElyS/ifNu+V/jVStM9bs13usZw5JxKJgAsreNnrUYP5uy1LFbN3V1il95Me2ausPaSUgN9Pv3pGLH7Eaw== 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=+N52PyG4mciwCsVkxRbtbO+epYlQ8lkemCOwsFiEYgE=; b=nsIClw7UOP7Gy5jF5qnn9ECgXVDtg9E1LdaNHTbziEAfwJL3CGVolfRgZgPzskwjGnmvvZXaC0UdVxbtmhhFK5RI1SM8NtyOZGzXDT/glprhpcnBFsKMLUOqb5McWK3W902Vhisds1OxFCgCcLIr/IYFuTRDYdKAPRTJjCtFpo3HfiKAGoCIJ5mHCL/yjAC6Dpq8WiItR31VIvea0gKQos3uxC5bUHAAZUYYSxdxwGM0hSxib+Z7dP/u7SZLkhgFpXpQ3LpXkjBFt5vZ/tLH5l/pxgyVKz3+3vqVDVOLbpN+dCXV7+/EnmegvHHbiNy8MhIsXEWEL2oicMRvw1sQTw== 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 Received: from DM4PR11MB5392.namprd11.prod.outlook.com (2603:10b6:5:397::10) by CY8PR11MB7340.namprd11.prod.outlook.com (2603:10b6:930:84::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Fri, 4 Nov 2022 02:38:46 +0000 Received: from DM4PR11MB5392.namprd11.prod.outlook.com ([fe80::9ec8:cbf6:4b6b:80a1]) by DM4PR11MB5392.namprd11.prod.outlook.com ([fe80::9ec8:cbf6:4b6b:80a1%9]) with mapi id 15.20.5769.021; Fri, 4 Nov 2022 02:38:46 +0000 From: "Mandal, Purna Chandra" To: "Maheshwari, Abhishek" , "maxime.coquelin@redhat.com" , "Wang, Xiao W" CC: "dev@dpdk.org" , "stable@dpdk.org" , "Xia, Chenbo" Subject: RE: [PATCH v5] vdpa/ifc/base: wait for queue disable before saving q-state Thread-Topic: [PATCH v5] vdpa/ifc/base: wait for queue disable before saving q-state Thread-Index: AQHY72u0CgpoiI3ph0OuN1mNCjlJLq4uDeCg Date: Fri, 4 Nov 2022 02:38:46 +0000 Message-ID: References: <20221103043635.2334541-1-abhishek.maheshwari@intel.com> <20221103093500.2337873-1-abhishek.maheshwari@intel.com> In-Reply-To: <20221103093500.2337873-1-abhishek.maheshwari@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB5392:EE_|CY8PR11MB7340:EE_ x-ms-office365-filtering-correlation-id: 1c604e61-1d34-475d-1976-08dabe0db247 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hbYAurcvGpRWaibiIdq1mAI7nQgzgz9nOWMSBguAeupk2WIyyIZJdVXdob3yXwACkz4j+Q7PhkRtTHRmjTSsBqSJEPwl4Lcxdmi3PENGGQdBfJ4Q8ef3ByZqyzDML9tT1OMoTl2JpcFOGkDa+bwgZ8dQTqLqzSHqZuXjn1oIjNTB7KpRIslZ9k7d5S4djieWgekUGz8/p9ZNTH2SlkA6PvVbXNQQmxHqvoyjKc0Z2h+C1hqiOy2ctW5yFw/w2gmZd4wFaGd6tdaZMBcE6jhC8reCBtOJ7UtXasxQEIapDM2m0R5jZ+tKaIZqtU5icN6r7QDBl4b8XnMFZjRC6oazQCYsMnTqQLHkf0kzvYWzvYxA8KABgtfzFNco640SQZqK0FjHGBkOMXKbc2dv/PV/4ABYW578gYvTvsxeYomHP3Nut0FokOJAR0YKGqGEciABn/nhGCRJUL08EiFSZNC+KVOGPUgYaQLHrfamdQy2aO0/4GlpUeAKqpJlccFeBHKd6e2dxWX/7fXIyX9GnopcCFEy7BeTMrg4O7fTzTa+QjeX17Q/vlnFPvfckN1SddnIyz8joM8r+CPlrrhF5FNPhEyvShDcBe1mZKvhnixWjLu7JSQLrxE2OmQGMv0GL+mRbvC+owjXsOpNh4VIhMSoGLO1kVhhmtXuHTMaNCI6AE6apZE1HbH3bwoOs/F5NQLIwrx89WoG5mpMMrvbSCPVxEaMd4ZfPhCMF+NtqeKcGX+SNWLokgfCQI5qexGpdSmQrITEXpbWOUfWfkK7lwY2Vw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5392.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(396003)(346002)(136003)(366004)(39860400002)(376002)(451199015)(9686003)(53546011)(55016003)(478600001)(4326008)(71200400001)(38070700005)(66476007)(64756008)(54906003)(7696005)(86362001)(107886003)(66946007)(110136005)(76116006)(6506007)(33656002)(6636002)(8676002)(66556008)(186003)(52536014)(82960400001)(41300700001)(26005)(316002)(66446008)(8936002)(38100700002)(83380400001)(2906002)(5660300002)(122000001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?23WztqZEDgqMoSeSDXFEIc5efdFhj4sc2UXLVn1Uirmcmgukh0VwZncc/Mjt?= =?us-ascii?Q?UmA6KgILvDXhlXdDhM6NzDMU/6lda9NzdRzG+uuYCPF90RcAlc6qMAP7DCwv?= =?us-ascii?Q?fFoBFYC8YLk7Nv1vraSxQGFwimEimFKf0yTenDYAla3KzGXIFWGBpdEFlazG?= =?us-ascii?Q?SppW3N7mr3LuLotxZN4A72/GeB349kDAD3jEckVU2PC4xc/7pLQKfat27eYw?= =?us-ascii?Q?C4OFdBIyrhTYY8ErfukKSmlrGnvhW130yhFFhuEQV2oPq3sGDSlnyze66tqg?= =?us-ascii?Q?RlR5N20w8z33AuURsjizPOKavR1lzTafXub7WgiejRxW7cSyiDA70uhArg06?= =?us-ascii?Q?yEJVfSm8UFU8bbvDu8NRL07DqiT2t+DFsuP1DelLeomZ6dBIdiP+a51rzrVa?= =?us-ascii?Q?6rhviLqdCTLrNIusg+I+A9v4w4frb9wrI+Y1Tci5bkbbp3/aNZKAa4e3mLYb?= =?us-ascii?Q?jHg7muLQOh0C7d7b3PEgQXRayj0Hq+3Z95lzUy5QZM4PgFl57x/k3HNDv7sb?= =?us-ascii?Q?H+tJNPoak15qiWGnLio3WRnGbTmfyFsnfqaHZblyqTcMfaYOIi2moegO1+dm?= =?us-ascii?Q?d2Yf0fRYSxx6taN1RHUCzKwbxbxyw9Y6U9wwUH67yLCm/t1L6+PDhbMenGTp?= =?us-ascii?Q?1ydGd3qFwbdatmR/9VfvuZWcVME3Jjv3t90AQYEYOr8qNWgrk827ju44TpD2?= =?us-ascii?Q?3xkCjoAI+j4nvs5B5CwmQB2q7LTvrX3DVgyWsZPkAa0EhYW+CuRiWP4oOQnf?= =?us-ascii?Q?dA47+i/eJ6/S5LFoI+/U7UOw/Nf2twBrCO9iNTE7mm06XU0rDJ51FAXlcAln?= =?us-ascii?Q?LxBm9zUXE/euEklUvtYjrEYqkVh+VlDKhW3lnp4mtYQebOtuTVqr1SCgZaVR?= =?us-ascii?Q?Gr6i2dJiym2J12oOQ45fuX4uj36Lij82KYLpLjc1b/CkrJuC6+gSuWEY4M4t?= =?us-ascii?Q?xyETxpOsMcMOMG6zQTZyiZGLmLXTdiK8zyugjrZ3XJ3vDHwG+GAc0m9qhU3N?= =?us-ascii?Q?gwkt8/eGa6/szuXDtpVuJdUmX+wVFruWyzNbj4oBDxHmbuhj+kWMxyck9mOe?= =?us-ascii?Q?BwCyrCUokH4L1m842wfRIGyC5JmargJINJ6nyX9MEBvDzO4TrG622FkKxI0I?= =?us-ascii?Q?ngbcisxwTeNbFbA6XGSJj/em8F6mINwBDaibxdvtZiH9DUBd7wcKpYJHBLKy?= =?us-ascii?Q?AdG4GCZX79prrHZ2hmRPF6SFwuttwxXU0Ll4ZNrphDZ/kHwUGJIE9noj42m8?= =?us-ascii?Q?6E2Rf1bHTFFCcqWRthZAu3tI3ydcSj9+KaQXjhTxsPsL7DqqFvEcJ19eGbNj?= =?us-ascii?Q?cY9MulaNKvL9Jgmqz7CSpUjW5s7p6fz4r95tIq3N11rrAU9qtR3mKpEHneno?= =?us-ascii?Q?dczqh/8k9+3Rj3UA/5u3Gt/oIX09y03R8LZ1BRqC59dP6a8LN6fDMtj8/oaQ?= =?us-ascii?Q?r58KC8VX7CCbq8uNiypFWozBzipxbeg2kfRNhwffnvtsrzCgC+E0Fw1E3Hbt?= =?us-ascii?Q?tdxt9hjRCRdwWDpQidsoCi7B1d3iWR3ngb73LTUWMAVtSiNUmnsayAzhi9cz?= =?us-ascii?Q?WvQXixpdMR1eEaCyIVMRaElWGlV3M88kKBUtg45SCbCZmYJ0HubXgpcvTpvx?= =?us-ascii?Q?mQ=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5392.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c604e61-1d34-475d-1976-08dabe0db247 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Nov 2022 02:38:46.0889 (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: BDhQ/p7dNMcEA35JKTPAHfqFRCvfELEoS0tBsUPwY1dUS1X+e7KPRBg7piJacLZZ29bxgrDxYLGsjDbcJM1ukBzE7TIj8PjTW/SjDgmbbso= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7340 X-OriginatorOrg: intel.com X-Mailman-Approved-At: Fri, 04 Nov 2022 10:23:48 +0100 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 -----Original Message----- From: Maheshwari, Abhishek =20 Sent: Thursday, November 3, 2022 3:05 PM To: maxime.coquelin@redhat.com; Wang, Xiao W Cc: dev@dpdk.org; stable@dpdk.org; Xia, Chenbo ; Mand= al, Purna Chandra ; Maheshwari, Abhishek Subject: [PATCH v5] vdpa/ifc/base: wait for queue disable before saving q-s= tate Some ifc hardware require synchronization between disabling a queue and sav= ing queue-state from LM registers. When queue is disabled from vDPA driver,= ifc device stops executing new virtio-cmds and then updates LM registers w= ith used/avail index. Before saving the queue-state, vDPA driver should wai= t until the queue is disabled from backend. Fixes: 5d75517beffe ("vdpa/ifc/base: access block device registers") Cc: stable@dpdk.org Signed-off-by: Abhishek Maheshwari --- v2: * Fixing the styling issues * Addressing comment to avoid reading the register again after exhausting the tries v3: * Fixing warning condition v4: * Fixing print argument format to %u in warning v5: * Addressing comments based on input that line length limit is 100 --- drivers/vdpa/ifc/base/ifcvf.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/vdpa/ifc/base/ifcvf.c b/drivers/vdpa/ifc/base/ifcvf.c = index f1e1474447..60555a6786 100644 --- a/drivers/vdpa/ifc/base/ifcvf.c +++ b/drivers/vdpa/ifc/base/ifcvf.c @@ -257,6 +257,7 @@ ifcvf_hw_disable(struct ifcvf_hw *hw) u32 i; struct ifcvf_pci_common_cfg *cfg; u32 ring_state; + int q_disable_try; =20 cfg =3D hw->common_cfg; if (!cfg) { @@ -275,6 +276,20 @@ ifcvf_hw_disable(struct ifcvf_hw *hw) continue; } =20 + /* Some ifc hardware require synchronization between disabling a + * queue and saving queue-state from LM registers. When queue is + * disabled from vDPA driver, ifc device stops executing new + * virtio-cmds and then updates LM registers with used/avail + * index. Before saving the queue-state, vDPA driver waits until + * the queue is disabled from backend. + */ + q_disable_try =3D 10; + while (q_disable_try-- && IFCVF_READ_REG16(&cfg->queue_enable)) + msec_delay(10); + + if (!q_disable_try) + WARNINGOUT("Failed to disable Q:%u, Saved state could be invalid\n",=20 +i); + if (hw->device_type =3D=3D IFCVF_BLK) ring_state =3D *(u32 *)(hw->lm_cfg + IFCVF_LM_RING_STATE_OFFSET + -- 2.31.1 Ack. Reviewed by Purna Chandra Mandal