From 696e5a8a73a4441f5aea4b01715d4863051647d6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 16 Feb 2021 17:15:16 +0100 Subject: [PATCH] man: make clear that sd-journal notifications always come with extra latency Replaces: #17699 --- man/sd_journal_get_fd.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/man/sd_journal_get_fd.xml b/man/sd_journal_get_fd.xml index 52360c76c33..6ca45c4e8ed 100644 --- a/man/sd_journal_get_fd.xml +++ b/man/sd_journal_get_fd.xml @@ -151,18 +151,18 @@ else { poll() and sd_journal_process() into one. - sd_journal_reliable_fd() may be used to - check whether the wakeup events from the file descriptor returned - by sd_journal_get_fd() are known to be - immediately triggered. On certain file systems where file change - events from the OS are not available (such as NFS) changes need to - be polled for repeatedly, and hence are detected only with a - certain latency. This call will return a positive value if the - journal changes are detected immediately and zero when they need - to be polled for and hence might be noticed only with a certain - latency. Note that there is usually no need to invoke this function - directly as sd_journal_get_timeout() on these - file systems will ask for timeouts explicitly anyway. + sd_journal_reliable_fd() may be used to check whether the wake-up events from + the file descriptor returned by sd_journal_get_fd() are known to be quickly + triggered. On certain file systems where file change events from the OS are not available (such as NFS) + changes need to be polled for repeatedly, and hence are detected only with a considerable latency. This + call will return a positive value if the journal changes are detected quickly and zero when they need to + be polled for. Note that there is usually no need to invoke this function directly as + sd_journal_get_timeout() will request appropriate timeouts anyway. + + Note that all of the above change notification interfaces do not report changes + instantly. Latencies are introduced for multiple reasons: as mentioned certain storage backends require + time-based polling, in other cases wake-ups are optimized by coalescing events, and the OS introduces + additional IO/CPU scheduling latencies.