From 3a6d9302ff14aec82291c7e2212ce37b7453ce9f Mon Sep 17 00:00:00 2001 From: rmcilroy Date: Thu, 20 Jun 2013 22:50:12 +0000 Subject: [PATCH 03/16] Use seperate page-cache pools for each sqlite connection. Due to multiple different subsystems using sqlite, the shared global page cache policy does not suite our use-cases on Chrome very well. This CL enables a compile time flag to be set to disable shared cache pools. BUG=243769 Original review URL: https://chromiumcodereview.appspot.com/17413004 --- third_party/sqlite/src/src/pcache1.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/third_party/sqlite/src/src/pcache1.c b/third_party/sqlite/src/src/pcache1.c index a8c3217..3fcee4b 100644 --- a/third_party/sqlite/src/src/pcache1.c +++ b/third_party/sqlite/src/src/pcache1.c @@ -567,6 +567,8 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ ** PGroup. In other words, separateCache is true for mode (1) where no ** mutexing is required. ** + ** * Always use separate caches (mode-1) if SQLITE_SEPARATE_CACHE_POOLS + ** ** * Always use a unified cache (mode-2) if ENABLE_MEMORY_MANAGEMENT ** ** * Always use a unified cache in single-threaded applications @@ -574,7 +576,9 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ ** * Otherwise (if multi-threaded and ENABLE_MEMORY_MANAGEMENT is off) ** use separate caches (mode-1) */ -#if defined(SQLITE_ENABLE_MEMORY_MANAGEMENT) || SQLITE_THREADSAFE==0 +#ifdef SQLITE_SEPARATE_CACHE_POOLS + const int separateCache = 1; +#elif defined(SQLITE_ENABLE_MEMORY_MANAGEMENT) || SQLITE_THREADSAFE==0 const int separateCache = 0; #else int separateCache = sqlite3GlobalConfig.bCoreMutex>0; -- 2.2.1