Network

 
AuthorCommitMessageCommit Date
David YoungDavid Young
89665577055Flesh out the delete/validate-deletion tests. Extract a shared subroutine.
David YoungDavid Young
a9849089c68Delete dead code. Re-enable the coordination between reader and writer: the writer expects to read a character on its standard input stream when the reader is ready for it to delete the zoo content.
David YoungDavid Young
b1e2eceed77Let the reader-side tick instrumentation know about the first tick read from the shadow file.
David YoungDavid Young
a0b6979c6ffRelax an assertion condition.
David YoungDavid Young
3cc2644c70aBug fix: in the freespace manager, use a new routine, H5PB_remove_entries(), to remove *all* pages overlapped by the freed space, instead of just the first one.
David YoungDavid Young
744ff2b84d8Delete an assertion that doesn't hold true for multipage entries.
David YoungDavid Young
13e930d306fAdd a `skip compact` configuration for skipping the "zoo" tests for compact datasets. Bundle the zoo-test configuration into a new type, zoo_config_t. Add a couple new "zoo" test phases, "delete" and "validate-deletion", to the existing "create" and "verify" phases. Give names and numbers to all phases with the new `enum`, `phase_t`, and refactor so that tend_zoo runs a selection of phases at each step. Stub the "delete" and "validate-deletion" phases for most test steps. Actually impleme...
David YoungDavid Young
de18e8c95a3Make await_signal() await any signal instead of just SIGINT. Add a (commented out) private version of strsignal(3), just in case we need one on some platform.
David YoungDavid Young
95105d3facdPrevent a spurious assertion by using the correct index, oops!
David YoungDavid Young
b1de3197d38Delete an empty line. NFCI.
David YoungDavid Young
62ae44da95bStraggler from last: provide stub implementations of vfd_swmr_writer_may_increase_tick_to() and vfd_swmr_reader_did_increase_tick_to().
David YoungDavid Young
1d9ab42c571Add a second bool argument to H5F_vfd_swmr_writer_end_of_tick() that tells whether the call may wait for the reader tick to catch up. Add stub routines vfd_swmr_writer_may_increase_tick_to() and vfd_swmr_reader_did_increase_tick_to() for tests---e.g., vfd_swmr_zoo_writer/_reader---to use to coordinate their tick numbers. vfd_swmr_writer_may_increase_tick_to(new_tick, wait_for_reader) returns true if the writer may increase its tick number to `new_tick` without overrunning the reader. A rea...
David YoungDavid Young
ea51b2e095cCondense H5F_vfd_swmr_close_or_flush() for readability: remove unnecessary comments and trim whitespace. Remove unnecessary backslash line continuations and add semicolons to HGOTO_ERROR() statements. NFCI.
David YoungDavid Young
f05358b4107Quiet some used-before-initialized warnings.
David YoungDavid Young
53cb28016d9Straggler from last: retire vfd_swmr_writer_g.
David YoungDavid Young
aee40b370d9Retire globals vfd_swmr_writer_g and end_of_tick_g.
David YoungDavid Young
fc36f531155Quiet some used-before-initialized warnings and, while I am here, initialize one variable with a named constant instead of -1.
David YoungDavid Young
752af2134f0Stragglers from previous: globally declare some hlog outlets and add declare some new functions.
David YoungDavid Young
69e95c37481Add a log outlet for metadata cache (MDC) invalidations, `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 overl...
David YoungDavid Young
71b7a186ef9Delete unused line, shorten a comment, wrap some lines, add missing semicolons and curly braces. NFCI.
David YoungDavid Young
9c6b5a270c1Re-enable reclamation of disused shadow-index entries.
David YoungDavid Young
98838cb0f3cRemove unnecessary pointer test: it cannot possibly be NULL.
David YoungDavid Young
ad4206a604cRemove gratuitous initialization, comment, and assertions.
David YoungDavid Young
6f65412b76eExtract a subroutine, H5F_vfd_swmr_process_eot_queue(), from the end-of-tick processing macro. H5F_vfd_swmr_process_eot_queue() looks for files due for end-of-tick processing and calls either the reader or writer EOT routine. Always call the reader/writer EOT routines with an actual H5F_t instead of NULL.
David YoungDavid Young
21f3fae4698Refactor: extract subroutine estack_get_state() for reuse in a commit that's coming soon.
David YoungDavid Young
86be273386bSend debug messages to stderr instead of to stdout.
David YoungDavid Young
1f563c80b58Improve diagnostic logging.
David YoungDavid Young
c69d756f751Oops, properly the outlet symbol-name prefix with the rest of the symbol name, so the symbols are not prefixed with `HLOG_PREFIX` but with `hlog_gbl_`.
David YoungDavid Young
aebeeada310When hlog_set_state() changes the state of an outlet, reset each outlet's cached state so that its state is reevaluated.
David YoungDavid Young
6bf7e1cadabLog page-buffer reads and writes no matter what storage type. (Used to log only the global heap-type reads and writes.)
David YoungDavid Young
f51f69faad3Re-wrap paragraphs at < 80 columns.
David YoungDavid Young
4b40738946bMark a task complete, fix some typos, wrap some paragraphs.
David YoungDavid Young
671c28bfad3Put multiline if-body in curly braces, repair indentation, remove gratuitous backslash line continuation, add missing semicolons.
David YoungDavid Young
a6d7004c030Wrap a line before 80 characters. NFCI.
David YoungDavid Young
4dc315dfb78Document `hlog` a bit.
David YoungDavid Young
43b8671231cChange the prefix for hlog_outlet_t's from log_ to hlog_gbl_ to avoid namespace pollution. Use a `#define HLOG_PREFIX hlog_gbl_` so that I can change all of the prefixes in one place if need be.
David YoungDavid Young
03a91f3cf55Add a log outlet, `tick`, and log some changes to the tick number there. While I'm here, assert in the reader that the tick number hasn't leapt forward by more than max_lag ticks.
David YoungDavid Young
5248e9f2c5f`tick_num_g` has been gone for a while, so do not refer to it in comments any longer.
David YoungDavid Young
647091ab539Add clean_shadow_index() for removing shadow-index entries that were flushed more than max_lag ticks ago. This conserves space in the shadow file, which would grow great big while the `credel` demo ran.
vchoivchoi
2b5dbc7d42cAdd H5MV split method for alignment.
David YoungDavid Young
1ce8ff1fea6Check whether or not the shadow entry size is different from the 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.
David YoungDavid Young
8ec3ad3d93cBe brief: remove commas and equal signs from diagnostic log messages.
David YoungDavid Young
6d0d1b490bcFix spelling in a comment.
David YoungDavid Young
c1b655b568fCount failures of the variable-length string tests as "soft errors" that don't count as VFD SWMR test failures. The variable-length string tests are nondeterministic, so we expect them to fail, and they do fail quite often on `jelly`, for example.
David YoungDavid Young
25968a795b4Add a new log outlet and change an `fprintf(stderr,` to an `hlog_fast(lengthen_pbentry,`. This quiets one of the VFD SWMR tests.
David YoungDavid Young
1292630c622Straggler from previous: declare the new shadow_index_reclaim log outlet.
David YoungDavid Young
3aaa7a4f279Don't try to free a NULL pointer.
David YoungDavid Young
a3262d2274fQuiet a warning about the variable being used before it is initialized. Looks like the compiler actually was wrong, but this is a harmless change to make.
David YoungDavid Young
7b83633d5efSimplify H5PB_vfd_swmr__update_index(), which figures in 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...
David YoungDavid Young
46832e59ecdDeclutter: remove superfluous comment and assertion. NFCI.