[edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Dong, Eric posted 2 patches 19 weeks ago
Failed in applying to current master (apply log)
MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
MdePkg/Include/Protocol/MmMp.h               | 333 +++++++++++
MdePkg/MdePkg.dec                            |   3 +
UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555 ++++++++++++++++++-
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372 +++++++++++++
UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286 ++++++++++
9 files changed, 1722 insertions(+), 17 deletions(-)
create mode 100644 MdePkg/Include/Protocol/MmMp.h
create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c
create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h

[edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Posted by Dong, Eric 19 weeks ago
v3 changes:
1. Fix Token clean up too early caused CheckProcedure return error.

https://bugzilla.tianocore.org/show_bug.cgi?id=1937

PI spec added a new protocol named MM MP protocol. This protocol 
allows for better remote queuing of execution of procedures on an AP.
This extends the existing procedures to allow:
1. A function to be called in blocking and non-blocking manner explicitly 
2. Allow broadcasts.
3. Allow execution of a procedure when a processor powers up.

This patch serial enable this new protocol.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>

Eric Dong (2):
  MdePkg: Add new MM MP Protocol definition.
  UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol.

 MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
 MdePkg/Include/Protocol/MmMp.h               | 333 +++++++++++
 MdePkg/MdePkg.dec                            |   3 +
 UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555 ++++++++++++++++++-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372 +++++++++++++
 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286 ++++++++++
 9 files changed, 1722 insertions(+), 17 deletions(-)
 create mode 100644 MdePkg/Include/Protocol/MmMp.h
 create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c
 create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h

-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43187): https://edk2.groups.io/g/devel/message/43187
Mute This Topic: https://groups.io/mt/32293744/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Posted by Laszlo Ersek 19 weeks ago
On 07/03/19 04:42, Dong, Eric wrote:
> v3 changes:
> 1. Fix Token clean up too early caused CheckProcedure return error.
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1937
> 
> PI spec added a new protocol named MM MP protocol. This protocol 
> allows for better remote queuing of execution of procedures on an AP.
> This extends the existing procedures to allow:
> 1. A function to be called in blocking and non-blocking manner explicitly 
> 2. Allow broadcasts.
> 3. Allow execution of a procedure when a processor powers up.
> 
> This patch serial enable this new protocol.
> 
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> 
> Eric Dong (2):
>   MdePkg: Add new MM MP Protocol definition.
>   UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol.
> 
>  MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
>  MdePkg/Include/Protocol/MmMp.h               | 333 +++++++++++
>  MdePkg/MdePkg.dec                            |   3 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555 ++++++++++++++++++-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372 +++++++++++++
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286 ++++++++++
>  9 files changed, 1722 insertions(+), 17 deletions(-)
>  create mode 100644 MdePkg/Include/Protocol/MmMp.h
>  create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c
>  create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h
> 

Regression-tested-by: Laszlo Ersek <lersek@redhat.com>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43231): https://edk2.groups.io/g/devel/message/43231
Mute This Topic: https://groups.io/mt/32293744/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Posted by Yao, Jiewen 19 weeks ago
HI Eric
Would you please share what unit test you have done for this new feature?


> -----Original Message-----
> From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> Dong, Eric
> Sent: Wednesday, July 3, 2019 10:43 AM
> To: devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> 
> v3 changes:
> 1. Fix Token clean up too early caused CheckProcedure return error.
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1937
> 
> PI spec added a new protocol named MM MP protocol. This protocol
> allows for better remote queuing of execution of procedures on an AP.
> This extends the existing procedures to allow:
> 1. A function to be called in blocking and non-blocking manner explicitly
> 2. Allow broadcasts.
> 3. Allow execution of a procedure when a processor powers up.
> 
> This patch serial enable this new protocol.
> 
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> 
> Eric Dong (2):
>   MdePkg: Add new MM MP Protocol definition.
>   UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol.
> 
>  MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
>  MdePkg/Include/Protocol/MmMp.h               | 333 +++++++++++
>  MdePkg/MdePkg.dec                            |   3 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555
> ++++++++++++++++++-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372
> +++++++++++++
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286
> ++++++++++
>  9 files changed, 1722 insertions(+), 17 deletions(-)
>  create mode 100644 MdePkg/Include/Protocol/MmMp.h
>  create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c
>  create mode 100644 UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h
> 
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43190): https://edk2.groups.io/g/devel/message/43190
Mute This Topic: https://groups.io/mt/32293744/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Posted by Dong, Eric 19 weeks ago
Hi Jiewen,

I did below tests:
1. Use MpGetNumberOfProcessors and MpSetStartupProcedure.
2. Test MpDispatchProcedure
	1.sync mode and async mode, 
	2. with and without CpuStatus.
	3. In async mode, use long delay get the final result with MpWaitForProcedure
	4. In async mode, use short delay to check the final result with MpCheckForProcedure
3. Test  MpBroadcastProcedure
	1.sync mode and async mode, 
	2. with and without CpuStatus.
	3. In async mode, use long delay get the final result with MpWaitForProcedure.
	4. In async mode, use short delay to check the final result with MpCheckForProcedure.

Detail test code can be found in MmMpUnitTest folder at git@github.com:ydong10/UnitTestPkg.git

Thanks,
Eric

