svn commit: r186285 - head/sys/kern
Bruce Evans
brde at optusnet.com.au
Fri Dec 19 11:11:20 UTC 2008
On Thu, 18 Dec 2008, Ivan Voras wrote:
> Log:
> Remove spaces in wait object names to make top (1) output prettier and
> unbreak scripts that examine ps (1) output.
Thanks, but these are still broken. Both ps and top use %6.6s format,
so wait messages must be limited to 6 characters or at least contain
only secondary info after the 6th character, with the first 6 characters
carefully chosen to be unambigous and to be a good abbreviation when
truncated too. I once fixed many sleep messages including all of the
ones in the tty driver to satisfy the first (stricter) requirement.
> Modified: head/sys/kern/tty.c
> ==============================================================================
> --- head/sys/kern/tty.c Thu Dec 18 15:12:04 2008 (r186284)
> +++ head/sys/kern/tty.c Thu Dec 18 15:25:33 2008 (r186285)
> @@ -871,10 +871,10 @@ tty_alloc(struct ttydevsw *tsw, void *sc
>
> tty_init_termios(tp);
>
> - cv_init(&tp->t_inwait, "tty input");
> - cv_init(&tp->t_outwait, "tty output");
> - cv_init(&tp->t_bgwait, "tty background");
> - cv_init(&tp->t_dcdwait, "tty dcd");
> + cv_init(&tp->t_inwait, "ttyinput");
When truncated, this has regressed from "ttyin" to "ttyinp". Not too bad.
The kernel struct member name still uses the better abbreviation "in" for
"input".
> + cv_init(&tp->t_outwait, "ttyoutput");
This gets truncated reasonably.
> + cv_init(&tp->t_bgwait, "ttybackground");
When truncated, this has regressed from "ttybg[1-4]" to "ttybac". The
kernel struct member name still uses the better abbreviation "bg".
"bg[1-4]" also encodes more detailed info about the reason for the
wait. Most locking interfaces encourage this regression by putting
the message in a data structure so that it is hard to make it
context-dependent.
> + cv_init(&tp->t_dcdwait, "ttydcd");
The commit fixes this.
>
> ttyinq_init(&tp->t_inq);
> ttyoutq_init(&tp->t_outq);
> @@ -884,7 +884,7 @@ tty_alloc(struct ttydevsw *tsw, void *sc
> tp->t_mtx = mutex;
> } else {
> tp->t_mtx = &tp->t_mtxobj;
> - mtx_init(&tp->t_mtxobj, "tty lock", NULL, MTX_DEF);
> + mtx_init(&tp->t_mtxobj, "ttylock", NULL, MTX_DEF);
This gets truncated to "ttyloc". "ttylk" or "ttlock" would be better.
The abbreviation "mtx" in the kernel struct member name is not so good
as elsewhere for printing in userland.
> }
>
> knlist_init(&tp->t_inpoll.si_note, tp->t_mtx, NULL, NULL, NULL);
Bruce
More information about the svn-src-all
mailing list