Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | `tick_num_g` has been gone for a while, so do not refer to it in | David Young | 2020-04-13 | 1 | -6/+6 |
| | | | | comments any longer. | ||||
* | Add clean_shadow_index() for removing shadow-index entries that were | David Young | 2020-04-13 | 1 | -4/+51 |
| | | | | | flushed more than max_lag ticks ago. This conserves space in the shadow file, which would grow great big while the `credel` demo ran. | ||||
* | Add H5MV split method for alignment. | vchoi | 2020-04-13 | 1 | -24/+57 |
| | |||||
* | Check whether or not the shadow entry size is different from the | David Young | 2020-04-13 | 1 | -2/+15 |
| | | | | | | | | | | | pagebuffer entry size. If the sizes are different, then release the old shadow space (using the correct size) and set the shadow page number to 0 so that H5F_update_vfd_swmr_metadata_file() will allocate new shadow space with the right size. Vailin says that this fixes the bug she found, where a 4096-byte buffer allocated by H5MV_alloc() is released with H5MV_free() as if it was 8192 bytes long. | ||||
* | Be brief: remove commas and equal signs from diagnostic log messages. | David Young | 2020-04-08 | 1 | -18/+19 |
| | |||||
* | Fix spelling in a comment. | David Young | 2020-04-08 | 1 | -1/+1 |
| | |||||
* | Add a new log outlet and change an `fprintf(stderr,` to an | David Young | 2020-04-07 | 1 | -1/+2 |
| | | | | `hlog_fast(lengthen_pbentry,`. This quiets one of the VFD SWMR tests. | ||||
* | Straggler from previous: declare the new shadow_index_reclaim log | David Young | 2020-04-07 | 1 | -0/+1 |
| | | | | outlet. | ||||
* | Simplify H5PB_vfd_swmr__update_index(), which figures in | David Young | 2020-04-07 | 1 | -21/+23 |
| | | | | | | | | | | | | | | | | | my investigation of shadow-file freespace leaks. Copy the tick number from the H5F_shared_t to a temporary variable and use the temporary instead of spelling out `shared->tick_num`. Assert that every entry on the tick list is dirty, since clean entries will not appear on the tick list. Mark each corresponding shadow-index entry dirty, and set its "tick of last change" to the current tick and "tick of last flush" to 0. This makes the scan for entries that do not appear on the tick list more believable. Lower staircase in the loop that scans for shadow-index entries that did not appear on the tick list. Log indicies that are marked for reclamation. | ||||
* | Declutter: remove superfluous comment and assertion. NFCI. | David Young | 2020-04-07 | 1 | -2/+0 |
| | |||||
* | Remove extraneous whitespace. NFCI. | David Young | 2020-04-07 | 1 | -2/+0 |
| | |||||
* | After adding a shadow page to the deferred free list, set the entry's | David Young | 2020-04-07 | 1 | -3/+5 |
| | | | | page number to 0 so that we cannot free it again by accident. | ||||
* | Add a log outlet and shorten the name of an existing outlet. | David Young | 2020-04-07 | 1 | -2/+7 |
| | |||||
* | Fix the width of an index variable. | David Young | 2020-04-07 | 1 | -1/+1 |
| | |||||
* | Make some changes to conserve filespace and ensure that all filespace is | David Young | 2020-04-06 | 2 | -2/+8 |
| | | | | | | | | | | | | | | | | 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. | ||||
* | Improve diagnostic logging. | David Young | 2020-04-02 | 1 | -7/+26 |
| | |||||
* | Standardize and shorten diagnostic messages to help my search for the | David Young | 2020-04-02 | 1 | -11/+11 |
| | | | | leak of shadow-file space. | ||||
* | Remove superfluous comment. Remove unnecessary variable | David Young | 2020-04-02 | 1 | -3/+3 |
| | | | | | initializations: the compiler will tell us if the variables are used before they're set. NFCI. | ||||
* | Remove superfluous whitespace, insert whitespace around / operator, | David Young | 2020-04-02 | 1 | -5/+3 |
| | | | | repair for-loop indentation. NFCI. | ||||
* | Update comments, shorten comments, remove superfluous comments. | David Young | 2020-04-02 | 1 | -14/+5 |
| | |||||
* | Rename process_deferred_frees as H5MF_process_deferred_frees and make it | David Young | 2020-03-31 | 2 | -7/+8 |
| | | | | | | 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. | ||||
* | Fix whitespace at end (beginning?) of line. NFCI. | David Young | 2020-03-31 | 1 | -1/+1 |
| | |||||
* | Straggler: add htri_to_string() for converting htri_t to a string | David Young | 2020-03-30 | 1 | -0/+11 |
| | | | | constant. | ||||
* | Relax H5F_update_vfd_swmr_metadata_file() argument checking so that we can call | David Young | 2020-03-30 | 1 | -15/+5 |
| | | | | | it with num_entries == 0 and a non-NULL `index`. Delete some code that isn't necessary if `num_entries == 0 && index != NULL` is allowed. NFCI. | ||||
* | Simplify: change `if (cond) { assert(FALSE); }` to `assert(!cond);`. | David Young | 2020-03-30 | 1 | -4/+1 |
| | |||||
* | Lower staircase. NFCI. | David Young | 2020-03-30 | 1 | -20/+19 |
| | |||||
* | Delete an #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf that probably never worked | David Young | 2020-03-30 | 1 | -3/+0 |
| | | | | quite as intended. | ||||
* | Add a log outlet. Replace #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf's with | David Young | 2020-03-30 | 1 | -24/+19 |
| | | | | hlog_fast() calls. | ||||
* | Add log outlets. Convert existing #ifdef H5MF_ALLOC_DEBUG{,_MORE} debug | David Young | 2020-03-30 | 1 | -77/+74 |
| | | | | fprintf's to hlog_fast() calls. Add some new hlog_fast() calls. | ||||
* | Delete ridiculous comments. Remove superfluous curly braces. NFCI. | David Young | 2020-03-30 | 1 | -10/+7 |
| | |||||
* | Delete ridiculous comment and excess for-loop whitespace. NFCI. | David Young | 2020-03-30 | 1 | -2/+2 |
| | |||||
* | Delete ridiculous comments and repair some whitespace. NFCI. | David Young | 2020-03-30 | 1 | -4/+3 |
| | |||||
* | Be brief: turn 7 lines of if-else to one line of ?:. Be sensible: don't | David Young | 2020-03-30 | 1 | -10/+1 |
| | | | | assert a pointer we just dereferenced is non-NULL. | ||||
* | Let us use space as well as comma to separate outlet=yes|no clauses in | David Young | 2020-03-30 | 1 | -1/+1 |
| | | | | the HLOG environment variable. | ||||
* | Reverted optimization in the metadata cache that avoided re-reading | mainzer | 2020-03-26 | 1 | -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. | ||||
* | Add a log outlet for pagebuffer I/O and subordinate outlets for | David Young | 2020-03-20 | 1 | -2/+12 |
| | | | | | pagebuffer reads and writes: pbio, pbrd, pbwr. In H5PB_read() and H5PB_write(), log only global heap accesses, for now. | ||||
* | Protect against an assertion during H5Fflush(): do not doubly-increment | David Young | 2020-03-20 | 1 | -3/+2 |
| | | | | | | the tick number in H5F_vfd_swmr_close_or_flush() when just flushing, because that made the assertion in H5PB_vfd_swmr__set_tick(), that the tick number had not increased by more than one, fail. | ||||
* | In H5PB__write_meta(), extend a single-page entry when overwriting it | David Young | 2020-03-17 | 1 | -51/+55 |
| | | | | | | | | | | | | | | with multiple pages. Update statistics to maintain consistency. Refactor a bit: in H5PB__write_meta(), move code that's in both the if- and else- branch to either before the if-else or after and de-duplicate. In H5PB_vfd_swmr__update_index(), always update the length of a shadow-index entry to the current size of its corresponding page-table entry. In H5PB_vfd_swmr__update_index(), disregard shadow-index entries that await garbage collection. | ||||
* | Join some lines. NFCI. | David Young | 2020-03-17 | 1 | -3/+1 |
| | |||||
* | Fix spelling, alread -> already. NFCI. | David Young | 2020-03-13 | 1 | -2/+2 |
| | |||||
* | Update Guide. Switch to a short and informative function name. | David Young | 2020-03-11 | 1 | -5/+3 |
| | |||||
* | Add my work in progress on variable-length string test for VFD SWMR. | David Young | 2020-03-10 | 4 | -1/+36 |
| | |||||
* | Stop changing the type of global-heap storage to raw data before accessing the | David Young | 2020-03-09 | 1 | -10/+2 |
| | | | | | | | page buffer. Now variable-length (VL) data such as VL strings work with VFD SWMR. This change also makes the library more consistent in its treatment of global-heap storage, since it's always been allocated as metadata, not raw data. | ||||
* | Don't assert that an H5FD_mem_t read/written through the page buffer is not | David Young | 2020-03-06 | 1 | -3/+0 |
| | | | | H5FD_MEM_GHEAP, that's an out-of-date assumption. | ||||
* | Instead of duplicating H5F_shared_block_write() and _read() wholesale in | David Young | 2020-03-06 | 1 | -69/+2 |
| | | | | H5F_block_write() and _read(), make the latter functions call the former. | ||||
* | Break metadata reads and writes into up to three pieces, the non-page-aligned | David Young | 2020-03-04 | 1 | -2/+134 |
| | | | | | piece in the beginning, 1 or more full pages, and whatever is leftover at the end. Passes all of our tests. | ||||
* | No, Robb Matzke did *not* write this file. Get to the point in a | David Young | 2020-02-28 | 1 | -4/+1 |
| | | | | copy-and-pasted comment. | ||||
* | Move the `swmr` log-outlet declaration to H5FDvfd_swmr_private.h and use `swmr` | David Young | 2020-02-28 | 3 | -2/+6 |
| | | | | | as the parent outlet of a new outlet for messages about the motion of the shadow index. | ||||
* | Shave 44 lines off of H5PB_read() by gathering a bunch of checks into one if | David Young | 2020-02-27 | 1 | -67/+23 |
| | | | | condition, reducing diagnostic checks, single-spacing, etc. | ||||
* | Don't re-test a condition that's assert()'d at function entry and | David Young | 2020-02-26 | 1 | -2/+2 |
| | | | | couldn't change in the mean time, but do be paranoid and re-assert. |