Commit 02af0fa8 authored by unknown's avatar unknown
Browse files

Merge perch.ndb.mysql.com:/home/jonas/src/50-work

into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


ndb/include/portlib/NdbMem.h:
  Auto merged
ndb/src/common/portlib/NdbMem.c:
  Auto merged
ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
ndb/src/kernel/vm/Configuration.cpp:
  Auto merged
ndb/src/kernel/vm/Configuration.hpp:
  Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
parents fcb13e45 fed5cb6a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ void NdbMem_Free(void* ptr);
 * NdbMem_MemLockAll
 *   Locks virtual memory in main memory
 */
int NdbMem_MemLockAll(void);
int NdbMem_MemLockAll(int);

/**
 * NdbMem_MemUnlockAll
+9 −1
Original line number Diff line number Diff line
@@ -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)
  return mlockall(MCL_CURRENT);
#else
+17 −2
Original line number Diff line number Diff line
@@ -341,9 +341,9 @@ void Cmvmi::execSTTOR(Signal* signal)
  if (theStartPhase == 1){
    jam();

    if(theConfig.lockPagesInMainMemory())
    if(theConfig.lockPagesInMainMemory() == 1)
    {
      int res = NdbMem_MemLockAll();
      int res = NdbMem_MemLockAll(0);
      if(res != 0){
	g_eventLogger.warning("Failed to memlock pages");
	warningEvent("Failed to memlock pages");
@@ -788,6 +788,21 @@ Cmvmi::execSTART_ORD(Signal* signal) {
  
  if(globalData.theStartLevel == NodeState::SL_CMVMI){
    jam();

    if(theConfig.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.theRestartFlag = system_started;
    /**
+1 −1
Original line number Diff line number Diff line
@@ -479,7 +479,7 @@ Configuration::setupConfiguration(){
  DBUG_VOID_RETURN;
}

bool 
Uint32
Configuration::lockPagesInMainMemory() const {
  return _lockPagesInMainMemory;
}
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ public:
  void setupConfiguration();
  void closeConfiguration(bool end_session= true);
  
  bool lockPagesInMainMemory() const;
  Uint32 lockPagesInMainMemory() const;
  
  int timeBetweenWatchDogCheck() const ;
  void timeBetweenWatchDogCheck(int value);
Loading