[OpenIndiana-discuss] how to trace what stops the daemon from sleeping?

WarGrey Gyoudmon Ju juzhenliang at gmail.com
Wed Jul 1 17:01:12 UTC 2015


Now the problem is solved.
I rebuilt Racket without defining HAVE_POLL_SYSCALL.
So it is running with select(), and pollsys() is still on the top of stack.

The LD_PRELOAD way fails as before.

Thanks.

On Wed, Jul 1, 2015 at 6:37 AM, Bob Friesenhahn <
bfriesen at simple.dallas.tx.us> wrote:

> On Tue, 30 Jun 2015, WarGrey Gyoudmon Ju wrote:
>
>  Thank you, Bob.
>>
>> Finally I found the root cause is that pollsys is called too frequently.
>> and this problem seems quite normal in Solaris family.
>>
>
> I am pretty sure that this has nothing to do with power management (as
> other have suggested).
>
> The poll() call can wait for activities on file descriptors but can also
> be used for time-out such as for periodic event loops.  Some software is
> written poorly and executes periodic event loops quite often.
>
> If you don't have source for the program, it might be possible to "fix" it
> by using the LD_PRELOAD enviroment variable and a tiny shared library which
> replaces poll() with one which insists on longer timeouts.  This might
> cause other problems to occur in the software though.
>
>
> Bob
> --
> Bob Friesenhahn
> bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
> GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
>
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss at openindiana.org
> http://openindiana.org/mailman/listinfo/openindiana-discuss
>


More information about the openindiana-discuss mailing list