[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