cvs commit: src/bin/ps extern.h keyword.c print.c ps.c ps.h src/contrib/ipfilter/ipsend sock.c src/lib/libkcore kcore_file.c src/lib/libkvm Makefile kvm.c kvm.h kvm_getprocs.3 kvm_private.h kvm_proc.c src/sys/conf files src/sys/kern imgact_aout.c ...

Simon Schubert corecode at crater.dragonflybsd.org
Thu Feb 1 02:37:39 PST 2007


corecode    2007/02/01 02:33:26 PST

DragonFly src repository

  Modified files:
    bin/ps               extern.h keyword.c print.c ps.c ps.h 
    contrib/ipfilter/ipsend sock.c 
    lib/libkcore         kcore_file.c 
    lib/libkvm           Makefile kvm.c kvm.h kvm_getprocs.3 
                         kvm_private.h kvm_proc.c 
    sys/conf             files 
    sys/kern             imgact_aout.c kern_exit.c kern_proc.c 
    sys/sys              jail.h kinfo.h proc.h sysctl.h user.h 
    usr.bin/fstat        fstat.c 
    usr.bin/gcore        gcore.c 
    usr.bin/killall      killall.c 
    usr.bin/pkill        pkill.c 
    usr.bin/sockstat     sockstat.c 
    usr.bin/systat       pigs.c 
    usr.bin/top          machine.c 
    usr.bin/w            extern.h proc_compare.c w.c 
    lib/libc/gen         sysctl.3 
  Added files:
    sys/kern             kern_kinfo.c 
  Log:
  Change kinfo_proc interface between kernel and userland.
  
  Before, we were embedding a struct proc (among others) into struct
  kinfo_proc.  Every time we change implementation details in the kernel,
  userland has to be adapted (recompiled).  In preparation for the coming
  LWP changes this interface has been reworked.  Now kinfo_proc is a
  structure which does not depend on other structures on the kernel which
  are subject to change.  Instead, the routines fill_kinfo_proc and
  fill_kinfo_lwp copy all values which are of interest between the kernel
  structure and the stable kinfo_proc structure.
  
  Furthermore, this change adds infrastructure to export LWP-specific data.
  If userland requests LWP data, it sets the flag KERN_PROC_FLAG_LWP in the
  sysctl oid.  This leads to multiple kinfo_procs being exported.  If not
  set, the first LWP will used.  This is like FreeBSD do it, and it seems
  easy and simple.  Note that userland was not yet adjusted to actually
  request LWPs and aggregate this information if necessary.  Besides, the
  kernel does not yet have more than one LWP per process anyways.
  
  This introduces a new file, kern/kern_kinfo.c, which is shared between
  kernel and libkvm.  This was done to avoid and remove code duplication.
  Now kvm_getprocs constructs a complete struct proc, including pointers,
  and then calls fill_kinfo_proc to do its job.
  
  In-collaboration-with: Thomas E. Spanjaard <tgen at netphreax.net>
  
  Revision  Changes    Path
  1.13      +2 -2      src/bin/ps/extern.h
  1.25      +37 -34    src/bin/ps/keyword.c
  1.26      +66 -87    src/bin/ps/print.c
  1.22      +12 -30    src/bin/ps/ps.c
  1.9       +3 -12     src/bin/ps/ps.h
  1.4       +3 -12     src/contrib/ipfilter/ipsend/sock.c
  1.4       +13 -8     src/lib/libkcore/kcore_file.c
  1.4       +6 -2      src/lib/libkvm/Makefile
  1.9       +4 -3      src/lib/libkvm/kvm.c
  1.7       +1 -1      src/lib/libkvm/kvm.h
  1.4       +6 -0      src/lib/libkvm/kvm_getprocs.3
  1.4       +1 -0      src/lib/libkvm/kvm_private.h
  1.10      +141 -106  src/lib/libkvm/kvm_proc.c
  1.151     +1 -0      src/sys/conf/files
  1.14      +1 -30     src/sys/kern/imgact_aout.c
  1.68      +1 -1      src/sys/kern/kern_exit.c
  1.32      +63 -65    src/sys/kern/kern_proc.c
  1.11      +8 -2      src/sys/sys/jail.h
  1.9       +114 -0    src/sys/sys/kinfo.h
  1.91      +9 -11     src/sys/sys/proc.h
  1.22      +3 -0      src/sys/sys/sysctl.h
  1.17      +1 -47     src/sys/sys/user.h
  1.22      +16 -13    src/usr.bin/fstat/fstat.c
  1.8       +18 -23    src/usr.bin/gcore/gcore.c
  1.9       +6 -6      src/usr.bin/killall/killall.c
  1.9       +23 -23    src/usr.bin/pkill/pkill.c
  1.7       +1 -1      src/usr.bin/sockstat/sockstat.c
  1.12      +13 -16    src/usr.bin/systat/pigs.c
  1.20      +50 -51    src/usr.bin/top/machine.c
  1.4       +2 -2      src/usr.bin/w/extern.h
  1.6       +12 -12    src/usr.bin/w/proc_compare.c
  1.8       +8 -12     src/usr.bin/w/w.c
  1.6       +5 -0      src/lib/libc/gen/sysctl.3


http://www.dragonflybsd.org/cvsweb/src/bin/ps/extern.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/bin/ps/keyword.c.diff?r1=1.24&r2=1.25&f=u
http://www.dragonflybsd.org/cvsweb/src/bin/ps/print.c.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/bin/ps/ps.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/bin/ps/ps.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/contrib/ipfilter/ipsend/sock.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkcore/kcore_file.c.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/Makefile.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/kvm.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/kvm.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/kvm_getprocs.3.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/kvm_private.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libkvm/kvm_proc.c.diff?r1=1.9&r2=1.10&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.150&r2=1.151&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/imgact_aout.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_exit.c.diff?r1=1.67&r2=1.68&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_proc.c.diff?r1=1.31&r2=1.32&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/jail.h.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/kinfo.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/proc.h.diff?r1=1.90&r2=1.91&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/sysctl.h.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/user.h.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/fstat/fstat.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/gcore/gcore.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/killall/killall.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/pkill/pkill.c.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/sockstat/sockstat.c.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/systat/pigs.c.diff?r1=1.11&r2=1.12&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/top/machine.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/w/extern.h.diff?r1=1.3&r2=1.4&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/w/proc_compare.c.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/usr.bin/w/w.c.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/lib/libc/gen/sysctl.3.diff?r1=1.5&r2=1.6&f=u





More information about the Commits mailing list