summaryrefslogtreecommitdiffstats
path: root/src/H5C.c
Commit message (Collapse)AuthorAgeFilesLines
* fix unused related warningskmu2020-05-201-3/+7
|
* address problems from commentskmu2020-05-201-0/+1
|
* fix and address commentskmu2020-05-201-1/+1
|
* change according to previous commentskmu2020-05-201-2/+1
|
* Relax an assertion condition.David Young2020-04-231-1/+1
|
* Add a log outlet for metadata cache (MDC) invalidations,David Young2020-04-161-1/+12
| | | | | | | | | | | | | | | | | | | | | | | `mdc_invalidation`, and use it to log a message when H5C_evict_or_refresh_all_entries_in_page() does not find any affected entries. Pass a page length to H5C_evict_or_refresh_all_entries_in_page() so that it can assert if a multipage eviction overlaps a single-page entry, which had better not happen. Fix a bug in H5F_vfd_swmr_reader_end_of_tick() and heavily rework it: remove page-table entries and evict/refresh MDC entries that overlap *added* shadow-index entries. Because we didn't do that before, in the zoo test, the reader didn't see all of the changes made by the writer until the writer closed the file: MDC entries covered the new content in the shadow file. In H5F_vfd_swmr_reader_end_of_tick(), log changes to the shadow index with the new outlet, `shadow_index_update`. Convert a some of John's disused diagnostic printfs to an `hlog_fast(eot, ...)` call.
* Reverted optimization in the metadata cache that avoided re-readingmainzer2020-03-261-0/+49
| | | | | | | the first portion of a metadata cache entry in speculative reads. This is necessary for VFD SWMR as it presumes that metadata entries are read and written atomically. See comments in H5C.c / H5C_load_entry() for further details.
* Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,David Young2019-12-091-43/+37
| | | | | | | | 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!
* Delay for no more than 1/100 second between any retry in H5C_load_entry().David Young2019-10-181-1/+1
| | | | | | This lets test/testflushrefresh.sh pass again. It was timing out while it waited for expected failures to occur because the retry loop ran for way too long.
* F ix off-by-one bug affecting metadata-read retries: retries == tries - 1.David Young2019-10-021-4/+4
|
* Replace a missing curly brace.David Young2019-09-101-1/+1
|
* Merge the latest h5_retry_t code from my `sleepy` branch.David Young2019-09-101-16/+9
|
* Quiet warnings, especially signed/unsigned casts.dyoung2019-08-221-0/+4
|
* Checkin of fix for the failure to evict all tagged entries issue.mainzer2019-01-161-16/+19
|
* Commented out some test code that resulted spurious failuresmainzer2019-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | in un-related tests (i.e. earray, fheap, etc.). On jelly and charis, vfd_swmr now passes. testvfdswmr.sh displas the following failures: 1) occasionally ccan't open the metadata file. This shows up more on jelly than charis. 2) occasional complaints about incorrect raw data 3) occasional complaints from Quincey's evict tagged entries code that it can't evict all the tagged entries. 4) Numerous filter failures. At a guess, this is an artifact of raw data not making it to file in sync with the metadata. I didn't see this on charis, as I don't have compression configured. 5) An assertion failure in the page buffer in which a sanity check is failing in the code to update the replacement policy. This is worrying --- I'll need to look into it on my return.
* Intermin commit to allow update from Vailin's recent changesmainzer2019-01-151-45/+115
|
* Interim checkin to allow Vailin to address assertion failure inmainzer2019-01-031-186/+858
| | | | | | | | | | | | | | | | the memory manager -- details shown below. Note that there are other issues as well -- this is not a working version. [mainzer@jelly test]$ ./vfd_swmr Testing Configure VFD SWMR with fapl PASSED Testing VFD SWMR configuration for the file and fapl PASSED Testing H5Fvfd_swmr_end_tick() for VFD SWMR PASSED Testing Create/Open/Flush an HDF5 file for VFD SWMR PASSED Testing Verify the metadata file for VFD SWMR writer vfd_swmr: H5MVsection.c:233: H5MV__sect_can_merge: Assertion `((sect1->sect_info.addr)!=((haddr_t)(long)(-1)) && (sect2->sect_info.addr)!=((haddr_t)(long)(-1)) && (sect1->sect_info.addr)<(sect2->sect_info.addr))' failed. Abort (core dumped) [mainzer@jelly test]$
* Initial checkin of page buffer re-implementation to support VFD SWMR.mainzer2018-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* Normalization with vol_integration (misc internal and datatype)Dana Robinson2018-09-201-18/+15
|
* Fixed HDFFV-10404Binh-Minh Ribler2018-07-131-12/+12
| | | | | | | | | 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
* Add API context interface and use it throughout the library.Quincey Koziol2018-03-151-420/+249
|
* Better segregate clean & dirty LRU lists so that they are only defined whenQuincey Koziol2017-09-301-0/+8
| | | | the H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS macro is defined.
* Style cleanups and misc. bugfixes discovered during full SWMR development.Quincey Koziol2017-09-231-18/+29
|
* Updated H5C__flush_single_entry() in H5C.c to correctmainzer2017-08-151-8/+18
| | | | | | | duplicate metadata write bug observed in 1.10.1. Tested parallel/production on jelly parallel/debug & parallel/production on charis (in develop branch)
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | 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.
* Checkin of additions to cache image parallel test code andmainzer2017-03-161-6/+15
| | | | | | | | | | | | 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.
* Final merge of page buffering branch to developQuincey Koziol2017-03-141-2/+124
|
* Merge in reentrency changes to "make space in cache" from page_buffering branch.Quincey Koziol2017-03-131-0/+20
|
* Minor cleanups and bring over "prefetched dirty" fixes for entries loaded fromQuincey Koziol2017-03-121-10/+32
| | | | a cache image.
* Remove some usage of "prefetched_dirty" flag (which hasn't been merged from theQuincey Koziol2017-03-101-1/+0
| | | | | page_buffering branch yet. Also, bring over improvements to flush candidate entries for parallel code.
* Align with incoming page buffering changes: minor cleanups, centralize removingQuincey Koziol2017-03-071-30/+35
| | | | entries from collective metadata read list
* Misc. small cleanups to sync against incoming page buffering changes.Quincey Koziol2017-03-021-47/+17
|
* Normalize against incoming page buffering changes.Quincey Koziol2017-03-011-17/+534
|
* Corrected version of 4b5e05c084f93c35dae946c2c9e814d565a613b0:Quincey Koziol2017-02-281-5/+5
| | | | | Fix some more signed -> unsigned value issues with cache data structures, also misc. style cleanups. All to align w/incoming page_buffering changes.
* Align w/incoming page buffering changes.Quincey Koziol2017-02-251-93/+25
|
* Misc. style cleanups from the page_buffering branch.Quincey Koziol2017-02-181-411/+218
|
* Simplify H5C__serialize_single_entry(), using H5C__generate_image()Quincey Koziol2017-02-021-20/+27
|
* Cache image feature and testingQuincey Koziol2017-01-291-34/+231
|
* Bring change to use array of metadata cache entry classes for H5C_createQuincey Koziol2017-01-281-71/+15
| | | | instead of array of class names from cache image branch.
* Switch list lengths to unsigned integers (to align better w/cache image merge)Quincey Koziol2017-01-281-115/+70
|
* Commit Vailin's fix for the h5format_convert test failure.lrknox2017-01-261-0/+5
| | | | | | DAILYTEST-256 #2. Tested on emu, kituo, mayll, ostrich, and osx1011dev with previously failing test configurations.
* Bring changes to metadata cache "get entry status" call and newQuincey Koziol2017-01-061-16/+262
| | | | | "child serialized / unserialized" messages and support from the cache image branch.
* Bring file shutdown code from cache image branchQuincey Koziol2017-01-051-0/+181
|
* Merge code from cache image branch to split FSM ring into two types: raw dataQuincey Koziol2017-01-041-7/+5
| | | | and metadata. Also, some more ring reset safeties and minor code cleanups.
* Remove 'const' from cache client pre_serialize callback, to reduce warnings,Quincey Koziol2017-01-031-3/+3
| | | | | and correspondingly remove 'const' from some internal routines. Also rename some H5MF* routines to reflect their static/package usage.
* Align with incoming cache_image branch changes: use the index list (instead ofQuincey Koziol2017-01-021-102/+133
| | | | | the hash buckets) for scanning the entries during a flush, and also add in counters for tracking operations during cache flushes.
* Bring support for doubly-linked list of all entries in cache from incomingQuincey Koziol2016-12-301-6/+15
| | | | cache image branch.
* More normalizations against incoming cache image branch.Quincey Koziol2016-12-291-6/+5
|
* Normalize against incoming cache image feature.Quincey Koziol2016-12-281-77/+65
|
* Bring over changes from revise_chunks that cleanup recent SWMR changes fromQuincey Koziol2016-12-111-7/+36
| | | | code review feedback.