[Bug 278703] Forking on 13.3 restricting to same CPU core

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 02 May 2024 22:02:04 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278703

            Bug ID: 278703
           Summary: Forking on 13.3 restricting to same CPU core
           Product: Base System
           Version: 13.3-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: threads
          Assignee: threads@FreeBSD.org
          Reporter: cbl@cbl.us

We have an in-house php script that processes images. Been running it for
years since FreeBSD 9.x or 10.x at least. It forks itself a number of times to
increase the amount of images we can process per second. Sounds normal, right?  

On FreeBSD 13.2 we've been running great, different CPU cores leveraged per
fork. Now when upgrading to 13.3 or 14.0, the php forked processes all end up
leveraging the SAME CPU core, and that slows us waaay down as we're unable to
leverage all the other cores of the server. 

I've tried a 13.2 userland, and temp booted the 13.3 kernel and the issue does
NOT occur. This sort of tells me the scheduler is fine. However, when using a
13.3 userland AND a corresponding 13.3 kernel, the issues DOES occur and we're
only able to use a single core.  

Same with a fresh install of 14.0 userland/kernel on a totally separate box.

We're seeing this issue on multiple servers with 13.3 and 14.0 using php82 and
php81.

Leveraging the pkg php82 binaries from 13.2 land on the 13.3 userland/kernel or
the 13.3 pkg php82 does not matter, both show the same issue. 

Something in the userland/libraries in 13.3 apparently restricts the forked
php processes from leveraging any additional cpu cores.  

Also note, I read that LLVM was upgraded from v14.x to v17.x in 13.3-RELEASE. I
installed llvm14 from pkg and recompiled from source php82 and php-extensions
using llvm14, and still no joy. 

Any ideas where/what/how/why?

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