From f18cace156ce13abb2d7b2e74f8760372fdc7fe0 Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Fri, 7 Sep 2012 00:46:14 +0000 Subject: [PATCH] VM Preflet: More correctly calculate default swap --- src/preferences/virtualmemory/Settings.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/preferences/virtualmemory/Settings.cpp b/src/preferences/virtualmemory/Settings.cpp index f0c1f645db..bb143f19fb 100644 --- a/src/preferences/virtualmemory/Settings.cpp +++ b/src/preferences/virtualmemory/Settings.cpp @@ -28,6 +28,7 @@ static const char* const kWindowSettingsFile = "virtualmemory_preferences"; static const char* const kVirtualMemorySettings = "virtual_memory"; static const off_t kMegaByte = 1024 * 1024; +static const off_t kGigaByte = kMegaByte * 1024; Settings::Settings() @@ -37,7 +38,14 @@ Settings::Settings() system_info sysInfo; get_system_info(&sysInfo); - fDefaultSettings.size = (off_t)sysInfo.max_pages * B_PAGE_SIZE * 2; + + fDefaultSettings.size = (off_t)sysInfo.max_pages * B_PAGE_SIZE; + if (fDefaultSettings.size <= kGigaByte) { + // Memory under 1GB? double the swap + // This matches the behaviour of the kernel + fDefaultSettings.size *= 2; + } + fDefaultSettings.volume = dev_for_path("/boot"); }