On Mon, Dec 05, 2016 at 02:25:36PM +0800, Heyi Guo wrote:
It's cost about 2 minutes on 256G memory platform,
Even the SPARSE one? Sure, that is substantial. But it also sounds too much. We should definitely look into that post release.
We tested it at D05 using SPARSE mode, it also takes a long time.
yes, this protocol is required because we still using IntelBds, and we also think that using NullMemoryTestDxe is better.
Why?
It is just not to do the memory testing when switching to NullMemoryTestDxe, only speed up the boot time and no other benefits,
Yes, but why do you think that using NullMemoryTestDxe is better than not including any memory test?
Regards,
Leif
Sorry, I was not very clear about your doubts before; I think I know your concern now. Well, the NullMemoryTestDxe and GenericMemoryTestDxe both have one function, which is switching the untested memory of type EfiGcdMemoryTypeReserved to EfiGcdMemoryTypeSystemMemory.
The above 4GB memory is not reported as system memory in UEFI memory map before BDS on hisilicon platforms for the reason we have talked about before. After running memory test protocol, whether it is from NullMemoryTestDxe or GenericMemoryTestDxe, memory space above 4GB will be switched to EfiGcdMemoryTypeSystemMemory and reported in UEFI memory map.
OK, that makes more sense. Can you add that to the commit messages before resending?
Regards,
Leif
Thanks, Heyi
but we do not keep to maintain D02 now, so just switch it on D03 and D05.
thanks, Heyi
I don't have a D02 here to test on, but it certainly builds fine without it. And from inspection, the runtime check for it does not trigger an ASSERT or even an error condition.
So what benefit does including NullMemoryTestDxe give you?
Regards,
Leif
Thanks, Heyi
>>>Same comment applies to D03 patch. >>> >>>/ >>> Leif >>> >>>>Contributed-under: TianoCore Contribution Agreement 1.0 >>>>Signed-off-by: Heyi Guo heyi.guo@linaro.org >>>>--- >>>> Platforms/Hisilicon/D02/Pv660D02.dsc | 2 +- >>>> Platforms/Hisilicon/D02/Pv660D02.fdf | 2 +- >>>> 2 files changed, 2 insertions(+), 2 deletions(-) >>>> >>>>diff --git a/Platforms/Hisilicon/D02/Pv660D02.dsc >>>>b/Platforms/Hisilicon/D02/Pv660D02.dsc >>>>index c11fa4e..d6fbcb9 100644 >>>>--- a/Platforms/Hisilicon/D02/Pv660D02.dsc >>>>+++ b/Platforms/Hisilicon/D02/Pv660D02.dsc >>>>@@ -429,7 +429,7 @@ >>>> # >>>> # Memory test >>>> # >>>>- MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf >>>>+ >>>>MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf >>>>MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf >>>> MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf >>>>diff --git a/Platforms/Hisilicon/D02/Pv660D02.fdf >>>>b/Platforms/Hisilicon/D02/Pv660D02.fdf >>>>index ec4d749..c941e4e 100644 >>>>--- a/Platforms/Hisilicon/D02/Pv660D02.fdf >>>>+++ b/Platforms/Hisilicon/D02/Pv660D02.fdf >>>>@@ -278,7 +278,7 @@ READ_LOCK_STATUS = TRUE >>>> # >>>> INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf >>>> - INF MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf >>>>+ INF >>>>MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf >>>> INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf >>>> INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf >>>> INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf >>>>-- >>>>1.9.1 >>>>