summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Muhle <armuhle@us.ibm.com>2012-06-06 08:48:08 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-06-07 12:25:40 -0500
commit39ce3d8ecf06c4c04d245a6107daa73611767c5f (patch)
tree1709552e18f20a5c4c51393856720edb2d1d14d5
parent774b4b489dd962ea9a90d89d200cd938855049af (diff)
downloadtalos-hostboot-39ce3d8ecf06c4c04d245a6107daa73611767c5f.tar.gz
talos-hostboot-39ce3d8ecf06c4c04d245a6107daa73611767c5f.zip
Fix FSIDD mutex issue, misc memory tweaks
-Fixed Mutex issue in FSIDD -Remove FSIDD workaround for a perceived simcis bug which we now think was just the mutex issue. -Cleaned up some traces in scom.C -Temporarily disabled testCastOutPages() to avoid memory issues -Tweaked periodics in cpumgr.H Change-Id: Ic34193cc2f81a40530214cd3338dfb405d1e8198 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1171 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/include/kernel/cpumgr.H49
-rw-r--r--src/usr/fsi/fsidd.C53
-rw-r--r--src/usr/scom/scom.C53
-rw-r--r--src/usr/testcore/kernel/vmmbasetest.H53
4 files changed, 109 insertions, 99 deletions
diff --git a/src/include/kernel/cpumgr.H b/src/include/kernel/cpumgr.H
index 589eb385c..93dbba9df 100644
--- a/src/include/kernel/cpumgr.H
+++ b/src/include/kernel/cpumgr.H
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/include/kernel/cpumgr.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2010 - 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/include/kernel/cpumgr.H $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2010-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
#ifndef __KERNEL_CPUMGR_H
#define __KERNEL_CPUMGR_H
@@ -34,8 +35,8 @@ class CpuManager
enum
{
MAXCPUS = KERNEL_MAX_SUPPORTED_CPUS,
- CPU_PERIODIC_CHECK_MEMORY = 16,
- CPU_PERIODIC_FLUSH_PAGETABLE = 256,
+ CPU_PERIODIC_CHECK_MEMORY = 8,
+ CPU_PERIODIC_FLUSH_PAGETABLE = 128,
CPU_PERIODIC_DEFRAG = 949, // TODO Any bigger not currently hit
};
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C
index e870411c5..1c6a8094d 100644
--- a/src/usr/fsi/fsidd.C
+++ b/src/usr/fsi/fsidd.C
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/usr/fsi/fsidd.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/usr/fsi/fsidd.C $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2011-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
/**
* @file fsidd.C
*
@@ -693,8 +694,8 @@ errlHndl_t FsiDD::read(const FsiAddrInfo_t& i_addrInfo,
l_mutex
= (i_addrInfo.opbTarg)->getHbMutexAttr<TARGETING::ATTR_FSI_MASTER_MUTEX>();
- if( (iv_ffdcTask != 0) // performance hack for typical case
- && (iv_ffdcTask != task_gettid()) )
+ if( (iv_ffdcTask == 0) // performance hack for typical case
+ || (iv_ffdcTask != task_gettid()) )
{
mutex_lock(l_mutex);
need_unlock = true;
@@ -771,8 +772,8 @@ errlHndl_t FsiDD::write(const FsiAddrInfo_t& i_addrInfo,
l_mutex
= (i_addrInfo.opbTarg)->getHbMutexAttr<TARGETING::ATTR_FSI_MASTER_MUTEX>();
- if( (iv_ffdcTask != 0) // performance hack for typical case
- && (iv_ffdcTask != task_gettid()) )
+ if( (iv_ffdcTask == 0) // performance hack for typical case
+ || (iv_ffdcTask != task_gettid()) )
{
mutex_lock(l_mutex);
need_unlock = true;
diff --git a/src/usr/scom/scom.C b/src/usr/scom/scom.C
index d4cabd173..798b3f18a 100644
--- a/src/usr/scom/scom.C
+++ b/src/usr/scom/scom.C
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/usr/scom/scom.C $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/usr/scom/scom.C $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2011-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
/**
* @file scom.C
*
@@ -227,7 +228,7 @@ errlHndl_t checkIndirectAndDoScom(DeviceFW::OperationType i_opType,
// got an indirect read error
// the data buffer is in tempIoData
TRACFCOMP(g_trac_scom,
- "INDIRECT SCOM READ= ERROR valid bits are not on.. scomreg=0x%X",
+ "INDIRECT SCOM READ= ERROR valid bits are not on.. scomreg=0x%.16X",
*((uint64_t *)io_buffer));
/*@
@@ -254,7 +255,7 @@ errlHndl_t checkIndirectAndDoScom(DeviceFW::OperationType i_opType,
{
// got an indirect read timeout
TRACFCOMP(g_trac_scom,
- "INDIRECT SCOM READ=indirect read timout .. scomreg=0x%X",
+ "INDIRECT SCOM READ=indirect read timout .. scomreg=0x%.16X",
*((uint64_t *)io_buffer));
@@ -346,7 +347,7 @@ errlHndl_t checkIndirectAndDoScom(DeviceFW::OperationType i_opType,
if (l_indScomError == true)
{
// got an indirect write error
- TRACFCOMP(g_trac_scom, "INDIRECT SCOM WRITE= ERROR valid bits are not on.. scomreg=0x%X", temp_io_buffer);
+ TRACFCOMP(g_trac_scom, "INDIRECT SCOM WRITE= ERROR valid bits are not on.. scomreg=0x%.16X", temp_io_buffer);
/*@
* @errortype
@@ -372,7 +373,7 @@ errlHndl_t checkIndirectAndDoScom(DeviceFW::OperationType i_opType,
{
// got an indirect write timeout
TRACFCOMP(g_trac_scom,
- "INDIRECT SCOM READ=indirect write timout .. scomreg=0x%X",
+ "INDIRECT SCOM WRITE=indirect write timeout .. scomreg=0x%.16X",
temp_io_buffer);
diff --git a/src/usr/testcore/kernel/vmmbasetest.H b/src/usr/testcore/kernel/vmmbasetest.H
index 153b6c461..3587c1e85 100644
--- a/src/usr/testcore/kernel/vmmbasetest.H
+++ b/src/usr/testcore/kernel/vmmbasetest.H
@@ -1,25 +1,26 @@
-// IBM_PROLOG_BEGIN_TAG
-// This is an automatically generated prolog.
-//
-// $Source: src/usr/testcore/kernel/vmmbasetest.H $
-//
-// IBM CONFIDENTIAL
-//
-// COPYRIGHT International Business Machines Corp. 2011
-//
-// p1
-//
-// Object Code Only (OCO) source materials
-// Licensed Internal Code Source Materials
-// IBM HostBoot Licensed Internal Code
-//
-// The source code for this program is not published or other-
-// wise divested of its trade secrets, irrespective of what has
-// been deposited with the U.S. Copyright Office.
-//
-// Origin: 30
-//
-// IBM_PROLOG_END
+/* IBM_PROLOG_BEGIN_TAG
+ * This is an automatically generated prolog.
+ *
+ * $Source: src/usr/testcore/kernel/vmmbasetest.H $
+ *
+ * IBM CONFIDENTIAL
+ *
+ * COPYRIGHT International Business Machines Corp. 2011-2012
+ *
+ * p1
+ *
+ * Object Code Only (OCO) source materials
+ * Licensed Internal Code Source Materials
+ * IBM HostBoot Licensed Internal Code
+ *
+ * The source code for this program is not published or other-
+ * wise divested of its trade secrets, irrespective of what has
+ * been deposited with the U.S. Copyright Office.
+ *
+ * Origin: 30
+ *
+ * IBM_PROLOG_END_TAG
+ */
/** @file vmmbasetest.H
* @brief Test cases for permission settings on the base block of the VMM.
*/
@@ -92,7 +93,13 @@ class VmmBaseTest : public CxxTest::TestSuite
void testCastOutPages()
{
- uint64_t l_testAddr = VMM_VADDR_RMVPAGE_TEST;
+
+ //Disabled until page management issues are fixed.
+ //RTC: 43209 (task) created to track reenable of this test case.
+ printk("testCastOutPages: Disabled until page management issues are fixed. ");
+ return;
+
+ uint64_t l_testAddr = VMM_VADDR_RMVPAGE_TEST;
uint64_t l_testSize = VMM_SIZE_RMVPAGE_TEST;
uint64_t vaddr = l_testAddr+l_testSize;
uint64_t vsize = PageManager::availPages()*PAGESIZE;
OpenPOWER on IntegriCloud