diff options
author | jhb <jhb@FreeBSD.org> | 2006-07-28 19:05:28 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-07-28 19:05:28 +0000 |
commit | c62c38439fd8a2fd4a6e5fe8d9c4bcda438e6010 (patch) | |
tree | cc5695072b3b30d9c9cd45487beb493d692b8a26 /sys/ia64 | |
parent | 6a211b6d81725475d5c4891b35cbbe3fe7397102 (diff) | |
download | FreeBSD-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.c | 13 | ||||
-rw-r--r-- | sys/ia64/ia64/trap.c | 10 |
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) { /* |