Is it “functioning as intended” for the 1st memory allocation of the DXE Core 
to not come from gMemoryTypeInformation/mMemoryTypeStatistics buckets?

I walked the allocations in the debugger and the 1st call to 
CoreAddMemoryDescriptor() (from the end of CoreInitializeMemoryServices(), and 
it is to add EfiConventionalMemory) does a CoreAddRange() prior to checking 
mMemoryTypeInformationInitialized to decide if the buckets for memory types 
have been initialized. I see the 
mMemoryTypeStatistics[EfiBootServicesData].NumberOfPages is set to 1 prior to 
the initialization of mMemoryTypeStatistics.

It looks like the call to CoreFreeMemoryMapStack() after CoreAddRange() calls 
AllocateMemoryMapEntry(), and that calls CoreAllocatePoolPages() if there is no 
free list. 

In my case I’m ending with a small BS_data range after ACPI ranges in the 
memory map. Seems like that is going to waist memory for the OS?

Thanks,

Andrew Fish


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to