kernel - Move MP lock inward, plus misc other stuff
authorMatthew Dillon <dillon@apollo.backplane.com>
Sun, 13 Dec 2009 20:19:30 +0000 (12:19 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sun, 13 Dec 2009 20:19:30 +0000 (12:19 -0800)
commit3919ced024a76c74c494480a2ec2188cce7c06aa
tree10b981c4a952805ef28cbc771f950109d5d9caac
parent9e3c9e2d764bbbf7047a6390f35b256f73e0dd75
kernel - Move MP lock inward, plus misc other stuff

* Remove the MPSAFE flag from the syscalls.master file.  All system calls
  are now called without the MP lock held and will acquire the MP lock if
  necessary.

* Shift the MP lock inward.  Try to leave most copyin/copyout operations
  outside the MP lock.  Reorder some of the copyouts in the linux emulation
  code to suit.

  Kernel resource operations are MP safe.

  Process ucred access is now outside the MP lock but not quite MP safe
  yet (will be fixed in a followup).

* Remove unnecessary KKASSERT(p) calls left over from the time before
  system calls where prefixed with sys_*

* Fix a bunch of cases in the linux emulation code when setting groups
  where the ngrp range check is incorrect.
97 files changed:
lib/libc/i386/sys/Makefile.inc
sys/emulation/43bsd/43bsd_exit.c
sys/emulation/43bsd/43bsd_file.c
sys/emulation/43bsd/43bsd_hostinfo.c
sys/emulation/43bsd/43bsd_resource.c
sys/emulation/43bsd/43bsd_signal.c
sys/emulation/43bsd/43bsd_socket.c
sys/emulation/43bsd/43bsd_stats.c
sys/emulation/43bsd/43bsd_vm.c
sys/emulation/dragonfly12/dfbsd12_getdirentries.c
sys/emulation/dragonfly12/dfbsd12_stat.c
sys/emulation/linux/i386/linux_machdep.c
sys/emulation/linux/i386/linux_proto.h
sys/emulation/linux/i386/linux_ptrace.c
sys/emulation/linux/i386/linux_syscall.h
sys/emulation/linux/i386/linux_sysent.c
sys/emulation/linux/i386/linux_sysvec.c
sys/emulation/linux/i386/linux_union.h
sys/emulation/linux/linux_file.c
sys/emulation/linux/linux_getcwd.c
sys/emulation/linux/linux_ioctl.c
sys/emulation/linux/linux_ipc.c
sys/emulation/linux/linux_misc.c
sys/emulation/linux/linux_signal.c
sys/emulation/linux/linux_socket.c
sys/emulation/linux/linux_stats.c
sys/emulation/linux/linux_sysctl.c
sys/emulation/linux/linux_uid16.c
sys/kern/imgact_resident.c
sys/kern/init_sysent.c
sys/kern/kern_acct.c
sys/kern/kern_acl.c
sys/kern/kern_checkpoint.c
sys/kern/kern_descrip.c
sys/kern/kern_event.c
sys/kern/kern_exec.c
sys/kern/kern_exit.c
sys/kern/kern_fork.c
sys/kern/kern_jail.c
sys/kern/kern_ktrace.c
sys/kern/kern_linker.c
sys/kern/kern_module.c
sys/kern/kern_ntptime.c
sys/kern/kern_p1003_1b.c
sys/kern/kern_prot.c
sys/kern/kern_resource.c
sys/kern/kern_sched.c
sys/kern/kern_shutdown.c
sys/kern/kern_sig.c
sys/kern/kern_synch.c
sys/kern/kern_sysctl.c
sys/kern/kern_syslink.c
sys/kern/kern_systimer.c
sys/kern/kern_threads.c
sys/kern/kern_time.c
sys/kern/kern_umtx.c
sys/kern/kern_upcall.c
sys/kern/kern_usched.c
sys/kern/kern_uuid.c
sys/kern/kern_varsym.c
sys/kern/kern_xxx.c
sys/kern/lwkt_caps.c
sys/kern/makesyscalls.sh
sys/kern/subr_prof.c
sys/kern/sys_generic.c
sys/kern/sys_pipe.c
sys/kern/sys_process.c
sys/kern/syscalls.c
sys/kern/syscalls.master
sys/kern/sysv_msg.c
sys/kern/sysv_sem.c
sys/kern/sysv_shm.c
sys/kern/uipc_syscalls.c
sys/kern/usched_bsd4.c
sys/kern/usched_dummy.c
sys/kern/vfs_aio.c
sys/kern/vfs_cache.c
sys/kern/vfs_syscalls.c
sys/netproto/ncp/ncp_mod.c
sys/platform/pc32/i386/machdep.c
sys/platform/pc32/i386/sys_machdep.c
sys/platform/pc32/i386/trap.c
sys/platform/pc64/x86_64/machdep.c
sys/platform/pc64/x86_64/tls.c
sys/platform/pc64/x86_64/trap.c
sys/platform/vkernel/i386/cpu_regs.c
sys/platform/vkernel/i386/trap.c
sys/sys/syscall.h
sys/sys/syscall.mk
sys/sys/sysent.h
sys/sys/sysproto.h
sys/sys/sysunion.h
sys/vfs/nfs/nfs_syscalls.c
sys/vm/vm_mmap.c
sys/vm/vm_swap.c
sys/vm/vm_unix.c
sys/vm/vm_vmspace.c