From: khizmax Date: Mon, 17 Nov 2014 10:57:24 +0000 (+0300) Subject: Fix GC doc X-Git-Tag: v2.0.0~76 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=commitdiff_plain;h=df1234d21959f35f4dcef202cab6ffab8f852aef Fix GC doc --- diff --git a/cds/gc/details/hp.h b/cds/gc/details/hp.h index 1c254518..9e191b09 100644 --- a/cds/gc/details/hp.h +++ b/cds/gc/details/hp.h @@ -29,51 +29,6 @@ //@cond namespace cds { - /** - @page cds_garbage_collectors_comparison GC comparison - @ingroup cds_garbage_collector - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Feature%cds::gc::HP%cds::gc::DHP
Implementation qualitystablestable
Performance rank (1 - slowest, 5 - fastest)54
Max number of guarded (hazard) pointers per threadlimited (specifies in GC object ctor)unlimited (dynamically allocated when needed)
Max number of retired pointers1boundedbounded
Array of retired pointerspreallocated for each thread, limited in sizeglobal for the entire process, unlimited (dynamically allocated when needed)
Support direct pointer to item of lock-free container (useful for iterators)not supportednot supported
- - 1Unbounded count of retired pointer means a possibility of memory exhaustion. - */ - /// Different safe memory reclamation schemas (garbage collectors) /** @ingroup cds_garbage_collector diff --git a/cds/gc/hp.h b/cds/gc/hp.h index eea63e4e..0fab88e5 100644 --- a/cds/gc/hp.h +++ b/cds/gc/hp.h @@ -7,4 +7,63 @@ #include #include +/** + @page cds_garbage_collectors_comparison GC comparison + @ingroup cds_garbage_collector + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Feature%cds::gc::HP%cds::gc::DHP
Implementation qualitystablestable
Performance rank (1 - slowest, 5 - fastest)54
Max number of guarded (hazard) pointers per threadlimited (specifies in GC object ctor)unlimited (dynamically allocated when needed)
Max number of retired pointers1boundedbounded
Array of retired pointerspreallocated for each thread, limited in sizeglobal for the entire process, unlimited (dynamically allocated when needed)
Support direct pointer to item of lock-free container (useful for iterators)not supportednot supported
+ + 1Unbounded count of retired pointer means a possibility of memory exhaustion. +*/ + +namespace cds { + + /// Different safe memory reclamation schemas (garbage collectors) + /** @ingroup cds_garbage_collector + + This namespace specifies different safe memory reclamation (SMR) algorithms. + See \ref cds_garbage_collector "Garbage collectors" + */ + namespace gc { + } // namespace gc + +} // namespace cds + + #endif // #ifndef __CDS_GC_HP_H diff --git a/cds/gc/impl/hp_decl.h b/cds/gc/impl/hp_decl.h index 4a0593a6..14c98314 100644 --- a/cds/gc/impl/hp_decl.h +++ b/cds/gc/impl/hp_decl.h @@ -21,6 +21,9 @@ namespace cds { namespace gc { - [2003] Maged M.Michael "Hazard Pointers: Safe memory reclamation for lock-free objects" - [2004] Andrei Alexandrescy, Maged Michael "Lock-free Data Structures with Hazard Pointers" + Hazard Pointer garbage collector is a singleton. The main user-level part of Hazard Pointer schema is + GC class \p %cds::gc::HP and its nested classes. Before use any HP-related class you must initialize HP garbage collector + by contructing \p %cds::gc::HP object in beginning of your \p main(). See \ref cds_how_to_use "How to use" section for details how to apply garbage collector. */ class HP