diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2012-07-13 21:28:37 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-07-16 14:00:44 -0500 |
| commit | 1535c27d4a7a970f3e14ace7cb980ae06820e9ec (patch) | |
| tree | 5cc9f264592f90f56c40bc12a50d1c6a6261b89a /src/include/kernel | |
| parent | 7f482f9ad23bd7689fdee5982ad91f8506b2dfb8 (diff) | |
| download | talos-hostboot-1535c27d4a7a970f3e14ace7cb980ae06820e9ec.tar.gz talos-hostboot-1535c27d4a7a970f3e14ace7cb980ae06820e9ec.zip | |
Improve user-space page allocator.
* Allow page allocation system call to force coalesce if a
contiguous block is unavailable. [long-term enhancement]
* Workaround lack of large contiguous memory for PageTable
test-cases, which require 256K, by allocating a VMM block.
This should be removed when story 43401 is implemented.
[short-term workaround]
Change-Id: Idddb30eaa3aeac52d56b82a70355095f31d4a0cd
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1369
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/kernel')
| -rw-r--r-- | src/include/kernel/cpumgr.H | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H index ca16d16d6..e4d2b8b0b 100644 --- a/src/include/kernel/cpumgr.H +++ b/src/include/kernel/cpumgr.H @@ -88,6 +88,13 @@ class CpuManager static size_t getCpuCount() { return cv_cpuCount; } + /** @fn forceMemoryPeriodic() + * Force the memory free / coalesce operations to be performed on the + * next "periodic" interval. + */ + static void forceMemoryPeriodic(); + + protected: CpuManager(); ~CpuManager() {} @@ -106,6 +113,7 @@ class CpuManager static Barrier cv_barrier; //!< barrier for cpus static bool cv_defrag; //!< mem heap defrag static size_t cv_cpuCount; //!< # of active CPUs + static bool cv_forcedMemPeriodic; //!< force free / coalesce. // If a shutdown of all CPUs is requested static bool cv_shutdown_requested; |

