[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 (mea@nic.funet.fi) 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.