On 10/4/16 10:16 AM, Julien Rouhaud wrote:
> Please find attached v9 of the patch, adding the parallel worker class
> and changing max_worker_processes default to 16 and max_parallel_workers
> to 8. I also added Amit's explanation for the need of a write barrier
> in ForgetBackgroundWorker().
This approach totally messes up the decoupling between the background
worker facilities and consumers of those facilities. Having dozens of
lines of code in bgworker.c that does the accounting and resource
checking on behalf of parallel.c looks very suspicious. Once we add
logical replication workers or whatever, we'll be tempted to add even
more stuff in there and it will become a mess.
I think we should think of a way where we can pass the required
information during background worker setup, like a pointer to the
resource-limiting GUC variable.
For style, I would also prefer the "class" to be a separate struct field
from the flags.
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: