Index: third_party/sqlite/patches/0003-Use-seperate-page-cache-pools-for-each-sqlite-connec.patch |
diff --git a/third_party/sqlite/patches/0003-Use-seperate-page-cache-pools-for-each-sqlite-connec.patch b/third_party/sqlite/patches/0003-Use-seperate-page-cache-pools-for-each-sqlite-connec.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d2678e76e44d521e871b8e3ea80704a4a1cf02cf |
--- /dev/null |
+++ b/third_party/sqlite/patches/0003-Use-seperate-page-cache-pools-for-each-sqlite-connec.patch |
@@ -0,0 +1,44 @@ |
+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 |
+ |