| From 3a6d9302ff14aec82291c7e2212ce37b7453ce9f Mon Sep 17 00:00:00 2001 |
| From: rmcilroy <rmcilroy@chromium.org> |
| 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 |
| |