Re: HAMMER changes in HEAD, also needs testing

看板DFBSD_kernel作者時間16年前 (2009/06/21 18:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/8 (看更多)
Matthew Dillon schrieb: > I've made some fairly straightforward changes to HAMMER in HEAD, but > they need testing. > > * Inode numbers are now allocated to maintain linearity with the > directory scan order, when possible. Note however that this > optimization breaks if a file is created under a temporary name > and then renamed. > > This should significantly improve cpdup, tar, cpio, ls, and find. > The optimization only applies to newly created directory trees, > existing trees cannot be reoptimized since their inode numbers > have already been assigned. Would be great to have some numbers here, how this and the modifications to cpdup changes performance. > * Hints can now be passed to the block allocator. The B-Tree code > now uses them to try to keep internal nodes more localized. The > block allocator also now leaves a bit of empty space at the end > of the big-block for localized B-Tree expansion room. I am trying to understand the hinting mechanism. So before this commit, B-Tree nodes were always allocated physical linearly out of a big block, while after this commit, you pass a hint, where the B-Tree node could or should physically be placed within a big-block, and if that space is not yet allocated, the B-Tree is allocated at the hinted position. If the hinted position is already allocated, you simply fall back to linear allocation. That is how I understand it. I do not know how you calculate those hints. Regards, Michael
文章代碼(AID): #1AFWJZ00 (DFBSD_kernel)
討論串 (同標題文章)
文章代碼(AID): #1AFWJZ00 (DFBSD_kernel)