[OpenSIPS-Devel] [OpenSIPS/opensips] 3dadd8: io_wait: make the fd-map consistency check a runti...
Bogdan Andrei IANCU
noreply at github.com
Thu Sep 3 09:05:42 UTC 2026
Branch: refs/heads/master
Home: https://github.com/OpenSIPS/opensips
Commit: 3dadd805c0ed05125e1fbfeb7d98b1d10869131b
https://github.com/OpenSIPS/opensips/commit/3dadd805c0ed05125e1fbfeb7d98b1d10869131b
Author: Yury Kirsanov <yury at kfi.net.au>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cfg.lex
M cfg.y
M docs/manual/Script-CoreParameters.md
M globals.c
M globals.h
M io_wait.h
Log Message:
-----------
io_wait: make the fd-map consistency check a runtime debugging option
check_io_data() walks every one of the reactor's max_fd_no entries on
every io_watch_add() and io_watch_del() - O(open_files_limit) per async
registration or removal. Measured on a node with a 21k-entry reactor:
~0.6 ms per call, and 13.6% of host CPU with a module doing ~1,500 async
operations per second, with UDP drops under load that disappear once the
walk is off.
The check exists to debug reactor / fd-map reports, so it stays - but as
a runtime debugging option instead of a compile-time one: the new core
parameter REACTOR_DBG_FD_CHECK (boolean, default off; on by default in
EXTRA_DEBUG builds, which keeps their behaviour unchanged) gates the walk
at the top of the macro. When off the cost is one global load and a
branch; when on the check is exactly what it was, catching the
io_watch_add/del that breaks the map at the moment it happens. Documented
in docs/manual/Script-CoreParameters.md as a debugging-only setting.
Commit: 92363ab7de5885f0f50fa8002d1d5208cd182673
https://github.com/OpenSIPS/opensips/commit/92363ab7de5885f0f50fa8002d1d5208cd182673
Author: Bogdan Andrei IANCU <bogdan at opensips.org>
Date: 2026-09-03 (Thu, 03 Sep 2026)
Changed paths:
M cfg.lex
M cfg.y
M docs/manual/Script-CoreParameters.md
M globals.c
M globals.h
M io_wait.h
Log Message:
-----------
Merge pull request #4221 from Lt-Flash/fix/io-wait-check-io-data
io_wait: run the fd-map consistency check only with EXTRA_DEBUG
Compare: https://github.com/OpenSIPS/opensips/compare/ba0eded8682e...92363ab7de58
To unsubscribe from these emails, change your notification settings at https://github.com/OpenSIPS/opensips/settings/notifications
More information about the Devel
mailing list