cvs commit: src/usr.bin/top machine.c src/lib/libkvm kvm_proc.c
src/bin/ps extern.h keyword.c print.c ps.c src/sys/kern init_main.c
kern_exit.c
kern_idle.c kern_intr.c kern_kthread.c kern_shutdown.c kern_thread.c
sched_4bsd.c src/sys/sys kthread.h ...
Julian Elischer
julian at elischer.org
Sun Oct 28 10:06:09 PDT 2007
Yar Tikhiy wrote:
> On Fri, Oct 26, 2007 at 08:00:41AM +0000, Julian Elischer wrote:
>> julian 2007-10-26 08:00:41 UTC
>>
>> FreeBSD src repository
>>
>> Modified files:
>> usr.bin/top machine.c
>> lib/libkvm kvm_proc.c
>> bin/ps extern.h keyword.c print.c ps.c
>> sys/kern init_main.c kern_exit.c kern_idle.c
>> kern_intr.c kern_kthread.c
>> kern_shutdown.c kern_thread.c
>> sched_4bsd.c
>> sys/sys kthread.h proc.h
>> Log:
>> Introduce a way to make pure kernal threads.
>> kthread_add() takes the same parameters as the old kthread_create()
>> plus a pointer to a process structure, and adds a kernel thread
>> to that process.
>>
>> kproc_kthread_add() takes the parameters for kthread_add,
>> plus a process name and a pointer to a pointer to a process instead of just
>> a pointer, and if the proc * is NULL, it creates the process to the
>> specifications required, before adding the thread to it.
>>
>> All other old kthread_xxx() calls return, but act on (struct thread *)
>> instead of (struct proc *). One reason to change the name is so that
>> any old kernel modules that are lying around and expect kthread_create()
>> to make a process will not just accidentally link.
>>
>> fix top to show kernel threads by their thread name in -SH mode
>> add a tdnam formatting option to ps to show thread names.
>>
>> make all idle threads actual kthreads and put them into their own idled process.
>> make all interrupt threads kthreads and put them in an interd process
>> (mainly for aesthetic and accounting reasons)
>> rename proc 0 to be 'kernel' and it's swapper thread is now 'swapper'
>>
>> man page fixes to follow.
>>
>> Revision Changes Path
>> 1.38 +2 -1 src/bin/ps/extern.h
>> 1.77 +2 -0 src/bin/ps/keyword.c
>> 1.96 +21 -4 src/bin/ps/print.c
>> 1.112 +2 -1 src/bin/ps/ps.c
>> 1.95 +8 -1 src/lib/libkvm/kvm_proc.c
>> 1.286 +3 -2 src/sys/kern/init_main.c
>> 1.306 +3 -4 src/sys/kern/kern_exit.c
>> 1.50 +7 -9 src/sys/kern/kern_idle.c
>> 1.149 +18 -20 src/sys/kern/kern_intr.c
>> 1.40 +208 -3 src/sys/kern/kern_kthread.c
>> 1.185 +22 -0 src/sys/kern/kern_shutdown.c
>> 1.256 +0 -6 src/sys/kern/kern_thread.c
>> 1.107 +0 -2 src/sys/kern/sched_4bsd.c
>> 1.11 +27 -2 src/sys/sys/kthread.h
>> 1.492 +3 -2 src/sys/sys/proc.h
>> 1.83 +63 -47 src/usr.bin/top/machine.c
>
> FWIW, this commit seems to have broken "time" keyword in ps(1):
>
> : yar at behemoth:~$ps -o time
> : ps: time: keyword not found
> : ps: no valid keywords; valid keywords:
> : %cpu %mem acflag acflg args blocked caught comm command cpu cputime emul etime
> : f flags ignored inblk inblock jid jobc ktrace label lim lockname login logname
> : lstart lwp majflt minflt msgrcv msgsnd mwchan ni nice nivcsw nlwp nsignals
> : nsigs nswap nvcsw nwchan oublk oublock paddr pagein pcpu pending pgid pid pmem
> : ppid pri re rgid rgroup rss rtprio ruid ruser sid sig sigcatch sigignore
> : sigmask sl start stat state svgid svuid tdev time tdnam tpgid tsid tsiz tt tty
> : ucomm uid upr uprocp user usrpri vsize vsz wchan xstat
>
> I'm unsure why it happened; I can only see that the change to ps/keyword.c
> is next to the line for "time".
>
> Please also note that now the sortedness of the keywords is broken around tdnam.
good point.. I changed tdnam from something else and forgot to re-order it..
>
> Yar
More information about the cvs-src
mailing list