> -----Original Message-----
> From: Yao, Jiewen
> Sent: Wednesday, July 3, 2019 10:45 AM
> To: devel@edk2.groups.io; Dong, Eric <eric.dong@intel.com>
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: RE: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> 
> HI Eric
> Would you please share what unit test you have done for this new feature?
> 
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of
> > Dong, Eric
> > Sent: Wednesday, July 3, 2019 10:43 AM
> > To: devel@edk2.groups.io
> > Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> > Subject: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> >
> > v3 changes:
> > 1. Fix Token clean up too early caused CheckProcedure return error.
> >
> > https://bugzilla.tianocore.org/show_bug.cgi?id=1937
> >
> > PI spec added a new protocol named MM MP protocol. This protocol
> > allows for better remote queuing of execution of procedures on an AP.
> > This extends the existing procedures to allow:
> > 1. A function to be called in blocking and non-blocking manner
> > explicitly 2. Allow broadcasts.
> > 3. Allow execution of a procedure when a processor powers up.
> >
> > This patch serial enable this new protocol.
> >
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Laszlo Ersek <lersek@redhat.com>
> >
> > Eric Dong (2):
> >   MdePkg: Add new MM MP Protocol definition.
> >   UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol.
> >
> >  MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
> >  MdePkg/Include/Protocol/MmMp.h               | 333 +++++++++++
> >  MdePkg/MdePkg.dec                            |   3 +
> >  UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555
> > ++++++++++++++++++-
> >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
> >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
> >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
> >  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372
> > +++++++++++++
> >  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286
> > ++++++++++
> >  9 files changed, 1722 insertions(+), 17 deletions(-)  create mode
> > 100644 MdePkg/Include/Protocol/MmMp.h  create mode 100644
> > UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c  create mode 100644
> > UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h
> >
> > --
> > 2.21.0.windows.1
> >
> >
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43192): https://edk2.groups.io/g/devel/message/43192
Mute This Topic: https://groups.io/mt/32293744/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol

Posted by Yao, Jiewen 19 weeks ago
It looks great. Thanks!

> -----Original Message-----
> From: Dong, Eric
> Sent: Wednesday, July 3, 2019 10:58 AM
> To: Yao, Jiewen <jiewen.yao@intel.com>; devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: RE: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> 
> Hi Jiewen,
> 
> I did below tests:
> 1. Use MpGetNumberOfProcessors and MpSetStartupProcedure.
> 2. Test MpDispatchProcedure
> 	1.sync mode and async mode,
> 	2. with and without CpuStatus.
> 	3. In async mode, use long delay get the final result with
> MpWaitForProcedure
> 	4. In async mode, use short delay to check the final result with
> MpCheckForProcedure
> 3. Test  MpBroadcastProcedure
> 	1.sync mode and async mode,
> 	2. with and without CpuStatus.
> 	3. In async mode, use long delay get the final result with
> MpWaitForProcedure.
> 	4. In async mode, use short delay to check the final result with
> MpCheckForProcedure.
> 
> Detail test code can be found in MmMpUnitTest folder at
> git@github.com:ydong10/UnitTestPkg.git
> 
> Thanks,
> Eric
> 
> > -----Original Message-----
> > From: Yao, Jiewen
> > Sent: Wednesday, July 3, 2019 10:45 AM
> > To: devel@edk2.groups.io; Dong, Eric <eric.dong@intel.com>
> > Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> > Subject: RE: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> >
> > HI Eric
> > Would you please share what unit test you have done for this new feature?
> >
> >
> > > -----Original Message-----
> > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf
> Of
> > > Dong, Eric
> > > Sent: Wednesday, July 3, 2019 10:43 AM
> > > To: devel@edk2.groups.io
> > > Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> > > Subject: [edk2-devel] [Patch v3 0/2] Enable new MM MP protocol
> > >
> > > v3 changes:
> > > 1. Fix Token clean up too early caused CheckProcedure return error.
> > >
> > > https://bugzilla.tianocore.org/show_bug.cgi?id=1937
> > >
> > > PI spec added a new protocol named MM MP protocol. This protocol
> > > allows for better remote queuing of execution of procedures on an AP.
> > > This extends the existing procedures to allow:
> > > 1. A function to be called in blocking and non-blocking manner
> > > explicitly 2. Allow broadcasts.
> > > 3. Allow execution of a procedure when a processor powers up.
> > >
> > > This patch serial enable this new protocol.
> > >
> > > Cc: Ray Ni <ray.ni@intel.com>
> > > Cc: Laszlo Ersek <lersek@redhat.com>
> > >
> > > Eric Dong (2):
> > >   MdePkg: Add new MM MP Protocol definition.
> > >   UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol.
> > >
> > >  MdePkg/Include/Pi/PiMultiPhase.h             |  16 +
> > >  MdePkg/Include/Protocol/MmMp.h               | 333
> +++++++++++
> > >  MdePkg/MdePkg.dec                            |   3 +
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c        | 555
> > > ++++++++++++++++++-
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c   |  11 +
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h   | 160 +++++-
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf |   3 +
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c            | 372
> > > +++++++++++++
> > >  UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h            | 286
> > > ++++++++++
> > >  9 files changed, 1722 insertions(+), 17 deletions(-)  create mode
> > > 100644 MdePkg/Include/Protocol/MmMp.h  create mode 100644
> > > UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.c  create mode 100644
> > > UefiCpuPkg/PiSmmCpuDxeSmm/SmmMp.h
> > >
> > > --
> > > 2.21.0.windows.1
> > >
> > >
> > > 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43194): https://edk2.groups.io/g/devel/message/43194
Mute This Topic: https://groups.io/mt/32293744/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-