libosmocore stderr log performance / blocking

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Neels Hofmeyr nhofmeyr at sysmocom.de
Mon Sep 28 20:25:48 UTC 2020


On Sat, Sep 26, 2020 at 09:52:51PM +0200, Harald Welte wrote:
> > The other idea would be to do our own buffering using osmo_wqueue() on
[...]
> I just implemented that.  Results are promising.

I'm wondering, when logging to a wqueue, you are measuring the timing of adding
the log statement to the queue? Or also the write operation via select() later?

Working off the logging wqueue could also delay handling pending incoming
packets? So maybe it just moves latency, at least in high load situations with
a lot of incoming work pending?

When we do a select() for, say, an incoming message, and that creates a lot of
interesting logging. We'll only actually see the logging on some output in
subsequent select() loop iterations, right?

And if we get a program crash in between? Then the stderr (for example) won't
show the final logging leading up to the crash, right?

So maybe there should be some trivial cfg or cmdline switch that changes over
to non-wqueue logging at least for debugging?

~N



More information about the OpenBSC mailing list