Subversion Repositories HelenOS-historic

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
1177 6787 d 20 h jermar /kernel/trunk/generic/ Modify B+tree node key width to be 64-bit wide on all platforms.  
1164 6790 d 17 h jermar /kernel/trunk/generic/ Switch B+tree node allocation from malloc() to a dedicated slab - btree_node_slab.  
1150 6796 d 0 h jermar /kernel/trunk/generic/ Rename btree_node_left_sibling() to btree_leaf_node_left_neighbour()
and btree_node_right_sibling() to btree_leaf_node_right_neighbour()
as the left and right neighbours of a node needn't be its siblings.
 
1148 6796 d 11 h jermar /kernel/trunk/generic/src/ s/B+-tree/B+tree/  
1147 6796 d 11 h jermar /kernel/trunk/generic/ Deploy B+tree in address space area management.
Change as_remap() to check for conflicts with other address space areas only when the area in question grows.
 
1144 6798 d 14 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.
 
1142 6798 d 22 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.)
 
1140 6800 d 14 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.
 
1136 6804 d 14 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).
 
1134 6805 d 17 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
 
1121 6807 d 12 h jermar /kernel/trunk/ Small textual changes.  
1101 6810 d 12 h jermar /kernel/trunk/ B+-tree implementation.
Currently supports only inserting and searching.