summaryrefslogtreecommitdiff
path: root/src/journals.c
AgeCommit message (Collapse)Author
2021-08-24verify-hashed-objects: add `jio verify hashed-objects`Vito Caputo
This is currently very hacky and unfinished, but does enough for some performance comparisons against a zstd-using journalctl --verify that has been hacked to return early after the first pass. It's currently rather leaky, the whole per-object-dispatch thingy is illuminating a thunk_h shortcoming and forcing addressing the issue... soon.
2021-08-17thunk_h: bump submodule for and use thunk_free()Vito Caputo
thunk.h got some rudimentary environment caching, and in the process introduced thunk_free(). Update the submodule and replace the bare free(closure) callsites with thunk_free(closure). This should help reduce the amount of malloc/free hammering in jio, though there are still quite a few allocations for object payloads in e.g. report-entry-arrays, and the object header space is allocated as a thunk payload which doesn't get environment caching yet.
2021-08-15journals: register opened journals for "fixed" useVito Caputo
This introduces an journal_t.idx member for "fixed" style usage in io_uring parlance. Once all journals get opened, they're registered in the underlying iou ring. Subsequent operations on these files may supply these idx values as the fd, but must also add IOSQE_FIXED_FILE to the sqe's flags. This commit also switches the already present read operations to use the idx/IOSQE_FIXED_FILE method. Theoretically this should offer some efficiency gains, since the kernel can now skip some per-operation fd handling overheads by having them done once instead @ registration time.
2020-11-29journals: s/journal_for_each/journal_iter_objects/Vito Caputo
Make naming a bit more descriptive and consistent... journals_for_each() is a simple non-IO-incurring journals array iteration, journal_for_each() generates IO and walks the data objects hash table... they're quite different, and shouldn't have such similar names.
2020-11-25*: explicitly include assert.hVito Caputo
2020-11-25src: initial commit of jio WIP sourceVito Caputo
This is a very quick and dirty experimental hack written in some sort of bastard continuation-passing style in C w/io_uring using journal-file introspection and manipulation duty as an excuse for its existence. Consider this unfinished prototype quality code.
© All Rights Reserved