diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2019-02-10 13:12:10 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-02-12 16:24:46 -0600 |
commit | a733a70261d1c847e3130c509cc911f86d71453d (patch) | |
tree | 2d7b267b41bd857a52fbcd149e10fb75fdbee2a5 /src/build/debug/Hostboot | |
parent | 4d92ae4d4ac17899bb2a521dc82cc0de09608478 (diff) | |
download | talos-hostboot-a733a70261d1c847e3130c509cc911f86d71453d.tar.gz talos-hostboot-a733a70261d1c847e3130c509cc911f86d71453d.zip |
Add more agressive memory allocation calls
If we hit a situation where we can't allocate a page of memory,
this will force a coalesce (defrag) a few times and then
eventually trigger other memory reclamation actions.
Also tweaked a few spots in the kernel to enhance debug:
- add more stops to look at errors (HB_BREAK_ON_ERROR)
- add more backtrace calls
- add a new debug flag to count the extra coalesce calls
Change-Id: Ibac7079a44a12dc61e41304de4c4ae518c206d13
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71653
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/build/debug/Hostboot')
-rwxr-xr-x | src/build/debug/Hostboot/MemStats.pm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/build/debug/Hostboot/MemStats.pm b/src/build/debug/Hostboot/MemStats.pm index 9156d8267..723b76aae 100755 --- a/src/build/debug/Hostboot/MemStats.pm +++ b/src/build/debug/Hostboot/MemStats.pm @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2011,2018 +# Contributors Listed Below - COPYRIGHT 2011,2019 # [+] International Business Machines Corp. # # @@ -75,6 +75,10 @@ sub main ::findPointer("PAGEMCNT", "PageManager::cv_coalesce_count"); + my $page_alloc_coal = ::read64 + ::findPointer("PAGEMACC", + "PageManager::cv_alloc_coalesce_count"); + my $big_heap_pages_used = ::read32 ::findPointer("HEAPMLPC", "HeapManager::cv_largeheap_page_count"); @@ -118,6 +122,7 @@ sub main ::userDisplay " Free pages: $free_pages\n"; ::userDisplay " Free pages Low mark: $free_min\n"; ::userDisplay " Page chunks coalesced: $page_coal\n"; + ::userDisplay " Page alloc coalesces: $page_alloc_coal\n"; ::userDisplay "\nHeap:\n"; ::userDisplay " Pages used by heap: $heap_total ". "(B:$big_heap_pages_used,S:$small_heap_pages_used)\n"; |