DragonFly BSD
DragonFly commits List (threaded) for 2009-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Move MP lock inward, plus misc other stuff


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 13 Dec 2009 12:22:28 -0800 (PST)

commit 3919ced024a76c74c494480a2ec2188cce7c06aa
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Sun Dec 13 12:19:30 2009 -0800

    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.

Summary of changes:
 lib/libc/i386/sys/Makefile.inc                    |    2 +-
 sys/emulation/43bsd/43bsd_exit.c                  |    2 +
 sys/emulation/43bsd/43bsd_file.c                  |   27 +-
 sys/emulation/43bsd/43bsd_hostinfo.c              |   33 ++-
 sys/emulation/43bsd/43bsd_resource.c              |    6 +
 sys/emulation/43bsd/43bsd_signal.c                |   22 +-
 sys/emulation/43bsd/43bsd_socket.c                |   42 ++
 sys/emulation/43bsd/43bsd_stats.c                 |   15 +
 sys/emulation/43bsd/43bsd_vm.c                    |   11 +
 sys/emulation/dragonfly12/dfbsd12_getdirentries.c |   15 +-
 sys/emulation/dragonfly12/dfbsd12_stat.c          |   27 +-
 sys/emulation/linux/i386/linux_machdep.c          |  125 +++++-
 sys/emulation/linux/i386/linux_proto.h            |    2 -
 sys/emulation/linux/i386/linux_ptrace.c           |    6 +
 sys/emulation/linux/i386/linux_syscall.h          |    2 -
 sys/emulation/linux/i386/linux_sysent.c           |    2 -
 sys/emulation/linux/i386/linux_sysvec.c           |    4 +
 sys/emulation/linux/i386/linux_union.h            |    2 -
 sys/emulation/linux/linux_file.c                  |  155 ++++++-
 sys/emulation/linux/linux_getcwd.c                |    5 +-
 sys/emulation/linux/linux_ioctl.c                 |   12 +-
 sys/emulation/linux/linux_ipc.c                   |   52 +++-
 sys/emulation/linux/linux_misc.c                  |  152 ++++++-
 sys/emulation/linux/linux_signal.c                |   45 ++-
 sys/emulation/linux/linux_socket.c                |    6 +
 sys/emulation/linux/linux_stats.c                 |   70 +++-
 sys/emulation/linux/linux_sysctl.c                |   32 +-
 sys/emulation/linux/linux_uid16.c                 |   60 +++-
 sys/kern/imgact_resident.c                        |   18 +-
 sys/kern/init_sysent.c                            |   82 ++--
 sys/kern/kern_acct.c                              |   10 +-
 sys/kern/kern_acl.c                               |   36 ++
 sys/kern/kern_checkpoint.c                        |   18 +-
 sys/kern/kern_descrip.c                           |   17 +-
 sys/kern/kern_event.c                             |   15 +-
 sys/kern/kern_exec.c                              |    7 +-
 sys/kern/kern_exit.c                              |   50 ++-
 sys/kern/kern_fork.c                              |   25 +-
 sys/kern/kern_jail.c                              |   13 +-
 sys/kern/kern_ktrace.c                            |   15 +-
 sys/kern/kern_linker.c                            |   51 ++-
 sys/kern/kern_module.c                            |   60 ++-
 sys/kern/kern_ntptime.c                           |    5 +
 sys/kern/kern_p1003_1b.c                          |   61 ++-
 sys/kern/kern_prot.c                              |  391 +++++++++++------
 sys/kern/kern_resource.c                          |  168 +++++--
 sys/kern/kern_sched.c                             |   57 ++-
 sys/kern/kern_shutdown.c                          |    4 +
 sys/kern/kern_sig.c                               |   63 +++-
 sys/kern/kern_synch.c                             |    2 +
 sys/kern/kern_sysctl.c                            |    5 +
 sys/kern/kern_syslink.c                           |    5 +
 sys/kern/kern_systimer.c                          |    5 +
 sys/kern/kern_threads.c                           |    5 +
 sys/kern/kern_time.c                              |   72 +++-
 sys/kern/kern_umtx.c                              |   25 +-
 sys/kern/kern_upcall.c                            |   11 +
 sys/kern/kern_usched.c                            |   48 ++-
 sys/kern/kern_uuid.c                              |    4 +
 sys/kern/kern_varsym.c                            |   14 +
 sys/kern/kern_xxx.c                               |   61 ++-
 sys/kern/lwkt_caps.c                              |  184 ++++++---
 sys/kern/makesyscalls.sh                          |   30 +-
 sys/kern/subr_prof.c                              |   28 +-
 sys/kern/sys_generic.c                            |   29 ++-
 sys/kern/sys_pipe.c                               |    6 +-
 sys/kern/sys_process.c                            |    4 +
 sys/kern/syscalls.c                               |    4 +-
 sys/kern/syscalls.master                          |   89 ++--
 sys/kern/sysv_msg.c                               |  171 +++++---
 sys/kern/sysv_sem.c                               |  221 ++++++----
 sys/kern/sysv_shm.c                               |  178 +++++---
 sys/kern/uipc_syscalls.c                          |   98 ++++-
 sys/kern/usched_bsd4.c                            |    3 +
 sys/kern/usched_dummy.c                           |    3 +
 sys/kern/vfs_aio.c                                |  261 +++++++----
 sys/kern/vfs_cache.c                              |    5 +
 sys/kern/vfs_syscalls.c                           |  501 ++++++++++++++++-----
 sys/netproto/ncp/ncp_mod.c                        |   57 ++-
 sys/platform/pc32/i386/machdep.c                  |    4 +
 sys/platform/pc32/i386/sys_machdep.c              |    6 +-
 sys/platform/pc32/i386/trap.c                     |   10 +-
 sys/platform/pc64/x86_64/machdep.c                |    4 +
 sys/platform/pc64/x86_64/tls.c                    |    2 +
 sys/platform/pc64/x86_64/trap.c                   |   10 +-
 sys/platform/vkernel/i386/cpu_regs.c              |    4 +
 sys/platform/vkernel/i386/trap.c                  |   10 +-
 sys/sys/syscall.h                                 |    2 -
 sys/sys/syscall.mk                                |    2 -
 sys/sys/sysent.h                                  |    1 -
 sys/sys/sysproto.h                                |   14 -
 sys/sys/sysunion.h                                |    2 -
 sys/vfs/nfs/nfs_syscalls.c                        |   33 +-
 sys/vm/vm_mmap.c                                  |  147 +++++--
 sys/vm/vm_swap.c                                  |   16 +-
 sys/vm/vm_unix.c                                  |   39 ++-
 sys/vm/vm_vmspace.c                               |  233 +++++++---
 97 files changed, 3536 insertions(+), 1232 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/3919ced024a76c74c494480a2ec2188cce7c06aa


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]