<html><head><meta http-equiv="Content-Type" content="text/html charset=GB2312"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,all:<div><span class="Apple-tab-span" style="white-space:pre">        </span>I have used FlameGraph to test glusterfs-3.4.2, trace with simple dd.</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>found that, a lot of cpu consume on frame_fill_groups, My questions:</div><div>1. what¡¯s the func of frame_fill_groups?&nbsp;</div><div>2. should it disable by default?</div><div><br></div><div><br></div><div>I found the fellow commit add frame_fill_groups.</div><div><br></div><div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); position: static; z-index: auto;">commit 59ff893d11844eb52453ce4f7f098df05fcde174</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); position: static; z-index: auto;">Author: Brian Foster &lt;<a href="mailto:bfoster@redhat.com">bfoster@redhat.com</a>&gt;</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); position: static; z-index: auto;">Date: &nbsp; Mon Jul 16 13:51:09 2012 -0400</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); min-height: 21px;"><br></div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; libglusterfs,mount/fuse: implement gidcache mechanism in fuse-bridge</div><p style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); min-height: 21px;">&nbsp;&nbsp; &nbsp;<br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; This change genericizes the cache mechanism implemented in commit</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; 8efd2845 into libglusterfs/src/gidcache.[ch] and adds fuse-bridge as</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; a client. The cache mechanism is fundamentally equivalent, with some</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; minor changes:</div></div><div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp;&nbsp;- Change cache key from uid_t to uint64_t.</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp; - Modify the cache add logic to locate and use an entry with a</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp; &nbsp; matching ID, should it already exist. This addresses a bug in</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp; &nbsp; the existing mechanism where an expired entry supercedes a newly</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp; &nbsp; added entry in lookup, causing repeated adds and flushing of a</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; &nbsp; &nbsp; cache bucket.</div><p style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); min-height: 21px;">&nbsp;&nbsp; &nbsp;<br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; The fuse group cache is disabled by default. It can be enabled via</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; the 'gid-timeout' fuse-bridge translator option and accompanying</div><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; mount option (i.e., '-o gid-timeout=1' for a 1s entry timeout).</div><p style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199); min-height: 21px;">&nbsp;&nbsp; &nbsp;<br class="webkit-block-placeholder"></p><div style="margin: 0px; font-size: 18px; font-family: Menlo; background-color: rgb(248, 253, 199);">&nbsp; &nbsp; BUG: 800892</div></div><div><br></div><div><br></div><div></div></body></html>