mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 00:46:46 +00:00
Fix KSM build
This commit is contained in:
+36
-1
@@ -25,7 +25,6 @@
|
|||||||
#include <unistd.h> // For sysconf, sbrk
|
#include <unistd.h> // For sysconf, sbrk
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// Windows-specific functionality
|
// Windows-specific functionality
|
||||||
|
|
||||||
@@ -48,6 +47,38 @@ size_t PageAlignedAllocatorBase::getPageSize() const
|
|||||||
return sysInfo.dwPageSize; // Page size in bytes
|
return sysInfo.dwPageSize; // Page size in bytes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace KSM {
|
||||||
|
|
||||||
|
// Windows-specific placeholder functions (no-op)
|
||||||
|
void CheckPageAlignment(void* ptr)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void* AllocatePageAligned(size_t size)
|
||||||
|
{
|
||||||
|
return memset(malloc(size), 0, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MarkMemoryForKSM(void* start, size_t size)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void AlignHeapToPageBoundary()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void* MarkHeapStart()
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t MeasureHeapUsage(void* start)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace KSM
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// Linux-specific functionality
|
// Linux-specific functionality
|
||||||
@@ -69,6 +100,8 @@ size_t PageAlignedAllocatorBase::getPageSize() const
|
|||||||
return static_cast<size_t>(sysconf(_SC_PAGESIZE));
|
return static_cast<size_t>(sysconf(_SC_PAGESIZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace KSM {
|
||||||
|
|
||||||
void CheckPageAlignment(void* ptr)
|
void CheckPageAlignment(void* ptr)
|
||||||
{
|
{
|
||||||
size_t page_size = sysconf(_SC_PAGESIZE);
|
size_t page_size = sysconf(_SC_PAGESIZE);
|
||||||
@@ -154,4 +187,6 @@ size_t MeasureHeapUsage(void* start)
|
|||||||
return static_cast<char*>(current_break) - static_cast<char*>(start);
|
return static_cast<char*>(current_break) - static_cast<char*>(start);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace KSM
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+1
-34
@@ -64,38 +64,6 @@ bool operator!=(const PageAlignedAllocator<T>&, const PageAlignedAllocator<U>&)
|
|||||||
// Kernel Samepage Merging (KSM) functionality
|
// Kernel Samepage Merging (KSM) functionality
|
||||||
namespace KSM {
|
namespace KSM {
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
|
|
||||||
// Windows-specific placeholder functions (no-op)
|
|
||||||
inline void CheckPageAlignment(void* ptr)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void* AllocatePageAligned(size_t size)
|
|
||||||
{
|
|
||||||
return memset(malloc(size), 0, size);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void MarkMemoryForKSM(void* start, size_t size)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void AlignHeapToPageBoundary()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void* MarkHeapStart()
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline size_t MeasureHeapUsage(void* start)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
void CheckPageAlignment(void* ptr);
|
void CheckPageAlignment(void* ptr);
|
||||||
void* AllocatePageAligned(size_t size);
|
void* AllocatePageAligned(size_t size);
|
||||||
void MarkMemoryForKSM(void* start, size_t size);
|
void MarkMemoryForKSM(void* start, size_t size);
|
||||||
@@ -103,5 +71,4 @@ void AlignHeapToPageBoundary();
|
|||||||
void* MarkHeapStart();
|
void* MarkHeapStart();
|
||||||
size_t MeasureHeapUsage(void* start);
|
size_t MeasureHeapUsage(void* start);
|
||||||
|
|
||||||
#endif
|
} // namespace KSM
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user