Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1144 6619 d 17 h jermar /kernel/trunk/ Completed B+-tree support.
Enable btree_remove().
Reorder some static functions and group them together.
Fix order of nodes in the leaf_head list.
 
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/generic/src/mm/slab.c
/kernel/trunk/test/btree/btree1/test.c
1142 6620 d 0 h jermar /kernel/trunk/ Update B+-tree code.
The code is there, btree_remove() has not been tested yet.
(Fixes, if any, are to come later today.)
 
/kernel/trunk/generic/include/adt/btree.h
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/test/btree/btree1/test.c
1140 6621 d 17 h jermar /kernel/trunk/generic/ Change B+-tree from 2-3-4 tree to 2-3-4-5 tree by adding space for the fourth key.
This should make key removal easier.
 
/kernel/trunk/generic/include/adt/btree.h
/kernel/trunk/generic/src/adt/btree.c
1136 6625 d 16 h jermar /kernel/trunk/generic/src/adt/ Try to avoid splitting full B+-tree nodes by trying left or right rotation first.
(This improved memory consumption of this algorithm by some 40% - meassured on 101-item set).
 
/kernel/trunk/generic/src/adt/btree.c
1134 6626 d 19 h jermar /kernel/trunk/generic/src/adt/ Change B+-tree to:
- store lesser keys in a key's left subtree
- propagate the bigger of medians (if there are two medians) when splitting a node
 
/kernel/trunk/generic/src/adt/btree.c
1121 6628 d 14 h jermar /kernel/trunk/ Small textual changes.  
/kernel/trunk/arch/amd64/include/atomic.h
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/amd64/src/asm_utils.S
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia32/src/userspace.c
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/src/adt/btree.c
1101 6631 d 15 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.
 
/kernel/trunk/generic/include/adt/btree.h
/kernel/trunk/generic/src/adt/btree.c
/kernel/trunk/test/btree
/kernel/trunk/test/btree/btree1
/kernel/trunk/test/btree/btree1/test.c
/kernel/trunk/Makefile
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/main.c
/kernel/trunk/kernel.config