History log of /memcached-1.4.29/assoc.c (Results 1 – 25 of 44)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 1.6.32, 1.6.31, 1.6.30, 1.6.29, 1.6.28, 1.6.27, 1.6.26, 1.6.25, 1.6.24, 1.6.23, 1.6.22, 1.6.21, 1.6.20, 1.6.19, 1.6.18, 1.6.17, 1.6.16, 1.6.15, 1.6.14, 1.6.13, 1.6.12, 1.6.11, 1.6.10, 1.6.9, 1.6.8, 1.6.7, 1.6.6, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.22, 1.5.21, 1.5.20, 1.5.19, 1.5.18, 1.5.17, 1.5.16, 1.5.15, 1.5.14, 1.5.13, 1.5.12, 1.5.11, 1.5.10, 1.5.9, 1.5.8, 1.5.7, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.39, 1.4.38, 1.4.37, flash-with-wbuf-stack, 1.4.36, 1.4.35, 1.4.34, 1.4.33, 1.4.32, 1.4.31, 1.4.30, 1.4.29, 1.4.28
# cb01d504 27-Jun-2016 dormando <[email protected]>

clean up global stats code a little.

tons of stats were left in the global stats structure that're no longer used,
and it looks like we kept accidentally adding new ones in there. There's also
an un

clean up global stats code a little.

tons of stats were left in the global stats structure that're no longer used,
and it looks like we kept accidentally adding new ones in there. There's also
an unused mutex.

Split global stats into `stats` and `stats_state`. initialize via memset,
reset only `stats` via memset, removing several places where stats values get
repeated. Looks much cleaner and should be less error prone.

show more ...


Revision tags: 1.4.27, 1.4.26
# e688e97d 18-Jan-2016 Natanael Copa <[email protected]>

fix build with musl libc

musl libc will warn if you include sys/signal.h instead of signal.h as
specified by posix. Build will fail due to -Werror explicitly beeing
set.

Fix it by use the posix loc

fix build with musl libc

musl libc will warn if you include sys/signal.h instead of signal.h as
specified by posix. Build will fail due to -Werror explicitly beeing
set.

Fix it by use the posix location.

fixes #138

show more ...


Revision tags: 1.4.25, 1.4.24, 1.4.23
# 5d7dc88d 07-Feb-2015 dormando <[email protected]>

basic lock around hash_items counter

could/should be an atomic. Previously all write mutations were wrapped with
cache_lock, but that's not the case anymore. Just enforce consistency around
the hash

basic lock around hash_items counter

could/should be an atomic. Previously all write mutations were wrapped with
cache_lock, but that's not the case anymore. Just enforce consistency around
the hash_items counter, which is used for hash table expansion.

show more ...


Revision tags: 1.4.22
# 6af7aa0b 28-Dec-2014 dormando <[email protected]>

Pause all threads while swapping hash table.

We used to hold a global lock around all modifications to the hash table.

Then it was switched to wrapping hash table accesses in a global lock during
h

Pause all threads while swapping hash table.

We used to hold a global lock around all modifications to the hash table.

Then it was switched to wrapping hash table accesses in a global lock during
hash table expansion, set by notifying each worker thread to change lock
styles. There was a bug here which causes trylocks to clobber, due to the
specific item locks not being held during the global lock:
https://code.google.com/p/memcached/issues/detail?id=370

The patch previous to this one uses item locks during hash table expansion.
Since the item lock table is always smaller than the hash table, an item lock
will always cover both its new and old buckets.

However, we still need to pause all threads during the pointer swap and setup.
This patch pauses all background threads and worker threads, swaps the hash
table, then unpauses them.

This trades the (possibly significant) slowdown during the hash table copy,
with a short total hang at the beginning of each expansion. As previously;
those worried about consistent performance can presize the hash table with
`-o hashpower=n`

show more ...


# d2676b4a 24-Oct-2014 Jason CHAN <[email protected]>

use item lock instead of global lock when hash expanding.


Revision tags: 1.4.21, 1.4.20, 1.4.19, 1.4.18
# 05ca809c 17-Apr-2014 dormando <[email protected]>

Make hash table algorithm selectable

jenkins hash is old. Lets try murmur3 to start! Default is the old one, so
people aren't surprised.


Revision tags: 1.4.17, 1.4.16, 1.4.15
# 8963836c 03-Sep-2012 dormando <[email protected]>

don't wait on condition without holding the lock

freebsd9 is the only platform that apparently cares about this.


# 1c94e12c 18-Aug-2012 dormando <[email protected]>

item locks now lock hash table buckets

expansion requires switching to a global lock temporarily, so all buckets have
a covered read lock.

slab rebalancer is paused during hash table expansion.

in

item locks now lock hash table buckets

expansion requires switching to a global lock temporarily, so all buckets have
a covered read lock.

slab rebalancer is paused during hash table expansion.

internal item "trylocks" are always issued, and tracked as the hash power
variable can change out from under it.

show more ...


Revision tags: 1.4.14
# 890dfb75 30-Jul-2012 dormando <[email protected]>

call mutex_unlock() when we use mutex_lock()

