| Lists: | pgsql-hackers |
|---|
| From: | Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> |
|---|---|
| To: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Comment patch for bgworker.c |
| Date: | 2014-10-25 00:51:07 |
| Message-ID: | 544AF3FB.5000604@BlueTreble.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-hackers |
The comment for the BackgroundWorkerSlot structure tripped me up reviewing Robert's background worker patch; it made it clear that you need to use a memory barrier before setting in_use, but normally you'd never need to worry about that because RegisterDynamicBackgroundWorker() handles it for you. Patch adds a comment to that effect.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com
| Attachment | Content-Type | Size |
|---|---|---|
| patch | text/plain | 810 bytes |
| From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
|---|---|
| To: | Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> |
| Cc: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Comment patch for bgworker.c |
| Date: | 2015-02-02 13:49:38 |
| Message-ID: | CA+TgmoYkuN_ZTsROmqzDkAMpxbYvPKLNfV9-AGdD+qUUty76KA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-hackers |
On Fri, Oct 24, 2014 at 8:51 PM, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> wrote:
> The comment for the BackgroundWorkerSlot structure tripped me up reviewing
> Robert's background worker patch; it made it clear that you need to use a
> memory barrier before setting in_use, but normally you'd never need to worry
> about that because RegisterDynamicBackgroundWorker() handles it for you.
> Patch adds a comment to that effect.
I vote to reject this patch. I think it's explaining something that
doesn't really need to be explained, and shouldn't be explained like
this even if it does. It adds a comment that reads "Note that
RegisterDynamicBackgroundWorker() handles in_use correctly for you".
But the long block comment of which it is a part is entirely devoted
to explaining concerns internal to bgworker.c, from which I think it
should be inferred that all of the public APIs in that file handle all
of the things in that paragraph correctly (or are intended to,
anyway).
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
| From: | Jim Nasby <Jim(dot)Nasby(at)BlueTreble(dot)com> |
|---|---|
| To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
| Cc: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Comment patch for bgworker.c |
| Date: | 2015-02-03 02:13:25 |
| Message-ID: | 54D02EC5.1030505@BlueTreble.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Lists: | pgsql-hackers |
On 2/2/15 7:49 AM, Robert Haas wrote:
> On Fri, Oct 24, 2014 at 8:51 PM, Jim Nasby <Jim(dot)Nasby(at)bluetreble(dot)com> wrote:
>> The comment for the BackgroundWorkerSlot structure tripped me up reviewing
>> Robert's background worker patch; it made it clear that you need to use a
>> memory barrier before setting in_use, but normally you'd never need to worry
>> about that because RegisterDynamicBackgroundWorker() handles it for you.
>> Patch adds a comment to that effect.
>
> I vote to reject this patch. I think it's explaining something that
> doesn't really need to be explained, and shouldn't be explained like
> this even if it does. It adds a comment that reads "Note that
> RegisterDynamicBackgroundWorker() handles in_use correctly for you".
> But the long block comment of which it is a part is entirely devoted
> to explaining concerns internal to bgworker.c, from which I think it
> should be inferred that all of the public APIs in that file handle all
> of the things in that paragraph correctly (or are intended to,
> anyway).
At this point I don't remember what it was in your patch that tripped me
up on this, so I'm marking the patch rejected.
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com