blob: 666c7477c4b605b873ea87e620b70f10e09745fd [file] [log] [blame]
From 74d099aaffa37498859c0840771052f50253ce4d Mon Sep 17 00:00:00 2001
From: Stewart Smith <stewart@linux.vnet.ibm.com>
Date: Thu, 25 Aug 2016 19:33:42 +1000
Subject: [PATCH 06/10] Change cv_forcedMemPeriodic to uint8_t as bool is
invalid
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GCC6 throws the following error:
operand type bool*’ is incompatible with argument 1 of __sync_fetch_and_and
GCC documents that bool is invalid for __sync builtins over at:
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html#g_t_005f_005fsync-Builtins
" GCC allows any scalar type that is 1, 2, 4 or 8 bytes in size other than the C type _Bool or the C++ type bool"
Change-Id: Iab6415348cb19f590921d8ccc5349867fa57a42d
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
---
src/include/kernel/cpumgr.H | 2 +-
src/kernel/cpumgr.C | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
index 68f8972..6e9b697 100644
--- a/src/include/kernel/cpumgr.H
+++ b/src/include/kernel/cpumgr.H
@@ -215,7 +215,7 @@ class CpuManager
*/
static uint64_t cv_cpuSeq;
- static bool cv_forcedMemPeriodic; //!< force free / coalesce.
+ static uint8_t cv_forcedMemPeriodic; //!< force free / coalesce.
// If a shutdown of all CPUs is requested
static bool cv_shutdown_requested;
diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
index 44f61a1..ce7516f 100644
--- a/src/kernel/cpumgr.C
+++ b/src/kernel/cpumgr.C
@@ -50,7 +50,7 @@ cpu_t** CpuManager::cv_cpus[KERNEL_MAX_SUPPORTED_NODES];
bool CpuManager::cv_shutdown_requested = false;
uint64_t CpuManager::cv_shutdown_status = 0;
size_t CpuManager::cv_cpuSeq = 0;
-bool CpuManager::cv_forcedMemPeriodic = false;
+uint8_t CpuManager::cv_forcedMemPeriodic = 0;
InteractiveDebug CpuManager::cv_interactive_debug;
CpuManager::CpuManager() : iv_lastStartTimebase(0)
@@ -361,7 +361,7 @@ void CpuManager::executePeriodics(cpu_t * i_cpu)
}
bool forceMemoryPeriodic = __sync_fetch_and_and(&cv_forcedMemPeriodic,
- false);
+ 0);
++(i_cpu->periodic_count);
if((0 == (i_cpu->periodic_count % CPU_PERIODIC_CHECK_MEMORY)) ||
@@ -461,7 +461,7 @@ size_t CpuManager::getThreadCount()
void CpuManager::forceMemoryPeriodic()
{
- cv_forcedMemPeriodic = true;
+ cv_forcedMemPeriodic = 1;
}
--
2.7.4