Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NAME
       ck_ht_gc	-- perform maintenance on a hash table

LIBRARY
       Concurrency Kit (libck, -lck)

SYNOPSIS
       #include	<ck_ht.h>

       bool
       ck_ht_gc(ck_ht_t	*ht, unsigned long cycles, unsigned long seed);

DESCRIPTION
       The  ck_ht_gc()	function  will perform various maintenance routines on
       the hash	table pointed to by ht,	including defragmentation of probe se-
       quences with respect to tombstones and in  the  case  that  the	delete
       workload	 hint has been passed, recalculation of	probe sequence bounds.
       The cycles argument is used to indicate how  many  hash	table  entries
       should be subject to attempted maintenance.  If cycles is 0, then main-
       tenance	is performed on	the complete hash table. The seed argument de-
       termines	the start location of the maintenance process.	If  cycles  is
       non-zero,  it  is  recommended  that  seed is some random value.	If the
       delete hint has been passed, the	function will  require	an  additional
       12% of memory (with respect to existing memory usage of the set), until
       operation completion.

RETURN VALUES
       Upon  successful	completion, ck_ht_gc(3)	returns	true and otherwise re-
       turns false on failure due to memory allocation failure.

ERRORS
       This function will only return false if there are internal memory allo-
       cation failures.

SEE ALSO
       ck_ht_count(3),	 ck_ht_stat(3),	   ck_ht_init(3),    ck_ht_destroy(3),
       ck_ht_hash(3),	      ck_ht_hash_direct(3),	    ck_ht_set_spmc(3),
       ck_ht_put_spmc(3),	 ck_ht_get_spmc(3),	   ck_ht_grow_spmc(3),
       ck_ht_remove_spmc(3),   ck_ht_reset_size_spmc(3),  ck_ht_reset_spmc(3),
       ck_ht_entry_empty(3),			       ck_ht_entry_key_set(3),
       ck_ht_entry_key_set_direct(3),			   ck_ht_entry_key(3),
       ck_ht_entry_key_length(3),  ck_ht_entry_value(3),   ck_ht_entry_set(3),
       ck_ht_entry_set_direct(3),		    ck_ht_entry_key_direct(3),
       ck_ht_entry_value_direct(3), ck_ht_iterator_init(3), ck_ht_next(3)

       Additional information available	at http://concurrencykit.org/

			       December	18, 2013		   CK_HT_GC(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ck_ht_gc&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help