Bug 798503

Summary: [FEAT] need more details of 'dict' allocation patterns
Product: [Community] GlusterFS Reporter: Amar Tumballi <amarts>
Component: coreAssignee: Amar Tumballi <amarts>
Status: CLOSED CURRENTRELEASE QA Contact: Raghavendra Bhat <rabhat>
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: gluster-bugs, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-07-24 17:52:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: glusterfs-3.3.0qa43 Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 817967    

Description Amar Tumballi 2012-02-29 05:12:06 UTC
Description of problem:
Dictionary is a heavily used data-structure in glusterfs, and knowing its usage patterns will enable us to bring in some enhancements regarding performance.

Once easy way would be to utilize the mempool for dict allocations.

Version-Release number of selected component (if applicable):
upstream

Comment 1 Anand Avati 2012-03-15 05:15:31 UTC
CHANGE: http://review.gluster.com/2851 (core: dict allocations through mem-pool) merged in master by Vijay Bellur (vijay)

Comment 2 Raghavendra Bhat 2012-05-24 09:47:09 UTC
Now dictionary is allocated from the mempool. Information about dict usage can be obtained from statedump of the process. Checked with glusterfs-3.3.0qa43.


pool-name=glusterfs:data_t
hot-count=75
cold-count=16309
padded_sizeof=52
alloc-count=2451087
max-alloc=211
pool-misses=0
max-stdalloc=0
-----=-----
pool-name=glusterfs:data_pair_t
hot-count=122
cold-count=16262
padded_sizeof=68
alloc-count=2730070
max-alloc=268
pool-misses=0
max-stdalloc=0
-----=-----
pool-name=glusterfs:dict_t
hot-count=43
cold-count=4053
padded_sizeof=84
alloc-count=537697
max-alloc=73
pool-misses=0
max-stdalloc=0