diff options
Diffstat (limited to 'doc/features/bit-rot/memory-usage.txt')
-rw-r--r-- | doc/features/bit-rot/memory-usage.txt | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/doc/features/bit-rot/memory-usage.txt b/doc/features/bit-rot/memory-usage.txt deleted file mode 100644 index 5fe06d4a209..00000000000 --- a/doc/features/bit-rot/memory-usage.txt +++ /dev/null @@ -1,48 +0,0 @@ -object expiry tracking memroy usage -==================================== - -Bitrot daemon tracks objects for expiry in a data structure known -as "timer-wheel" (after which the object is signed). It's a well -known data structure for tracking million of objects of expiry. -Let's see the memory usage involved when tracking 1 million -objects (per brick). - -Bitrot daemon uses "br_object" structure to hold information -needed for signing. An instance of this structure is allocated -for each object that needs to be signed. - -struct br_object { - xlator_t *this; - - br_child_t *child; - - void *data; - uuid_t gfid; - unsigned long signedversion; - - struct list_head list; -}; - -Timer-wheel requires an instance of the structure below per -object that needs to be tracked for expiry. - -struct gf_tw_timer_list { - void *data; - unsigned long expires; - - /** callback routine */ - void (*function)(struct gf_tw_timer_list *, void *, unsigned long); - - struct list_head entry; -}; - -Structure sizes: - sizeof (struct br_object): 64 bytes - sizeof (struct gf_tw_timer_list): 40 bytes - -Together, these structures take up 104 bytes. To track all 1 million objects -at the same time, the amount of memory taken up would be: - - 1,000,000 * 104 bytes: ~100MB - -Not so bad, I think. |