summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2006-07-28 19:05:28 +0000
committerjhb <jhb@FreeBSD.org>2006-07-28 19:05:28 +0000
commitc62c38439fd8a2fd4a6e5fe8d9c4bcda438e6010 (patch)
treecc5695072b3b30d9c9cd45487beb493d692b8a26 /sys/ia64
parent6a211b6d81725475d5c4891b35cbbe3fe7397102 (diff)
downloadFreeBSD-src-c62c38439fd8a2fd4a6e5fe8d9c4bcda438e6010.zip
FreeBSD-src-c62c38439fd8a2fd4a6e5fe8d9c4bcda438e6010.tar.gz
Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to
mark system calls as being MPSAFE: - Stop conditionally acquiring Giant around system call invocations. - Remove all of the 'M' prefixes from the master system call files. - Remove support for the 'M' prefix from the script that generates the syscall-related files from the master system call files. - Don't explicitly set SYF_MPSAFE when registering nfssvc.
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia32/ia32_trap.c13
-rw-r--r--sys/ia64/ia64/trap.c10
2 files changed, 1 insertions, 22 deletions
diff --git a/sys/ia64/ia32/ia32_trap.c b/sys/ia64/ia32/ia32_trap.c
index f63ae94..a5c74d4 100644
--- a/sys/ia64/ia32/ia32_trap.c
+++ b/sys/ia64/ia32/ia32_trap.c
@@ -114,13 +114,6 @@ ia32_syscall(struct trapframe *tf)
CTR4(KTR_SYSC, "syscall enter thread %p pid %d proc %s code %d", td,
td->td_proc->p_pid, td->td_proc->p_comm, code);
- /*
- * Try to run the syscall without Giant if the syscall
- * is MP safe.
- */
- if ((callp->sy_narg & SYF_MPSAFE) == 0)
- mtx_lock(&Giant);
-
if (error == 0) {
td->td_retval[0] = 0;
td->td_retval[1] = tf->tf_scratch.gr10; /* edx */
@@ -163,12 +156,6 @@ ia32_syscall(struct trapframe *tf)
}
/*
- * Release Giant if we previously set it.
- */
- if ((callp->sy_narg & SYF_MPSAFE) == 0)
- mtx_unlock(&Giant);
-
- /*
* Traced syscall.
*/
if ((eflags & PSL_T) && !(eflags & PSL_VM)) {
diff --git a/sys/ia64/ia64/trap.c b/sys/ia64/ia64/trap.c
index d0f3c98..3ac45ce 100644
--- a/sys/ia64/ia64/trap.c
+++ b/sys/ia64/ia64/trap.c
@@ -1016,15 +1016,7 @@ syscall(struct trapframe *tf)
PTRACESTOP_SC(p, td, S_PT_SCE);
- /*
- * Grab Giant if the syscall is not flagged as MP safe.
- */
- if ((callp->sy_narg & SYF_MPSAFE) == 0) {
- mtx_lock(&Giant);
- error = (*callp->sy_call)(td, args);
- mtx_unlock(&Giant);
- } else
- error = (*callp->sy_call)(td, args);
+ error = (*callp->sy_call)(td, args);
if (error != EJUSTRETURN) {
/*
OpenPOWER on IntegriCloud