Skip to contentSkip to conversation

btree cleanups and unification

PATCH In review Christoph Hellwig 2 participants 3 messages Jul 29, 2008 – Aug 1, 2008

lore
Share & tools
lore
#0 lore raw

cover btree cleanups and unification

This is the full btree unficiation based on Dave's initial patches plus various cleanups. This second versions post now contains the complete btree refactoring, and passes XFSQA.

The two first patches from the first round have been merged, so they are not included anymore. In the reposted patches not much has changed, only the readahead helpers have been renamed and the tracing infrastructure has been improved a little.

The real news is the missing btree operations, including all the hairy ones. These have been reimplemented looking at the three original btrees and Daves code, in doubt going with the former. That means the small helpers to insert/remove/move records are gone now in favour of following the original code more closely. This fixed the one off error showing up in the intial refactoring.

There's a lot of new comments and empty lines, so by diffstat the new code isn't all that much smaller:

	36 files changed, 6041 insertions(+), 7128 deletions(-)

but the (debug) binary modules is almost 15kb smaller:

	   text	   data	    bss	    dec	    hex	filename
	 631577	   4227	   3092	 638896	  9bfb0	fs/xfs/xfs.ko.old
	 616929	   4435	   3124	 624488	  98768	fs/xfs/xfs.ko.btree

I have not run any benchmarks yet to see what the performance impact is, and I still have some ideas to optimize the code.

#1 lore raw
Quoted 3 lines · Christoph Hellwig

This is the full btree unficiation based on Dave's initial patches plus various cleanups. This second versions post now contains the complete btree refactoring, and passes XFSQA.

Cool. Are the first few patches unchanged from the ones I reviewed earlier?

Quoted 6 lines

The real news is the missing btree operations, including all the hairy ones. These have been reimplemented looking at the three original btrees and Daves code, in doubt going with the former. That means the small helpers to insert/remove/move records are gone now in favour of following the original code more closely. This fixed the one off error showing up in the intial refactoring.

I'll have a close look at this ;)

Quoted 4 lines

There's a lot of new comments and empty lines, so by diffstat the new code isn't all that much smaller:

	36 files changed, 6041 insertions(+), 7128 deletions(-)

'bout the same as my original change series...

Quoted 5 lines

but the (debug) binary modules is almost 15kb smaller:

	   text	   data	    bss	    dec	    hex	filename
	 631577	   4227	   3092	 638896	  9bfb0	fs/xfs/xfs.ko.old
	 616929	   4435	   3124	 624488	  98768	fs/xfs/xfs.ko.btree

And again, roughly the same. The difference will really be seen when we implement new btrees.....

Cheers,,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#2 lore raw
Quoted 7 lines · Dave Chinner
Quoted 3 lines · Christoph Hellwig

This is the full btree unficiation based on Dave's initial patches plus various cleanups. This second versions post now contains the complete btree refactoring, and passes XFSQA.

Cool. Are the first few patches unchanged from the ones I reviewed earlier?

As mentioned below only the trace and readahead patches changed a little bit.