Liming,
Thanks for your explanation!
I understood the way Notify PPIs been handled by current design even thought 
the NotifyType is not referenced in DispatchNotify().

|-> InstallPpi                                                                  
  NotifyPpi <-|
+-----------------------------+--------------+------------------+-------------------+
| Installed                      | AVAIL       |Callback         | Dispatch     
    |
+-----------------------------+--------------+------------------+-------------------+
                                      ^                  ^                      
^                        ^
                                   PpiListEnd    NotifyListEnd  DispatchListEnd 
 (PcdPeiCoreMaxPpiSupported-1)

Thanks,
-Mars

From: Gao, Liming [mailto:[email protected]]
Sent: Thursday, November 07, 2013 3:30 PM
To: [email protected]
Subject: Re: [edk2] Callback mode and Dispatch mode of 
EFI_PEI_NOTIFY_DESCRIPTOR.

Mars:
  PeiMain uses PpiData->NotifyListEnd and DispatchListEnd index to 
differentiate NotifyPpi with CallBack and Dispatch mode.

  The range between NofiyListEnd and DispatchListEnd are for NotifyPpi with 
CallBack mode.
  The range between DispatchListEnd and EndOfPpiListPtrs are for NotifyPpi with 
Dispatch mode.

Thanks
Liming
From: Mars Lin [mailto:[email protected]]
Sent: Wednesday, November 06, 2013 5:46 PM
To: [email protected]<mailto:[email protected]>
Subject: [edk2] Callback mode and Dispatch mode of EFI_PEI_NOTIFY_DESCRIPTOR.

Hi MdeModulePkg.PeiMain maintainer/developers:
I cannot see current Ppi.c->DispatchNotify() uses the passed in parameter 
NotifyType for differentiating level of notifications to fire.
Is this one under construction? Or, I missed something in somewhere with this 
implemented?

PI 1.3 vol1, page110 says:
With respect to the Flags parameter, the difference between callback and 
dispatch mode is as
follows:
* Callback mode: Invokes all of the agents that are registered for notification 
immediately after
the PPI is installed.
* Dispatch mode: Calls the agents that are registered for notification only 
after the PEIM that
installs the PPI in question has returned to the PEI Foundation.
The callback mechanism will give a better quality of service, but it has the 
downside of possibly
deepening the use of the stack (i.e., the agent that installed the PPI that 
engenders the notification is
a PEIM itself that has used the stack already). The dispatcher mode, however, 
is better from a stack usage
perspective in that when the PEI Foundation invokes the agents that want 
notification, the
stack has returned to the minimum stack usage of just the PEI Foundation.

Regards, -Mars
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to