Hi,
On 07/15/2010 10:37 PM, Alvaro Herrera wrote:
> BTW I think this patch series makes sense, though I haven't looked at it
> in detail. I guess it means I'll have to have a look at the IMessages
> stuff as well.
Yes, only after adding these patches to the commit fest, I realized that
I'dd have to add the dynshmem and imessages patches for bgworker to be
of any use.
A few words about imessages: as these can be of arbitrary size, that
whole concept sort of includes the problem of dynamically allocating
memory (from the shared area). Splitting that out into its separate
patch (and module) - namely dynshmem - made things a lot simpler for
imessages.
Now imessages is just a singly-linked list (queue) of messages per
backend, including the coordinator (but obviously not the postmaster).
Protected by a spinlock per queue. IMessageActivate() adds a message to
the queue of another backend, while IMessageCheck() returns the newest
message from the queue for the calling backend, if any.
The harder part has gone to the dynshmem patch, which I've already
explained [1].
@Kevin: how do we proceed WRT the commit fest? Having bgworker in there,
but not its dependencies (dynshmem and imessages) is what I'd call a
conflict. OTOH, both of those patches have been published way before the
commit fest started as well.
Alvaro, do you have time to review some of the autovacuum related
changes, i.e. bgworker stuff?
Regards
Markus