Re: Making wait events a bit more efficient

Zhihong Yu <zyu@yugabyte.com>

From: Zhihong Yu <zyu@yugabyte.com>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2021-04-02T20:42:42Z
Lists: pgsql-hackers
Hi,
Maybe I am not familiar with your patch.

I don't see where my_wait_event_info is read (there is no getter method in
the patch).

In that case, it is fine omitting volatile in the declaration.

Cheers

On Fri, Apr 2, 2021 at 1:10 PM Andres Freund <andres@anarazel.de> wrote:

> Hi,
>
> On 2021-04-02 13:06:35 -0700, Zhihong Yu wrote:
> > +extern PGDLLIMPORT uint32 *my_wait_event_info;
> >
> > It seems volatile should be added to the above declaration. Since later:
> >
> > +   *(volatile uint32 *) my_wait_event_info = wait_event_info;
>
> Why? We really just want to make the store volatile, nothing else. I
> think it's much better to annotate that we want individual stores to
> happen regardless of compiler optimizations, rather than all
> interactions with a variable.
>
> Greetings,
>
> Andres Freund
>

Commits

  1. Improve efficiency of wait event reporting, remove proc.h dependency.

  2. Do not rely on pgstat.h to indirectly include storage/ headers.