Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Nov 2004 14:54:08 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Sean Welch <Sean_Welch@alum.wofford.org>
Subject:   Re: top under 5.3-RELEASE
Message-ID:  <20041129205408.GH5518@dan.emsphone.com>
In-Reply-To: <41AB8174.4090205@elischer.org>
References:  <20041128233704.GB62951@NitroPhys.welchsmnet.net> <20041129154805.GD5518@dan.emsphone.com> <41AB8174.4090205@elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Nov 29), Julian Elischer said:
> Dan Nelson wrote:
> >The values should total up better when you have processes that hang
> >around a bit more.  There was a regression in 5.3's libpthreads that
> >can make it report 0 CPU, so if you have some CPU-hungry threaded
> >programs, they may not show up in top at all even though they're
> >using 100% cpu.  libthr and libc_r report CPU correctly.
>
> As background, libpthread assigns user threads to arbitrary kernel
> threads "as needed". The trouble is that if a user thread comes into
> the kernel, uses a kernel thread, and then exits the kernel and
> another user thread does the same, where can we store the info about
> the first thread? We have no place to store this info in
> libpthreads.. at least not in a form useful to 'top' and 'ps'.

Can you just add the stats to the primary kse (the one with id==pid)?
That's always around as long as the process exists afaik.  Any thread
would do, since you can't guarantee that a thread will use the same kse
twice anyway.  What's annoying is seeing a CPU-bound threaded app
(mysql or java, for example) showing 0 %CPU in top/ps but the TIME
column incrementing 1 per second...

-- 
	Dan Nelson
	dnelson@allantgroup.com



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