Commit Graph

21 Commits

Author SHA1 Message Date
Quincey Koziol
cad9846d77 [svn-r13926] Description:
Add small interface to "wrap" a static buffer (usually on the stack), but
still allow for buffers larger than the static buffer to be allocated.  This
can eliminate _many_ short-lived buffer allocations in situations where the
buffer is a predictable size (or at least a "very likely" size).

    Also, some minor code cleanups, particularly in the SOHM caching code.

Tested on:
    Mac OS X/32 10.4.10 (amazon)
2007-06-28 22:12:45 -05:00
Quincey Koziol
0fcfcf0fa4 [svn-r13773] Description:
Reduce compiler warnings w/gcc 4.2

Tested on:
	FreeBSD/32 6.2 (duty) w/gcc 4.2
2007-05-20 00:48:09 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
Tested platform:
Kagiso only since it is only a comment block change.  If it works in one
machine, it should work in all, I hope.  Still need to check the parallel
build on copper.
2007-02-07 09:56:24 -05:00
John Mainzer
2d6bb59329 [svn-r12774] Modified flush code in the metadata cache to allow it to
handle flush callbacks which can dirty other entries, and
resize and/or rename the target entry.

This feature is needed by the fractal heap code.

Also added associated test code.


H5Commit tested.  Test failed on heping, but the 
error appears to be a syntax error in an un-related
file.

Tests on copper & sol passed, along with tests on 
phoenix.
2006-10-18 05:51:26 -05:00
Quincey Koziol
16a95636a3 [svn-r12768] Description:
Add 'initval' parameter to "lookup3" checksum routine (and implicitly to
the metadata checksum routine), to allow chaining several checksums together
easily (which isn't used by these modules, but will be used in my next checkin)

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-16 17:57:56 -05:00
Quincey Koziol
23b3a6a91b [svn-r12644] Description:
Improve density of the B-tree further.  For greater depths of B-trees,
the gains are over 100%...

    Also, don't split internal nodes with 3->4 splits, use a 1->2 split
instead, so that the density of the nodes around a split is maximized.

Tested:
    Mac OS X/PPC 10.4 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-05 15:53:16 -05:00
Quincey Koziol
f49a8d1afc [svn-r12631] Description:
Refactor the file storage of "twig" nodes in the B-tree to allow them to
store more records, increasing the average density of the B-tree 30-40%.

    Increase # of records in "insert lots" regression test to still create
B-tree of depth 4

    Update h5debug to interpret difference of 'branch' and 'twig' internal
nodes in B-tree correctly.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-26 02:26:07 -05:00
Quincey Koziol
9c30e7bba1 [svn-r12619] Description:
Fix off-by-one error in computing the size of metadata prefixes for v2
B-tree internal & leaf nodes.

    General code cleanup and reformating.

Tested On:
    Mac OS X.4/PPC (amazon)
    Too minor to require h5committest
2006-08-23 10:26:25 -05:00
Quincey Koziol
618fd1f98d [svn-r12615] Description:
Add checksum to v2 B-tree metadata.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 15:03:21 -05:00
Quincey Koziol
952c60946c [svn-r12613] Description:
Reorder metadata cache callbacks to be more sensible.

Tested on:
    None - just eyeballed, very simple change
2006-08-22 12:52:14 -05:00
Quincey Koziol
832305699d [svn-r12589] Description:
Revert passing the v2 B-tree class to callbacks, it turns out to be
unnecessary.  Also revert have a "class private" pointer for each v2 B-tree
class.

    Add in support for the different flavors of fractal heap 'huge' objects
also.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:49:06 -05:00
Quincey Koziol
f06e8744a5 [svn-r12561] Description:
Update code formatting a little and refactor to add a better mechanism
for performing callbacks when removing records from the B-tree or deleting
entire B-tree.

Testing:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
    Mac OS 10.4 (amazon)
2006-08-09 22:42:51 -05:00
Quincey Koziol
49ab3665aa [svn-r12093] Purpose:
Code checkpoint

Description:
    Checkpoint fractal heap changes - mostly internal changes to better
handle more direct blocks from root indirect block.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    Mac OS X (amazon)
2006-03-15 15:16:04 -05:00
Quincey Koziol
e054e736aa [svn-r12077] Purpose:
Code cleanup

Description:
    Fix/update formatting, clean up typos, etc.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-03-11 16:57:18 -05:00
Quincey Koziol
658bf4a8fb [svn-r11968] Purpose:
Incrementtal checkin

Description:
    Revise & update v2 B-tree code to separate the internal package-specific
routines from the library-callable "private" routines.

    Similar updates for the fractal heap code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
2006-02-27 09:52:21 -05:00
Quincey Koziol
3e8948df52 [svn-r11966] Purpose:
Code cleanup

Description:
    Style fixes for consistency & other minor cleanups

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:30:22 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

foreach f (*.[ch] *.cpp)
    sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
82a12612e3 [svn-r11031] Purpose:
New feature

Description:
    Initial checkin of B+ Tree code.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    h5committest

Misc. update:
2005-07-06 13:13:32 -05:00
Quincey Koziol
9bda1fcfd8 [svn-r9986] Purpose:
New feature & code cleanup

Description:
    Change some references from 'keys' to 'records', which is more correct for
this implementation.

    Added feature to allow preemptive 3 node record redistributions (for leaves
only currently)

    Added feature to perform preemptive 3->4 node splits (for leaves only
currently)

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti) w/purify
    Too minor to require h5committest
2005-02-11 01:50:20 -05:00
Quincey Koziol
b4153b4f5e [svn-r9955] Purpose:
New feature & bug fix

Description:
    Allow h5debug tool to dump "test" v2 B-trees correctly.

    Also, fix incorrect parameter passing that was causing failures on
various platforms.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    AIX 5.2 (copper)
2005-02-07 20:03:48 -05:00
Quincey Koziol
24770bf218 [svn-r9939] Purpose:
New feature

Description:
    Expand v2 B-tree code to support splitting the root node when enough
records are inserted and move metadata cache callbacks into their own source
file.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Too minor for h5committest
2005-02-04 16:14:42 -05:00