git: 0cfebe47d9e3 - stable/14 - mi_switch.9: Remove cpu_switch, cpu_throw
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Mar 2025 16:56:57 UTC
The branch stable/14 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=0cfebe47d9e3a41fa15a10f690697edc9eaaa83c
commit 0cfebe47d9e3a41fa15a10f690697edc9eaaa83c
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-01-07 16:04:00 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-03-03 16:56:20 +0000
mi_switch.9: Remove cpu_switch, cpu_throw
cpu_machdep.9 was added to document cpu_*, but cpu_switch and cpu_throw
were already documented in mi_switch.9, and MLINKed. cpu_machdep.9
seems like the correct place for this, so remove them from mi_switch.9.
Some of the removed text was stale, although there are few notes that
ought to be added to cpu_machdep.9 in a future commit.
Reported by: tools/pkgbase/metalog_reader.lua
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
Fixes: 9c87cbbcaaed ("cpu_machdep.9: New manpage describing the semantics of several cpu_*")
Differential Revision: https://reviews.freebsd.org/D48360
(cherry picked from commit f73c9b5da190954a81e9e70e2caa8e9168623bfd)
---
share/man/man9/Makefile | 2 --
share/man/man9/mi_switch.9 | 68 +++-------------------------------------------
2 files changed, 4 insertions(+), 66 deletions(-)
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 90aad3dcfdcd..fdfdb2e888d9 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1592,8 +1592,6 @@ MLINKS+=microuptime.9 binuptime.9 \
microuptime.9 getsbinuptime.9 \
microuptime.9 nanouptime.9 \
microuptime.9 sbinuptime.9
-MLINKS+=mi_switch.9 cpu_switch.9 \
- mi_switch.9 cpu_throw.9
MLINKS+=mod_cc.9 CCV.9 \
mod_cc.9 DECLARE_CC_MODULE.9
MLINKS+=mtx_pool.9 mtx_pool_alloc.9 \
diff --git a/share/man/man9/mi_switch.9 b/share/man/man9/mi_switch.9
index 549ec497434c..e04c2ee35ace 100644
--- a/share/man/man9/mi_switch.9
+++ b/share/man/man9/mi_switch.9
@@ -31,23 +31,17 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd January 9, 2023
+.Dd January 7, 2025
.Dt MI_SWITCH 9
.Os
.Sh NAME
-.Nm mi_switch ,
-.Nm cpu_switch ,
-.Nm cpu_throw
+.Nm mi_switch
.Nd switch to another thread context
.Sh SYNOPSIS
.In sys/param.h
.In sys/proc.h
.Ft void
.Fn mi_switch "int flags"
-.Ft void
-.Fn cpu_switch "struct thread *oldtd" "struct thread *newtd" "struct mtx *lock"
-.Ft void
-.Fn cpu_throw "struct thread *oldtd" "struct thread *newtd"
.Sh DESCRIPTION
The
.Fn mi_switch
@@ -168,63 +162,9 @@ running thread
.Fa oldtd
to the chosen thread
.Fa newtd .
-First, it saves the context of
-.Fa oldtd
-to its Process Control Block
-.Po
-PCB,
-.Vt struct pcb
-.Pc ,
-pointed at by
-.Va oldtd->td_pcb .
-The function then updates important per-CPU state such as the
-.Dv curthread
-variable, and activates
-.Fa newtd\&'s
-virtual address space using its associated
-.Xr pmap 9
-structure.
-Finally, it reads in the saved context from
-.Fa newtd\&'s
-PCB.
-CPU instruction flow continues in the new thread context, on
-.Fa newtd\&'s
-kernel stack.
-The return from
-.Fn cpu_switch
-can be understood as a completion of the function call initiated by
-.Fa newtd
-when it was previously switched out, at some point in the distant (relative to
-CPU time) past.
-.Pp
-The
-.Fa mtx
-argument to
-.Fn cpu_switch
-is used to pass the mutex which will be stored as
-.Fa oldtd\&'s
-thread lock at the moment that
-.Fa oldtd
-is completely switched out.
-This is an implementation detail of
-.Fn sched_switch .
-.Pp
-.Fn cpu_throw
-is similar to
-.Fn cpu_switch
-except that it does not save the context of the old thread.
-This function is useful when the kernel does not have an old thread
-context to save, such as when CPUs other than the boot CPU perform their
-first task switch, or when the kernel does not care about the state of the
-old thread, such as in
-.Xr thread_exit 9
-when the kernel terminates the current thread and switches into a new
-thread,
-.Fa newtd .
-The
-.Fa oldtd
-argument is unused.
.Sh SEE ALSO
+.Xr cpu_switch 9 ,
+.Xr cpu_throw 9 ,
.Xr critical_exit 9 ,
.Xr issignal 9 ,
.Xr kern_yield 9 ,