use both #define's when using the spinlock version of our locks. not all locks
are designed to be that way, so this doesn't touch the whole thing.


Revision tags: 1.4.13, 1.4.12, 1.4.11, 1.4.11-rc1, 1.4.11-beta1, 1.4.10, 1.4.9, 1.4.9-beta1, 1.4.8
# bab9acd1 02-Oct-2011 dormando <[email protected]>

move hash calls outside of cache_lock

been hard to measure while using the intel hash (since it's very fast), but
should help with the software hash.


# 45e0e950 02-Oct-2011 dormando <[email protected]>

Use spinlocks for main cache lock

Partly by Ripduman Sohan

Appears to significantly help prevent performance dropoff from additional
threads, but only when the locks are frequently contested and ar

Use spinlocks for main cache lock

Partly by Ripduman Sohan

Appears to significantly help prevent performance dropoff from additional
threads, but only when the locks are frequently contested and are short.

show more ...


Revision tags: 1.4.8-rc1
# 1db1de38 28-Sep-2011 dormando <[email protected]>

Allow setting initial size of the hash table

Instances which run many millions of items can now have its hash table
presized. This can avoid some minor memory churn during the warmup
period.


# 108e2cd6 28-Sep-2011 dormando <[email protected]>

expose stats for the internal hash table

Now users can tell how much memory is being used for the hash table structure.
It also exposes the current hash power level, which is useful for presizing
th

expose stats for the internal hash table

Now users can tell how much memory is being used for the hash table structure.
It also exposes the current hash power level, which is useful for presizing
the structure.

show more ...


Revision tags: 1.4.7, 1.4.7-rc1, 1.4.6, 1.4.6-rc1, 1.6.0-beta1, 1.4.5, 1.4.4, 1.4.3, 1.4.3-rc2, 1.4.3-rc1, 1.4.2, 1.4.2-rc1, 1.4.1, 1.4.1-rc1, 1.4-rc1, 1.4.0, 1.4.0-rc1, 1.2.8, 1.3.3, 1.2.7, 1.2.7-rc1
# 53180103 24-Mar-2009 Trond Norbye <[email protected]>

"stats reset" should reset eviction counters as well

See: http://code.google.com/p/memcached/issues/detail?id=22


Revision tags: 1.3.2
# 69b22814 07-Mar-2009 Dustin Sallings <[email protected]>

Remove some cvs/svn junk from files.


# 1a070652 02-Mar-2009 Trond Norbye <[email protected]>

Refactor: moved the hash function from assoc.c to hash.c


# dfc5130e 03-Feb-2009 Dustin Sallings <[email protected]>

Get build working under ICC.

ICC pretends to be GCC as far as autoconf is concerned, but is
incompatible in a few ways.

ICC C99 mode fails to define u_char, so I made a small change to
modify that

Get build working under ICC.

ICC pretends to be GCC as far as autoconf is concerned, but is
incompatible in a few ways.

ICC C99 mode fails to define u_char, so I made a small change to
modify that required c99 to work with ICC's C99 mode off. Nobody
wants to put effort into working around compilers that don't speak C99
in the long-term, but a one line change has already revealed quite a
few potential bugs.

show more ...


# 7f09e20b 27-Jan-2009 Trond Norbye <[email protected]>

Do hash expansion in it's own thread

Previously we tried to migrate one bucket over to the new hash table before
we started a new command for a client, and we tried to lock the cache in order
to det

Do hash expansion in it's own thread

Previously we tried to migrate one bucket over to the new hash table before
we started a new command for a client, and we tried to lock the cache in order
to determine if we should move an item or not. This resulted in extra contention
on an already hot mutex...

show more ...


Revision tags: 1.2.6
# 80ec0955 02-Oct-2008 Trond Norbye <[email protected]>

Add DTrace probes to the binary protocol


# 68957214 23-Jul-2008 Trond Norbye <[email protected]>

Add DTrace probes for Solaris/etc.


# e4534c85 23-Jul-2008 Trond Norbye <[email protected]>

Add DTrace probes for Solaris/etc.


# 984053cd 18-Jun-2008 Dustin Sallings <[email protected]>

Use calloc for allocating the hash table vs. malloc+memset.

calloc is already used to resize the hash table, so it's good to be
consistent here.


Revision tags: 1.2.5, 1.2.4
# bb3a4c92 10-Jul-2007 Paul Lindner <[email protected]>

conn_add_to_freelist returns bool

git-svn-id: http://code.sixapart.com/svn/memcached/trunk/server@595 b0b603af-a30f-0410-a34e-baf09ae79d0b


# 44ef96ee 09-Jul-2007 Paul Lindner <[email protected]>

gcc -pedantic changes, comments, signed/unsigned changes. also convert expanded to bool

git-svn-id: http://code.sixapart.com/svn/memcached/trunk/server@591 b0b603af-a30f-0410-a34e-baf09ae79d0b


Revision tags: 1.2.3
# d9b97d80 07-May-2007 Paul Lindner <[email protected]>

cleanup unistd.h, better spec file, remove warnings from threads.c


git-svn-id: http://code.sixapart.com/svn/memcached/trunk/server@551 b0b603af-a30f-0410-a34e-baf09ae79d0b


12