Systemd/src
Lennart Poettering 22e3a02b9d journald: add minimal client metadata caching
Cache client metadata, in order to be improve runtime behaviour under
pressure.

This is inspired by @vcaputo's work, specifically:

https://github.com/systemd/systemd/pull/2280

That code implements related but different semantics.

For a longer explanation what this change implements please have a look
at the long source comment this patch adds to journald-context.c.

After this commit:

        # time bash -c 'dd bs=$((1024*1024)) count=$((1*1024)) if=/dev/urandom | systemd-cat'
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB, 1.0 GiB) copied, 11.2783 s, 95.2 MB/s

        real	0m11.283s
        user	0m0.007s
        sys	0m6.216s

Before this commit:

        # time bash -c 'dd bs=$((1024*1024)) count=$((1*1024)) if=/dev/urandom | systemd-cat'
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.0788 s, 20.6 MB/s

        real	0m52.099s
        user	0m0.014s
        sys	0m7.170s

As side effect, this corrects the journal's rate limiter feature: we now
always use the unit name as key for the ratelimiter.
2017-07-31 18:21:21 +02:00
..
ac-power build-sys: drop automake support 2017-07-18 10:04:44 -04:00
activate tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
analyze build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
ask-password build-sys: drop automake support 2017-07-18 10:04:44 -04:00
backlight build-sys: drop automake support 2017-07-18 10:04:44 -04:00
basic string-util: optimize strshorten() a bit 2017-07-31 18:20:28 +02:00
binfmt build-sys: drop automake support 2017-07-18 10:04:44 -04:00
boot boot/efi: don't hard fail on error for tpm measure (#6473) 2017-07-28 03:46:05 -04:00
busctl busctl: monitor - ignore the final NameLost message 2017-05-25 17:37:50 +02:00
cgls build-sys: drop automake support 2017-07-18 10:04:44 -04:00
cgroups-agent build-sys: drop automake support 2017-07-18 10:04:44 -04:00
cgtop build-sys: drop automake support 2017-07-18 10:04:44 -04:00
core execute: don't pass unit ID in --user mode to journald for stream logging 2017-07-31 18:01:42 +02:00
coredump tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
cryptsetup cryptsetup: fix infinite timeout (#6486) 2017-07-31 08:19:16 +02:00
debug-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
delta build-sys: drop automake support 2017-07-18 10:04:44 -04:00
detect-virt build-sys: drop automake support 2017-07-18 10:04:44 -04:00
dissect build-sys: drop automake support 2017-07-18 10:04:44 -04:00
environment-d-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
escape escape: fix systemd-escape description text 2017-07-31 18:01:42 +02:00
firstboot build-sys: drop automake support 2017-07-18 10:04:44 -04:00
fsck build-sys: drop automake support 2017-07-18 10:04:44 -04:00
fstab-generator tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
getty-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
gpt-auto-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
hibernate-resume build-sys: drop automake support 2017-07-18 10:04:44 -04:00
hostname build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
hwdb build-sys: drop automake support 2017-07-18 10:04:44 -04:00
import build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
initctl tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
journal journald: add minimal client metadata caching 2017-07-31 18:21:21 +02:00
journal-remote journal-remote: use MHD_OPTION_STRICT_FOR_CLIENT if MHD_USE_PEDANTIC_CHECKS is deprecated 2017-07-28 16:22:14 +09:00
kernel-install build-sys: drop automake support 2017-07-18 10:04:44 -04:00
libsystemd core, sd-bus, logind: make use of uid_is_valid() in more places 2017-07-31 18:01:42 +02:00
libsystemd-network tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
libudev Merge pull request #6365 from keszybz/fast-tests 2017-07-28 11:09:50 +02:00
locale tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
login parse-util: introduce pid_is_valid() 2017-07-31 18:01:42 +02:00
machine tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
machine-id-setup build-sys: drop automake support 2017-07-18 10:04:44 -04:00
modules-load build-sys: drop automake support 2017-07-18 10:04:44 -04:00
mount build-sys: drop automake support 2017-07-18 10:04:44 -04:00
network tree-wide: fput[cs]() → fput[cs]_unlocked() wherever that makes sense (#6396) 2017-07-21 10:35:45 +02:00
notify build-sys: drop automake support 2017-07-18 10:04:44 -04:00
nspawn nspawn: do not mount /sys/fs/kdbus 2017-07-23 12:03:00 -04:00
nss-myhostname string-util: add strlen_ptr() helper 2017-07-31 18:20:28 +02:00
nss-mymachines build-sys: drop automake support 2017-07-18 10:04:44 -04:00
nss-resolve build-sys: drop automake support 2017-07-18 10:04:44 -04:00
nss-systemd build-sys: drop automake support 2017-07-18 10:04:44 -04:00
path build-sys: drop automake support 2017-07-18 10:04:44 -04:00
quotacheck build-sys: drop automake support 2017-07-18 10:04:44 -04:00
random-seed build-sys: drop automake support 2017-07-18 10:04:44 -04:00
rc-local-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
remount-fs build-sys: drop automake support 2017-07-18 10:04:44 -04:00
reply-password build-sys: drop automake support 2017-07-18 10:04:44 -04:00
resolve Merge pull request #6365 from keszybz/fast-tests 2017-07-28 11:09:50 +02:00
rfkill rfkill: fix erroneous behavior when polling the udev monitor (#6489) 2017-07-31 12:10:10 +02:00
run tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
shared alloc-util: add new helpers memdup_suffix0() and newdup_suffix0() 2017-07-31 18:20:28 +02:00
sleep build-sys: drop automake support 2017-07-18 10:04:44 -04:00
socket-proxy build-sys: drop automake support 2017-07-18 10:04:44 -04:00
stdio-bridge tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
sulogin-shell build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
sysctl build-sys: drop automake support 2017-07-18 10:04:44 -04:00
system-update-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
systemctl string-util: add strlen_ptr() helper 2017-07-31 18:20:28 +02:00
systemd build-sys: drop automake support 2017-07-18 10:04:44 -04:00
sysusers build-sys: drop automake support 2017-07-18 10:04:44 -04:00
sysv-generator build-sys: drop automake support 2017-07-18 10:04:44 -04:00
test string-util: add strlen_ptr() helper 2017-07-31 18:20:28 +02:00
timedate build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
timesync test-timesync: ignore failure to listen on /run/systemd/netif/links/ (#6463) 2017-07-28 09:33:43 +02:00
tmpfiles build-sys: drop automake support 2017-07-18 10:04:44 -04:00
tty-ask-password-agent build-sys: drop automake support 2017-07-18 10:04:44 -04:00
udev tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
update-done build-sys: drop automake support 2017-07-18 10:04:44 -04:00
update-utmp tree-wide: make use of getpid_cached() wherever we can 2017-07-20 20:27:24 +02:00
user-sessions build-sys: drop automake support 2017-07-18 10:04:44 -04:00
vconsole build-sys: drop gitignore patterns for in-tree builds 2017-07-18 10:05:06 -04:00
veritysetup build-sys: drop automake support 2017-07-18 10:04:44 -04:00
volatile-root build-sys: drop automake support 2017-07-18 10:04:44 -04:00