From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.107.244.60]) by mx.groups.io with SMTP id smtpd.web10.36561.1639543702257938244 for ; Tue, 14 Dec 2021 20:48:22 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=CoPXDOLg; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.244.60, mailfrom: jbrasen@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LZbk5fCb75O4J7fBislJz9FhGoEiPQYVU4e27krX5NGMSHGQP2oOQ9IfpmKgl3V8y8tZtXz6MRQcUjkb4rNyTGyvCFP8X0wtYjAj/yo4YMF6mI4Wp7p4Wd6ojw1RLJNp0XZemg8XwPa1Mtm/DApnn69zd21WoBUtBicP42/35BdMM7553RARkcSImaOYjBm7R0G7PtYlQOp62L3A+sMzRkJg58XB0g/8SqS6gN0RiNA3ltZjDzEgzgtJfSrjss1hhtPO4zrJCfgdibfgoHX+UJqRL0muKFiHEuwQ9yBretnvMYVrcEMfh9OR2JD1IwvrTzb4p5sCuhEGd2gJZJengA== 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=oTpIobPaKxBoV6cSbJTb2U5IbPVlSnq3HdFrSJxUh0Y=; b=D6FOFYBMkKt++mDNN3KSfxxreY9vztznHKzGxeb7tcia9hjfFD3pb1ct+fo4EAndj449kj9VqloPy2ACIWEeH4UXBVWpF1G69qfC0yFgTYHS4O/LmCGcW6o/4j5dYOPWjVjpZ3n4BSDVXfepB4+JpgaiWvcHeSUW75SMSmCqNR4o0qHmegiX9wbnKK8uzIzA9iE/K2rfnpS9x1rw4ut/v9UQjrT0IAYb+9UVMRdG0am3j6bJJMyShS92/n90WTnpTvmGSyr7I4qYvDhOVSem9fEfs7TVnpFzQFS2QPmxHIVSYttR2hAV36mvV749FuZs3do4v96KBFzKxYoKFgr5Lw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oTpIobPaKxBoV6cSbJTb2U5IbPVlSnq3HdFrSJxUh0Y=; b=CoPXDOLgGsXU3e5qa9GH/4SzJqgt07R769ASYVNO+H79IyMdjTTdM06Z+uwQZkHrERC4NSPVKwyphfGKjhXRZUuJ9TPe3H0nShvJ2eOEDz6Frm6mxQadTUlosRZXQXaeXVT4Mz1wEwvU00AnQJwv8CXBxJk4DUJrlS7Hln7syroJxlTQu/ZJI7Eh0YyAKNiM/3sFuZB0SNHfHLNQxGe13sJ8BTDIpTPg4UMvwJ+fy7iOzqs9eI646uVVFq4DJNpA0lEZXdo49YJ7qB4/n9FThWwNbYHQWhYcpDiN+44a8i113tSbuHQRd8nsdObrBFX5ITY5UdmbyujnB3PJ8cRURA== Received: from CH2PR12MB4136.namprd12.prod.outlook.com (2603:10b6:610:a4::14) by CH2PR12MB3750.namprd12.prod.outlook.com (2603:10b6:610:14::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.14; Wed, 15 Dec 2021 04:48:19 +0000 Received: from CH2PR12MB4136.namprd12.prod.outlook.com ([fe80::25af:24ff:115b:db4b]) by CH2PR12MB4136.namprd12.prod.outlook.com ([fe80::25af:24ff:115b:db4b%5]) with mapi id 15.20.4778.017; Wed, 15 Dec 2021 04:48:19 +0000 From: "Jeff Brasen" To: "Wu, Hao A" , "devel@edk2.groups.io" CC: "Ni, Ray" Subject: Re: [PATCH] MdeModulePkg/ScsiDisk: Change TPL to NOTIFY Thread-Topic: [PATCH] MdeModulePkg/ScsiDisk: Change TPL to NOTIFY Thread-Index: AQHX8RRfoUQRn/erkkeeGcXjsJcIr6wy3WYAgAAcxFA= Date: Wed, 15 Dec 2021 04:48:19 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4067e91e-8b5e-4504-9e51-08d9bf861df2 x-ms-traffictypediagnostic: CH2PR12MB3750:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WCBHo2OpneGXt6xrDbOjhbcsRB+ZSCZAenG2f8TRvRNDl6jRXUlmxiUxY4f+LIH3caXEOtLSkRvutgk7yr6ab4PyFxe52y2Xef01S8nJGltD/z6U129YWuR8NIBKPYYz4wc0N6gnR5yDLo70mTdIDZEO+lhAcdwMBEUUbtLvmhlj37QOsidIL0Yt2/xfye+hzM+HGEHVtoZIDBUa1xl2wGb0Zos06hxVpLbZF/wfYY8Xu3T+WPZjiSaY1LDmxEYiNwWLF3fi4oKRIPq4N19PERAA68LDFPR3dRfr6lU6/2kZ2iLhHMGN1+ObhCKLVjLTq9vr9td1TIRdHNE1CIH3o+lg8Pk2MCeK0x2JzbM+nLUXAu8C+Ap7rPaKAxeTqGMxrBD2CJgm8D0n8SLQhmodJcmGYMgJQ8XCf06mGoSPssgqlTiwy9KQ1mG43OCXcG7gvHE8uy/vGGqfaEHxzPS9jQuFtfgkeXJo+IUG50jnB4wlk3lVCJcU0EA9/EJUliKPNMTwkTGKb6CTPOG1IdgZW2zuHmiBOa6BaVWny319ULTeUnFN/YucgcNErAlmN7tvCBNVbQvqU2ophmm9VE3lO58DKpuJZt4T+IB+elra0jSC78Ybc140FBeICmLdEeuyYD6BAY/K4xy459q5t5BYvlTkrChGFWxBm2mYo2G/6pSrsCXPmDlmw4VgpxFQFLP702IdP1O7GplfQsELqoLTWw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB4136.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(86362001)(38070700005)(7696005)(9686003)(316002)(66446008)(64756008)(83380400001)(55016003)(71200400001)(33656002)(6506007)(66556008)(186003)(76116006)(4326008)(2906002)(66476007)(508600001)(66946007)(53546011)(5660300002)(8936002)(122000001)(26005)(38100700002)(110136005)(52536014)(8676002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Tyif2n07YHfK95SB1o8ZmlTDqdEhP5axOgB9e+sWv07vU4zc+JpkqZpB/DFe?= =?us-ascii?Q?cbdSJ92ZCiYj511aIsnuYKS8Evsz9pxY7EkD7yJxVcJEBZSYnRmrRLnFERJT?= =?us-ascii?Q?QllAkZZbjn6mN7/XiiBfE6uViLL/o41aa5qmiN/ewDAaHKy1wU25FFS6qk/x?= =?us-ascii?Q?lPKUheuDdOR6Nxze1JtikAVOVf3vCc/NQCe4dvLJtBqWYdL/A+sa/S/eal4K?= =?us-ascii?Q?MNakKL8KYpCbiA4xhHCL1LFASaFYcK9JZOvkRdj+3/PqRZzicB5mdM0D2dVd?= =?us-ascii?Q?ud6bqzbxnADkEsOX0ZcrCsbR47P20U7TTcz5xDk4AN7s/w65cmVBG/lTyE4r?= =?us-ascii?Q?KhT9hjPlnuZpWNrTxhqt3yJaNQhkvFccfnP/xTc5h2v/rYPj/2OvKxLUGjnv?= =?us-ascii?Q?F0eclenseXCR+KNwI3i0hTPl0SDu0+cCRx6w/QqxEUeodvQMYaRn4lp4Ntkg?= =?us-ascii?Q?rvUlQSlcTvVCRraKy81stZyOhGVUiqUB7yvfCALeVj8eT4x82/CXApW1LyfD?= =?us-ascii?Q?iQyRfaN5Yr9ygjyDLh1gNY2tMUjxaMHMax6nvgBJ5AVNF7RJKJs/PCD/yeFu?= =?us-ascii?Q?ePl34N3NgRN0/7Z09u2lr40rPvGnO/rNWBRr08mBskXA7ysn6DFvBoDDKs2T?= =?us-ascii?Q?2/plVuwZkos3pEzuyZPf0b1eZK00AzpiKBfqh2tjbFbsWSh3wfOokyhXjIHy?= =?us-ascii?Q?DIN3HRdQvVEnuO4fx8F3zAwo4LwJICiQYXF+eYwlyyQpniQDansMj0pZbjZX?= =?us-ascii?Q?8r1PvykEBXGSOx5FhnXqwoYC34CI9XR9zai7MKBcQTCCYKOlkhRJRqnGAJj/?= =?us-ascii?Q?LY2HUE/bXcajc7iT24SlEKOPZ5AQfF9n2ckgEDO/uayc8tbTa0OTYLwyX8RI?= =?us-ascii?Q?BnK/3XP8mz7EmI6IabLFxiAYKgwfdHtGpds+uXgltP4cC5hXe1Ek6xiaEhOM?= =?us-ascii?Q?LEvPbWoDjBJDtxYbDYFxvqAC72RlIS46LTlRsnUTpTxpqhPY1C3EC8xgxPNK?= =?us-ascii?Q?7Xsfha+XJs/0lXd0M/bJmGqJfRPizZhLCMB/zzwp6d8Xlm8Cmn5Ph6L6KOl+?= =?us-ascii?Q?2/gBs62Wd7ULPM/6lmyoqgzm7rKR7yvZT9qgvhvyC4fvawXkEHWsp+VkJP43?= =?us-ascii?Q?BDdFTI/wsbhHEwmczsBBvT+tTTiFS1gk34NKWP59r/s6W9TAGe7yHkMWMi54?= =?us-ascii?Q?nrKn1XgejxjqDXOJz0oBXZ07ASvf8uEamI0kG7frpIakWpxJfFOZSQP/q+7D?= =?us-ascii?Q?SuTHq1Gj52xLI+gZiypmNReYhUMxdfTSm5mr4hdYGjOAZHGwzfRqTH4lDBQu?= =?us-ascii?Q?ir2KYpIatjH44BdqtjAQ+zOfE8/0gEzvuo79ILhFyuFIIn9nJepth//66two?= =?us-ascii?Q?4GKxaJC/JqgORh+wVXgHCPBECdMg6O1CEIoDWUbV6gm4/JIOag2iaJNPELj8?= =?us-ascii?Q?LItRqXtRUsiPddSCGVw+Sd7hFL63d3WrapEscg87k0jK6YEwWGUsClIAoPa5?= =?us-ascii?Q?puveg71P1sshzakN1dmQ7bZMa6BPeRACl7wt+vjmO6ufKB+o0vd5ZqeoUXDO?= =?us-ascii?Q?ZUR9541nombPr0EQZXlC7F+jOLIY5Cs63PnDdYlVrbKr2i7nph2vvN1b2BRU?= =?us-ascii?Q?aaaKiRt+/od1LG9ITxp5u/4=3D?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB4136.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4067e91e-8b5e-4504-9e51-08d9bf861df2 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2021 04:48:19.7662 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5TPa5mQyjux9u8FWd7Vquf13gzQWJMgey8kTOTOq0qf+gha8ahmpVhbf9XUo46tuz0bgpe/v6F/tOVaCOW6Zsg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB3750 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Wu, Hao A > Sent: Tuesday, December 14, 2021 8:00 PM > To: Jeff Brasen ; devel@edk2.groups.io > Cc: Ni, Ray > Subject: RE: [PATCH] MdeModulePkg/ScsiDisk: Change TPL to NOTIFY >=20 > External email: Use caution opening links or attachments >=20 >=20 > > -----Original Message----- > > From: Jeff Brasen > > Sent: Wednesday, December 15, 2021 1:59 AM > > To: devel@edk2.groups.io > > Cc: Wu, Hao A ; Ni, Ray ; Jeff > > Brasen > > Subject: [PATCH] MdeModulePkg/ScsiDisk: Change TPL to NOTIFY > > > > Increase TPL to TPL_NOTIFY to allow for use if caller is > TPL_CALLBACK= . > > This allows services like variable services that run at TPL_NOTIFY to > > be hosted on ScsiDisks (i.e. UFS) > > > > Aligns with the eMMC driver that also uses a higher TPL. > > This change was made in 3b1d8241d0dac25c5e678c364fa2754ac1731060 >=20 >=20 > Sorry, my take is that this change is not equivalent to the one made in t= he > SD/MMC stack. >=20 > For the SD/MMC change you mentioned (commit > 3b1d8241d0dac25c5e678c364fa2754ac1731060), the TPL is raised to > TPL_NOTIFY only when: > a) Operation to the linked lists that manage the asynchronous IO tasks > b) Callback functions that process the asynchronous IO tasks The TPL > remains TPL_CALLBACK during the BlockIO services and the majority of the > BlockIO2 services (operations to asynchronous tasks linked list are the > exceptions). >=20 > But the proposed change in ScsiDisk modifies the TPL level of the entire > BlockIO/BlockIO2 (and other protocols) services to TPL_NOTIFY. > For me, this is not aligned with the "TPL Restrictions" documented in the= UEFI > specification. >=20 > Best Regards, > Hao Wu >=20 >=20 I had sent out a query on this before and didn't see any response. The core= of the issue I am trying to solve it support variable services on a UFS de= vice. When the UFS blockIO is invoked from variable services it is not allo= wed (which does align from the UEFI spec perspective but does not allow me = to implement variables services on UFS) The other way that worked was lowering the lock TPL level in the PCD drive= r and Variable down to callback. The PCD one seems like it should be done a= s variable services is supposed to only be called from <=3D TPL_CALLBACK. H= owever, I was worried about that having a larger system impact on that chan= ge. > > > > Signed-off-by: Jeff Brasen > > --- > > MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c | 22 > > ++++++++++---------- > > 1 file changed, 11 insertions(+), 11 deletions(-) > > > > diff --git a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c > > b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c > > index 98e84b4ea8..b6e5848e77 100644 > > --- a/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c > > +++ b/MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDisk.c > > @@ -514,7 +514,7 @@ ScsiDiskReset ( > > SCSI_DISK_DEV *ScsiDiskDevice; > > EFI_STATUS Status; > > > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO (This); > > > > @@ -581,7 +581,7 @@ ScsiDiskReadBlocks ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -733,7 +733,7 @@ ScsiDiskWriteBlocks ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -898,7 +898,7 @@ ScsiDiskResetEx ( > > SCSI_DISK_DEV *ScsiDiskDevice; > > EFI_STATUS Status; > > > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO2 (This); > > > > @@ -975,7 +975,7 @@ ScsiDiskReadBlocksEx ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO2 (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -1154,7 +1154,7 @@ ScsiDiskWriteBlocksEx ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO2 (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -1323,7 +1323,7 @@ ScsiDiskFlushBlocksEx ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_BLKIO2 (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -1717,7 +1717,7 @@ ScsiDiskEraseBlocks ( > > EFI_TPL OldTpl; > > > > MediaChange =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_ERASEBLK (This); > > > > if (!IS_DEVICE_FIXED (ScsiDiskDevice)) { @@ -1907,7 +1907,7 @@ > > ScsiDiskReceiveData ( > > AlignedBuffer =3D NULL; > > MediaChange =3D FALSE; > > AlignedBufferAllocated =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_STORSEC (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -2122,7 +2122,7 @@ ScsiDiskSendData ( > > AlignedBuffer =3D NULL; > > MediaChange =3D FALSE; > > AlignedBufferAllocated =3D FALSE; > > - OldTpl =3D gBS->RaiseTPL (TPL_CALLBACK); > > + OldTpl =3D gBS->RaiseTPL (TPL_NOTIFY); > > ScsiDiskDevice =3D SCSI_DISK_DEV_FROM_STORSEC (This); > > Media =3D ScsiDiskDevice->BlkIo.Media; > > > > @@ -2294,7 +2294,7 @@ ScsiDiskDetectMedia ( > > > > Status =3D gBS->CreateEvent ( > > EVT_TIMER, > > - TPL_CALLBACK, > > + TPL_NOTIFY, > > NULL, > > NULL, > > &TimeoutEvt > > -- > > 2.17.1