diff options
author | Jan Janssen <medhefgo@web.de> | 2013-06-28 17:26:30 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-07-16 17:38:12 +0200 |
commit | a331b5e6d4724365bad9edeb9420c7e26e7f50da (patch) | |
tree | d2bbe6684dbbf91e3ac89a552b0b4c211aa5bbe4 /units/reboot.target | |
parent | 18d4e7c26e7806ac363d19989df7144d5058ce41 (diff) |
journalctl: Add support for showing messages from a previous boot
Hi,
I redid the boot ID look up to use enumerate_unique.
This is quite fast if the cache is warm but painfully slow if
it isn't. It has a slight chance of returning the wrong order if
realtime clock jumps around.
This one has to do n searches for every boot ID there is plus
a sort, so it depends heavily on cache hotness. This is in contrast
to the other way of look-up through filtering by a MESSAGE_ID,
which only needs about 1 seek + whatever amount of relative IDs
you want to walk.
I also have a linked-list + (in-place) mergesort version of this
patch, which has pretty much the same runtime. But since this one
is using libc sorting and armortized allocation, I prefer this
one.
To summarize: The MESSAGE_ID way is a *lot* faster but can be
incomplete due to rotation, while the enumerate+sort will find
every boot ID out there but will be painfully slow for large
journals and cold caches.
You choose :P
Jan
Diffstat (limited to 'units/reboot.target')
0 files changed, 0 insertions, 0 deletions