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/include/kernel | |
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/include/kernel')
-rw-r--r-- | src/include/kernel/pagemgr.H | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/kernel/pagemgr.H b/src/include/kernel/pagemgr.H index 2431c613d..7b5deddb4 100644 --- a/src/include/kernel/pagemgr.H +++ b/src/include/kernel/pagemgr.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2010,2018 */ +/* Contributors Listed Below - COPYRIGHT 2010,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -200,6 +200,7 @@ class PageManager static size_t cv_coalesce_count; //!< running coalesced counter static size_t cv_low_page_count; //!< lowest page count + static size_t cv_alloc_coalesce_count; //!< number of repeat allocs protected: |