Re: Process wakeups when idle and power consumption
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Geoghegan <peter@2ndquadrant.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Fujii Masao <masao.fujii@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-05-10T16:16:22Z
Lists: pgsql-hackers
On Tue, May 10, 2011 at 12:45 PM, Robert Haas <robertmhaas@gmail.com> wrote: > On Tue, May 10, 2011 at 5:14 AM, Peter Geoghegan <peter@2ndquadrant.com> wrote: >> On 10 May 2011 09:45, Heikki Linnakangas >> <heikki.linnakangas@enterprisedb.com> wrote: >> >>> I think we need to refactor the function into something like: >>> >>> #define WL_LATCH_SET 1 >>> #define WL_SOCKET_READABLE 2 >>> #define WL_SOCKET_WRITEABLE 4 >>> #define WL_TIMEOUT 8 >>> #define WL_POSTMASTER_DEATH 16 >> >> While I agree with the need to not box ourselves into a corner on the >> latch interface by making sweeping assumptions, isn't the fact that a >> socket became readable or writable strictly an implementation detail? > > The thing about the socket being readable/writeable is needed for > walsender. It needs to notice when its connection to walreceiver is > writeable (so it can send more WAL) or readable (so it can receive a > reply message). I've got a feeling that things will go easier if we have a separate connection for the feedback channel. Yes, two connections, one in either direction. That would make everything simple, nice one way connections. It would also mean we could stream at higher data rates. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services