From: | Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> |
---|---|
To: | Peter Smith <smithpb2250(at)gmail(dot)com> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c) |
Date: | 2022-08-02 11:55:59 |
Message-ID: | CAEudQAqn6XDMh+cQ=j0ZuG4sJt-DXbdmDciUejzS3Ve_ghSn7A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Em seg., 1 de ago. de 2022 às 22:19, Peter Smith <smithpb2250(at)gmail(dot)com>
escreveu:
> On Tue, Aug 2, 2022 at 3:09 AM Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> wrote:
> >
> > Em sáb., 16 de jul. de 2022 às 16:54, Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
> escreveu:
> >>
> >>
> >>
> >> Em sáb, 16 de jul de 2022 2:58 AM, Peter Eisentraut <
> peter(dot)eisentraut(at)enterprisedb(dot)com> escreveu:
> >>>
> >>> On 11.07.22 21:06, Ranier Vilela wrote:
> >>> > Em qui., 7 de jul. de 2022 às 14:01, Ranier Vilela <
> ranier(dot)vf(at)gmail(dot)com
> >>> > <mailto:ranier(dot)vf(at)gmail(dot)com>> escreveu:
> >>> >
> >>> > Attached the v1 of your patch.
> >>> > I think that all is safe to switch MemSet by {0}.
> >>> >
> >>> > Here the rebased patch v2, against latest head.
> >>>
> >>> I have committed my patch with Álvaro's comments addressed
> >>
> >> I see.
> >> It's annoing that old compiler (gcc 4.7.2) don't handle this style.
> >>
> >>>
> >>> Your patch appears to add in changes that are either arguably out of
> >>> scope or would need further review (e.g., changing memset() calls,
> >>> changing the scope of some variables, changing places that need to
> worry
> >>> about padding bits). Please submit separate patches for those, and we
> >>> can continue the analysis.
> >>
> >> Sure.
> >
> > Hi, sorry for the delay.
> > Like how
> https://github.com/postgres/postgres/commit/9fd45870c1436b477264c0c82eb195df52bc0919
> > New attempt to remove more MemSet calls, that are safe.
> >
> > Attached v3 patch.
> >
> > regards,
> > Ranier Vilela
>
> Hi, I have not been closely following this thread, but it's starting
> to sound very deja-vu with something I proposed 3 years ago. See [1]
> "Make use of C99 designated initialisers for nulls/values arrays".
> That started off with lots of support, but then there was a suggestion
> that the {0} should be implemented as a macro, and the subsequent
> discussions about that macro eventually bikeshedded the patch to
> death.
>
> It might be a good idea if you check that old thread so you can avoid
> the same pitfalls. I hope you have more luck than I did ;-)
>
I see, thanks.
We are using only {0}, just to avoid these pitfalls.
All changes here are safe, because, the tradeoff is
MemSet with 0 to {0}
Any else is ignored.
The rest of the calls with MemSet are alignment and padding dependent, and
for now, will not be played.
regards,
Ranier Vilela
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2022-08-02 11:59:36 | Re: Handle infinite recursion in logical replication setup |
Previous Message | houzj.fnst@fujitsu.com | 2022-08-02 11:46:21 | RE: Perform streaming logical transactions by background workers and parallel apply |