From: Alex Rousskov Date: Fri, 9 Sep 2011 17:42:35 +0000 (-0600) Subject: Provided more documentation for memory_cache_shared, including DEFAULT_DOC. X-Git-Tag: take08~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70f856bc9c29079fee3ab8dd9f55c3b23c177a11;p=thirdparty%2Fsquid.git Provided more documentation for memory_cache_shared, including DEFAULT_DOC. --- diff --git a/src/cf.data.pre b/src/cf.data.pre index 7d7a432a76..d2adc20bdb 100644 --- a/src/cf.data.pre +++ b/src/cf.data.pre @@ -2579,13 +2579,27 @@ COMMENT: on|off TYPE: YesNoNone LOC: Config.memShared DEFAULT: none +DEFAULT_DOC: "on" where supported if doing memory caching with multiple SMP workers. DOC_START Controls whether the memory cache is shared among SMP workers. + The shared memory cache is meant to occupy cache_mem bytes and replace + the non-shared memory cache, although some entities may still be + cached locally by workers for now (e.g., internal and in-transit + objects may be served from a local memory cache even if shared memory + caching is enabled). + By default, the memory cache is shared if and only if all of the - following conditions are satisfied: SMP mode is enabled using multiple - worker processes, cache_mem is positive, and Squid was built with a - compiler that supports GCC-style atomic operations. + following conditions are satisfied: Squid runs in SMP mode with + multiple workers, cache_mem is positive, and Squid environment + supports required IPC primitives (e.g., POSIX shared memory segments + and GCC-style atomic operations). + + To avoid blocking locks, shared memory uses opportunistic algorithms + that do not guarantee that every cachable entity that could have been + shared among SMP workers will actually be shared. + + Currently, entities exceeding 32KB in size cannot be shared. DOC_END NAME: memory_cache_mode