Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Oct 2007 10:06:36 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, Julian Elischer <julian@FreeBSD.org>, cvs-all@FreeBSD.org
Subject:   Re: 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 ...
Message-ID:  <4724C19C.8050102@elischer.org>
In-Reply-To: <20071028155337.GA4165@freefall.freebsd.org>
References:  <200710260800.l9Q80fee085818@repoman.freebsd.org> <20071028155337.GA4165@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4724C19C.8050102>