[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: mimeheaders etc
On 1-Dec-00 at 13:22, Matti Aarnio (email@example.com) wrote:
> Perhaps it is that thread stuff -- the CLUE here is that
> read() is SLEEPING. All the rest is propably LWP switching.
> ( ... non linearly thinking, now I spotted that above the
> FCNTL is also sleeping... )
> Perhaps the '-l' option of 'truss' clues more by listing also
> the LWP id on each line. (At least per Solaris 2.6 documentation.)
/1: write(1, " # h u n g r y\n", 8) = 8
/1: read(0, 0x0005395C, 8192) (sleeping...)
/2: signotifywait() (sleeping...)
/3: door_return(0x00000000, 0, 0x00000000, 0) (sleeping...)
/4: lwp_cond_wait(0xFF0BF618, 0xFF0BF628, 0xFF073CA0) (sleeping...)
/5: lwp_sema_wait(0xFF0BC8D8) (sleeping...)
You must be right.
BTW the above is the usual status of the process, sleeping on fcntl() was
an exception. Hm, I wonder if lwp_sema_wait() is implemented in some
suboptimal way... Or just triggers inaccurateness in "top" accounting?
Strange, however, that other processes are not affected. Maybe they
are sleeping on something other than read(); e.g. it might be that
sleeping on poll()/select() does not cause CPU consumption, while sleeping
on read() does? Just a wild guess.