Re: Possible Bug: high CPU usage for stats collector in 8.2 - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Possible Bug: high CPU usage for stats collector in 8.2
Date
Msg-id 45E73D56.5060809@dunslane.net
Whole thread Raw
In response to Re: Possible Bug: high CPU usage for stats collector in 8.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Possible Bug: high CPU usage for stats collector in 8.2  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>   
>> Good catch. I am also a bit dubious about this code:
>>     
>
>   
>>         input_fd.fd = pgStatSock;
>>         input_fd.events = POLLIN | POLLERR;
>>         input_fd.revents = 0;
>>     
>
> Hm.  The Single Unix Spec saith that POLLERR is ignored in the events
> field, but it is not clear to me that older systems might not treat it
> as a condition bit.  For instance on HPUX the poll man page says only
>
>      The condition flags POLLERR, POLLHUP, and POLLNVAL are always set in
>      revents if the conditions they indicate are true for the specified
>      file descriptor, whether or not these flags are set in events.
>   


yeah.

http://www.opengroup.org/onlinepubs/009695399/functions/poll.html says:

"An error has occurred on the device or stream. This flag is only valid 
in the /revents/ bitmask; it shall be ignored in the /events/ member."

>   
>> AIUI you are not supposed to put POLLERR in the events field. We should 
>> probably be setting POLLIN | POLLPRI,  and we should also probably check 
>> exactly what event was returned in revents.
>>     
>
> We don't need to check what was returned because the action is the same
> either way: do a recv().  I'm not seeing the point of setting POLLPRI.
>
>             
>   

Maybe none in this case - I guess we're not sending priority data.

This might all be OK - I just noticed it as I was looking at the 
problem, so I though I'd mention it. I have no doubt your fix is the 
correct one, though.


cheers

andrew



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Possible Bug: high CPU usage for stats collector in 8.2
Next
From: "Jim C. Nasby"
Date:
Subject: Re: SOC & user quotas