Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Mar 2023 10:03:36 +0000
From:      David Chisnall <theraven@FreeBSD.org>
To:        freebsd-hackers@freebsd.org
Subject:   Re: Periodic rant about SCHED_ULE
Message-ID:  <ec4212aa-6afa-d294-1a2a-5d84c4c2398e@FreeBSD.org>
In-Reply-To: <a4d511bc-5d1a-4859-0dcb-d24a2185ef20@m5p.com>
References:  <202303221710.32MHAhe9047582@gndrsh.dnsmgr.net> <27f46bc2-54f8-f5aa-79ca-184e86d185d8@m5p.com> <b29444be-1146-185b-d4cc-d422f9bcdd8c@denninger.net> <a4d511bc-5d1a-4859-0dcb-d24a2185ef20@m5p.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 22/03/2023 18:03, George Mitchell wrote:
> Rebuilding the kernel is the only way I know.  In an ideal world, the
> scheduler would be a loadable kernel module (if that's even possible),

Solaris supports multiple schedulers, as I believe does Linux, but I 
think in both cases it's a boot-time option.  It's been too long since I 
looked at the early boot order to know if there's anything that handles 
linking the loader-provided modules that depends on any scheduler data 
structures.  Doing that audit and ensuring that there aren't would be 
the first step.  From there, it should be mostly build-system 
infrastructure to allow building the two schedulers as modules and 
switching between them at boot.

Allowing switching schedulers after boot time is a much harder problem. 
I know some microkernels have done it, but even there (where the 
scheduler is a separate service) it's far from easy.

David



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ec4212aa-6afa-d294-1a2a-5d84c4c2398e>