autovacuum multiworkers, patch 8

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: pgsql-patches(at)postgresql(dot)org
Subject: autovacuum multiworkers, patch 8
Date: 2007-04-12 20:33:06
Message-ID: 20070412203306.GO15947@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Ok, here is a version which works on EXEC_BACKEND too.

The main change in this patch is that the PGPROC list has been moved
into ProcGlobal, as discussed. They are still separate from the main
PGPROCs, but they are protected by the same spinlock and thus a bit of
code dealing with that goes away. Also, there is no longer a separate
ProcKill, and the changes to InitProcess are less intrusive. The code
dealing with clearing the WorkerInfo has been moved into its own
on_shmem_exit hook.

Also, a new signal is sent to the postmaster when the worker which is
supposed to be starting has not started. This should not make much of a
difference in general, since the postmaster is not supposed to lose
signals, but it gives an extra guarantee that things are not going to
linger too long. The request to start is removed when
autovacuum_naptime seconds have elapsed anyway.

Oh, I also changed the default autovacuum_max_workers from 10 to 3.

Some other minor infelicites have been corrected, like resetting the
av_rebalance flag when the rebalancing takes place (doh); some comments
have been expanded a bit.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Attachment Content-Type Size
autovacuum-multiworkers-8.patch text/x-diff 66.7 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Luke Lonergan 2007-04-12 20:35:25 Re: TOASTing smaller things
Previous Message Tom Lane 2007-04-12 20:24:47 Re: Do we still need "log_invalid_page"?

Browse pgsql-patches by date

  From Date Subject
Next Message Steve 2007-04-12 21:03:17 Strangely Variable Query Performance
Previous Message Tom Lane 2007-04-12 19:56:58 Re: [PATCHES] Reviewers Guide to Deferred Transactions/Transaction Guarantee