| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
the Autotools and CMake.
|
|
|
|
|
| |
overlapped by the freed region. Previously, the page-table entries were
only freed on one success path through _xfree_impl().
|
|
|
|
|
| |
H5PB_remove_entries(), to remove *all* pages overlapped by the freed
space, instead of just the first one.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
eventually reclaimed.
Defer reclamation of raw data filespace, only.
XXX Deferring only raw-data reclamation isn't *quite* sufficient because
XXX a writer could conceivably reuse metadata space as raw-data space
XXX before max_lag ticks have elapsed. Readers could see metadata
XXX corrupted by raw data.
Once a file starts to close, stop deferring reclamation.
In H5MF_free_aggrs(), perform all deferred reclamations if the file is
closing.
|
| |
|
|
|
|
|
|
| |
available to other files. Make the tick number a parameter instead of
using the f->shared->tick_num, so that we can pass a maximal tick number
and that way reclaim all of the deferred frees.
|
|
|
|
| |
fprintf's to hlog_fast() calls. Add some new hlog_fast() calls.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
messages to them.
Move and update a comment about removing (all) items from the deferred queue
before processing them.
Bug fix: don't leak file space, add back to the deferred queue all items that
were not disposed of.
|
|
|
|
|
|
|
|
|
|
|
| |
H5F_shared_t's queue before processing any, instead of removing just one,
processing it, removing another, processing it, and so on. While we processed
the first entry on the queue, we often called H5MF_xfree() again, which called
process_deferred_frees() again, which processed the first entry, calling
H5MF_xfree() again, and on and on, until the deferred frees list was exhausted.
This deep recursion showed up as a wide, tall stack in my flame graphs. Taking
all deferred entries off of the queue to start definitely breaks the recursion
and saves processing time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for them did not help me keep track of what they were for.
For brevity, I will call a deferred free record a "defree" in the code.
The deferred_free_queue_t becomes a lower_defree_queue_t, and each record on
the queue becomes a lower_defree_t. A lower_defree_t tracks one deferred free
on the lower VFD---that is, the one under the SWMR VFD.
The old_image_queue_t becomes a shadow_defree_queue_t, and a record therein is
a shadow_defree_t. A shadow_defree_t tracks one deferred free on the shadow
file.
|
| |
|
|
|
|
|
| |
where static routines have to have double underscores (__) in their name or
else the library asserts false.
|
|
|
|
|
|
|
|
| |
including the merge of `hdffv/hdf5/develop`, back to the branch that Vailin and
I share.
Now I need to put this branch on a fork with a less confusing name than
vchoi_fork!
|
|
|
|
|
|
|
|
| |
(1) Assertion failure in the vfd_swmr test
(2) Reader error in the vfd swmr concurrent tests
Also fixes for:
(a) Use H5MV_alloc() to allocate space for md_pages_reserved when creating the metadata file in H5F__vfd_swmr_init()
(b) Remove a multi-page (when vfd_swmr_writer is true) from the page buffer in H5MF_xfree()
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mainzer's last checkin message):
--src/H5PB.c: checks for size >= page size
--src/H5MF.c: disable/enable page buffering in H5MF_tidy_self_referential_fsm_hack()
--src/H5MFsection.c: call H5PB_remove_entry() for both raw/metadata pages in H5MF__sect_small_merge()
(B) Port and modify existing concurrent swmr tests to VFD SWMR. Also modify the following:
--remove flushes from VFD SWMR writer tests
--set Nreaders to 0 in test/testvfdswmr.sh.in to test for writers only
Please enter the commit message for your changes. Lines starting
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tested serial / debug on Charis and Jelly.
Two known issues:
1) New page buffer seems to expose issues in the accumulator code.
For whatever reason, fheap with the new page buffer exposes corruption
issues if the page buffer uses H5F__accum_read/write(), but the problems
go away if the page buffers uses H5FD_read/write() instead.
Need to either chase this or dis-able page bufffer in combination with
the accumulator.
2) Encountered a number of assertion failures that are explainable by the
free space manager code not telling the page buffer to discard pages
when they are freed.
Wrote code to handle this -- once the free space manager is modified,
this code should be removed and the original assertions restored.
|
| |
|
|\
| |
| |
| | |
https://bitbucket.hdfgroup.org/scm/~lrknox/hdf5_lrk into develop
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Description:
Applied the typo fixes from user's report.
The previous pull request couldn't be merged because it was too old,
and it was too complicated for me to resolve conflicts.
Platform tested:
Linux/64 (jelly) - very minor
|
|/
|
|
| |
Commit Joe Lee's typo corrections for src/H5MF.c.
|
| |
|
|\
| |
| |
| |
| |
| | |
merge_func_enter_vol
Plus initial steps toward merging API context push into FUNC_ENTER_API* macros
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Test the changes in a branch via daily testing.
|
|
|
|
|
|
|
|
|
|
| |
hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
|
|
|
|
|
|
|
|
|
|
|
|
| |
associated bug fixes.
Also, modifications to H5PB_dest() to flush the page buffer before
destroying the page buffer. This is necessary, as when persistant
free space managers are enabled, the page buffer will typically contain
dirty FSM data at page buffer destroy time.
Tested serial/debug, serial/production, serial/check-vfd/debug,
parallel/debug, parallel/production on Jelly.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
and metadata. Also, some more ring reset safeties and minor code cleanups.
|
| |
|
|
|
|
|
| |
and correspondingly remove 'const' from some internal routines. Also rename
some H5MF* routines to reflect their static/package usage.
|
| |
|
|
|
|
| |
to make the FUNC_ENTER macro happy.
|
| |
|
|
|
|
|
|
| |
gets set on the dxpl correctly. Also restored the TAG macro
to H5FS__cache_hdr_pre_serialize() since otherwise the tag
won't be initialized.
|
|
|
|
|
|
|
|
| |
Bring h5format_convert tool from revise_chunks branch to trunk.
Tested on:
MacoSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
|
|
|
|
|
|
| |
Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1
autotools serial
autotools parallel (MPICH 3.1.4)
|
|
|
|
| |
Tested on jam, ostrich, platypus, kite, quail, osx1010test, emu, mayll, moohan.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.
This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.
Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)
Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
Linux/64 3.10.x (kituo) w/serial & parallel
Linux/64 2.6.x (ostrich) w/serial
|
|
|
|
|
|
|
|
|
| |
Bring the "metadata rings" code from its branch (mdc_rings_v2) to the trunk.
(This change will support the page buffering feature)
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
|
|
|
|
|
|
|
|
|
|
| |
Normalize trunk against the metadata_cache_merge branch, in preparation
for merging the branch into the trunk.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
Linux/64 2.6.x (koala) w/serial
Linux/32 2.6.x (jam) w/serial & parallel
|