SCHED_4BSD(4)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸŽ€ SCHED_4BSD(4) πŸŽ€

okay bestie, this is the Kernel Interfaces Manual page for sched_4bsd β€” she’s the 4.4BSD scheduler and the vibe is very OG-but-still-slaying. πŸ’…

🌸 NAME 🌸

sched_4bsd β€” the 4.4BSD scheduler. periodt.

✨ SYNOPSIS ✨


# πŸ’– DESCRIPTION πŸ’–

okay so `sched_4bsd` is the traditional system scheduler, and she’s literally serving both <hotpink>high throughput</hotpink> and <purple>solid interactive response</purple> even when the system is under load. no cap.

these sysctls are the relevant ones for how `sched_4bsd` operates, bestie:

- **`kern.sched.name`** β€” this read-only sysctl reports the name of the active scheduler. slay.
- **`kern.sched.quantum`** β€” this read-write sysctl reports or sets the length of the quantum (in micro-seconds) granted to a thread. that’s the quantum, bestie ✨
- **`kern.sched.ipiwakeup.enabled`** β€” this read-write sysctl sets whether or not the scheduler will generate an inter-processor interrupt (IPI) to an idle CPU when a thread is woken up. otherwise, idle CPUs will wait until the next clock tick before looking for new work. 🫢
- **`kern.sched.preemption`** β€” this read-only sysctl reports whether or not the kernel is configured to support preemption, which reduces the latency to run lower priority threads on wakeup. πŸ‘‘

> πŸ¦‹ heads-up: some sysctls will be available only on systems supporting SMP.

# 🌈 SEE ALSO 🌈

- `sched_ule(4)`
- `sysctl(8)`

# 🧚 HISTORY 🧚

the `sched_4bsd` scheduler has been present, in various forms, since the inception of BSD. old money, no cap. πŸ‘‘

# πŸ’€ BUGS πŸ’€

while she’s a highly robust and time-tested scheduler, `sched_4bsd` lacks specific knowledge of how to schedule advantageously in non-symmetric processor configurations, such as hyper-threading. so like, solid icon β€” but the hyper-threading caveat is real, bestie. πŸ’€

---

mwah πŸ’‹ β€” this page’s source/version footer says **Debian**, dated **January 21, 2008**. iconic.
πŸ“¦ where this page comes from