[Bug 287161] [regression] kernel and user processes use 100% CPU time, related to n277037-d15792780760

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 30 May 2025 12:01:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287161

            Bug ID: 287161
           Summary: [regression] kernel and user processes use 100% CPU
                    time, related to n277037-d15792780760
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: rz-rpi03@h-ka.de

Hello,

on a VM with a customised kernel configuration, based on MINIMAL, runs the
latest exim(8)
form pkg.

Nowadays after some time exim(8) and the kernel uses 100% of all given CPUs.
This happens approximately between 9 and 45 minutes after the VM has started.
I think the time is related to the work exim(8) has to do.

Meanwhile I bisect this change in behaviour down from n277447-9ce5410b9094 to 
n277037-d15792780760 (unix: new implementation of unix/stream &
unix/seqpacket).

A ktrace from three exim(8) processes showed 5 to 8 million calls to poll(2)
until
the trace stopped. Here is an example how the ktraces looked:

 93266 exim     CALL  poll(0x8209d59f0,0x2,0x1388)
 93266 exim     STRU  struct pollfd[] = { { fd=-1, events=0x1<POLLIN>,
revents=0}
             { fd=9, events=0x1<POLLIN>, revents=0x10<POLLHUP>} }
 93266 exim     RET   poll 1
 93266 exim     CALL  poll(0x8209d59f0,0x2,0x1388)
 93266 exim     STRU  struct pollfd[] = { { fd=-1, events=0x1<POLLIN>,
revents=0}
             { fd=9, events=0x1<POLLIN>, revents=0x10<POLLHUP>} }
 93266 exim     RET   poll 1
 93266 exim     CALL  poll(0x8209d59f0,0x2,0x1388)
 93266 exim     STRU  struct pollfd[] = { { fd=-1, events=0x1<POLLIN>,
revents=0}
             { fd=9, events=0x1<POLLIN>, revents=0x10<POLLHUP>} }
 93266 exim     RET   poll 1
 93266 exim     CALL  poll(0x8209d59f0,0x2,0x1388)
 93266 exim     STRU  struct pollfd[] = { { fd=-1, events=0x1<POLLIN>,
revents=0}
             { fd=9, events=0x1<POLLIN>, revents=0x10<POLLHUP>} }
...


Kind regards, Ralf

-- 
You are receiving this mail because:
You are the assignee for the bug.