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  sequences
     with  respect  to	tombstones and in the case that the delete workload hint
     has been passed, recalculation of probe sequence bounds. The  cycles  argu-
     ment  is  used to indicate how many hash table entries should be subject to
     attempted maintenance.  If cycles is 0, then maintenance  is  performed  on
     the complete hash table. The seed argument determines 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  returns
     false on failure due to memory allocation failure.

ERRORS
     This  function  will only return false if there are internal memory alloca-
     tion 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_re-
     set_size_spmc(3),	 ck_ht_reset_spmc(3),	ck_ht_entry_empty(3),  ck_ht_en-
     try_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_di-
     rect(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+15.1.quarterly>

home | help