mirror of
https://github.com/MariaDB/server.git
synced 2025-09-03 20:43:11 +03:00
Merge perch.ndb.mysql.com:/home/jonas/src/51-work
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb storage/ndb/include/portlib/NdbMem.h: Auto merged storage/ndb/src/common/portlib/NdbMem.c: Auto merged storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp: Auto merged storage/ndb/src/kernel/vm/Configuration.cpp: Auto merged storage/ndb/src/kernel/vm/Configuration.hpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.cpp: Auto merged
This commit is contained in:
@@ -65,7 +65,7 @@ void NdbMem_Free(void* ptr);
|
|||||||
* NdbMem_MemLockAll
|
* NdbMem_MemLockAll
|
||||||
* Locks virtual memory in main memory
|
* Locks virtual memory in main memory
|
||||||
*/
|
*/
|
||||||
int NdbMem_MemLockAll(void);
|
int NdbMem_MemLockAll(int);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* NdbMem_MemUnlockAll
|
* NdbMem_MemUnlockAll
|
||||||
|
@@ -56,7 +56,15 @@ void NdbMem_Free(void* ptr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int NdbMem_MemLockAll(){
|
int NdbMem_MemLockAll(int i){
|
||||||
|
if (i == 1)
|
||||||
|
{
|
||||||
|
#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined (MCL_FUTURE)
|
||||||
|
return mlockall(MCL_CURRENT | MCL_FUTURE);
|
||||||
|
#else
|
||||||
|
return -1;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT)
|
#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT)
|
||||||
return mlockall(MCL_CURRENT);
|
return mlockall(MCL_CURRENT);
|
||||||
#else
|
#else
|
||||||
|
@@ -368,9 +368,9 @@ void Cmvmi::execSTTOR(Signal* signal)
|
|||||||
if (theStartPhase == 1){
|
if (theStartPhase == 1){
|
||||||
jam();
|
jam();
|
||||||
|
|
||||||
if(m_ctx.m_config.lockPagesInMainMemory())
|
if(m_ctx.m_config.lockPagesInMainMemory() == 1)
|
||||||
{
|
{
|
||||||
int res = NdbMem_MemLockAll();
|
int res = NdbMem_MemLockAll(0);
|
||||||
if(res != 0){
|
if(res != 0){
|
||||||
g_eventLogger.warning("Failed to memlock pages");
|
g_eventLogger.warning("Failed to memlock pages");
|
||||||
warningEvent("Failed to memlock pages");
|
warningEvent("Failed to memlock pages");
|
||||||
@@ -812,6 +812,21 @@ Cmvmi::execSTART_ORD(Signal* signal) {
|
|||||||
|
|
||||||
if(globalData.theStartLevel == NodeState::SL_CMVMI){
|
if(globalData.theStartLevel == NodeState::SL_CMVMI){
|
||||||
jam();
|
jam();
|
||||||
|
|
||||||
|
if(m_ctx.m_config.lockPagesInMainMemory() == 2)
|
||||||
|
{
|
||||||
|
int res = NdbMem_MemLockAll(1);
|
||||||
|
if(res != 0)
|
||||||
|
{
|
||||||
|
g_eventLogger.warning("Failed to memlock pages");
|
||||||
|
warningEvent("Failed to memlock pages");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_eventLogger.info("Locked future allocations");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
globalData.theStartLevel = NodeState::SL_STARTING;
|
globalData.theStartLevel = NodeState::SL_STARTING;
|
||||||
globalData.theRestartFlag = system_started;
|
globalData.theRestartFlag = system_started;
|
||||||
/**
|
/**
|
||||||
|
@@ -479,7 +479,7 @@ Configuration::setupConfiguration(){
|
|||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
Uint32
|
||||||
Configuration::lockPagesInMainMemory() const {
|
Configuration::lockPagesInMainMemory() const {
|
||||||
return _lockPagesInMainMemory;
|
return _lockPagesInMainMemory;
|
||||||
}
|
}
|
||||||
|
@@ -36,7 +36,7 @@ public:
|
|||||||
void setupConfiguration();
|
void setupConfiguration();
|
||||||
void closeConfiguration(bool end_session= true);
|
void closeConfiguration(bool end_session= true);
|
||||||
|
|
||||||
bool lockPagesInMainMemory() const;
|
Uint32 lockPagesInMainMemory() const;
|
||||||
|
|
||||||
int timeBetweenWatchDogCheck() const ;
|
int timeBetweenWatchDogCheck() const ;
|
||||||
void timeBetweenWatchDogCheck(int value);
|
void timeBetweenWatchDogCheck(int value);
|
||||||
|
@@ -554,10 +554,10 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
|
|||||||
"If set to yes, then NDB Cluster data will not be swapped out to disk",
|
"If set to yes, then NDB Cluster data will not be swapped out to disk",
|
||||||
ConfigInfo::CI_USED,
|
ConfigInfo::CI_USED,
|
||||||
true,
|
true,
|
||||||
ConfigInfo::CI_BOOL,
|
ConfigInfo::CI_INT,
|
||||||
"false",
|
"0",
|
||||||
"false",
|
"1",
|
||||||
"true" },
|
"2" },
|
||||||
|
|
||||||
{
|
{
|
||||||
CFG_DB_WATCHDOG_INTERVAL,
|
CFG_DB_WATCHDOG_INTERVAL,
|
||||||
|
Reference in New Issue
Block a user