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>