cvs commit: src/sys/gnu/fs/ext2fs ext2_bmap.c src/sys/kern init_main.c kern_acct.c kern_clock.c kern_exit.c kern_fork.c kern_proc.c kern_resource.c kern_sig.c kern_synch.c kern_thread.c subr_trap.c uipc_socket.c vfs_aio.c vfs_bio.c vfs_cluster.c ...

Jeff Roberson jeff at FreeBSD.org
Fri Jun 1 01:12:46 UTC 2007


jeff        2007-06-01 01:12:45 UTC

  FreeBSD src repository

  Modified files:
    sys/gnu/fs/ext2fs    ext2_bmap.c 
    sys/kern             init_main.c kern_acct.c kern_clock.c 
                         kern_exit.c kern_fork.c kern_proc.c 
                         kern_resource.c kern_sig.c kern_synch.c 
                         kern_thread.c subr_trap.c uipc_socket.c 
                         vfs_aio.c vfs_bio.c vfs_cluster.c 
    sys/netinet          sctp_output.c 
    sys/nfs4client       nfs4_vnops.c 
    sys/nfsclient        nfs_vnops.c 
    sys/sys              proc.h resource.h resourcevar.h 
    sys/ufs/ffs          ffs_inode.c 
    sys/ufs/ufs          ufs_bmap.c 
    sys/vm               vm_fault.c vm_glue.c 
  Log:
   - Move rusage from being per-process in struct pstats to per-thread in
     td_ru.  This removes the requirement for per-process synchronization in
     statclock() and mi_switch().  This was previously supported by
     sched_lock which is going away.  All modifications to rusage are now
     done in the context of the owning thread.  reads proceed without locks.
   - Aggregate exiting threads rusage in thread_exit() such that the exiting
     thread's rusage is not lost.
   - Provide a new routine, rufetch() to fetch an aggregate of all rusage
     structures from all threads in a process.  This routine must be used
     in any place requiring a rusage from a process prior to it's exit.  The
     exited process's rusage is still available via p_ru.
   - Aggregate tick statistics only on demand via rufetch() or when a thread
     exits.  Tick statistics are kept in the thread and protected by sched_lock
     until it exits.
  
  Initial patch by:       attilio
  Reviewed by:            attilio, bde (some objections), arch (mostly silent)
  
  Revision  Changes    Path
  1.64      +1 -1      src/sys/gnu/fs/ext2fs/ext2_bmap.c
  1.277     +1 -0      src/sys/kern/init_main.c
  1.91      +5 -5      src/sys/kern/kern_acct.c
  1.199     +4 -6      src/sys/kern/kern_clock.c
  1.299     +17 -9     src/sys/kern/kern_exit.c
  1.274     +1 -1      src/sys/kern/kern_fork.c
  1.248     +1 -1      src/sys/kern/kern_proc.c
  1.172     +103 -22   src/sys/kern/kern_resource.c
  1.345     +2 -2      src/sys/kern/kern_sig.c
  1.297     +5 -27     src/sys/kern/kern_synch.c
  1.245     +11 -8     src/sys/kern/kern_thread.c
  1.294     +2 -18     src/sys/kern/subr_trap.c
  1.301     +3 -3      src/sys/kern/uipc_socket.c
  1.231     +8 -10     src/sys/kern/vfs_aio.c
  1.524     +3 -3      src/sys/kern/vfs_bio.c
  1.176     +2 -2      src/sys/kern/vfs_cluster.c
  1.31      +1 -1      src/sys/netinet/sctp_output.c
  1.37      +1 -1      src/sys/nfs4client/nfs4_vnops.c
  1.276     +1 -1      src/sys/nfsclient/nfs_vnops.c
  1.478     +10 -7     src/sys/sys/proc.h
  1.31      +18 -20    src/sys/sys/resource.h
  1.50      +5 -2      src/sys/sys/resourcevar.h
  1.108     +1 -1      src/sys/ufs/ffs/ffs_inode.c
  1.66      +1 -1      src/sys/ufs/ufs/ufs_bmap.c
  1.230     +4 -9      src/sys/vm/vm_fault.c
  1.222     +2 -2      src/sys/vm/vm_glue.c


More information about the cvs-src mailing list