Re: define pg_structiszero(addr, s, r)
Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2024-09-18T07:54:20Z
Lists: pgsql-hackers
Attachments
- v2-0001-define-pgstat_entry_all_zeros-addr-s-r.patch (text/x-diff)
Hi, On Wed, Sep 18, 2024 at 03:07:15PM +0900, Michael Paquier wrote: > On Wed, Sep 18, 2024 at 04:16:12AM +0000, Bertrand Drouvot wrote: > > The macro is created in pgstat_internal.h as it looks like that "only" the > > statistics related code would benefit of it currently (could be moved to other > > header file later on if needed). > > I'm OK to add a helper macro in pgstat_internal.h as this is a pattern > used only for some stats kinds (the other one I'm aware of is the > allzero check for pages around bufmgr.c), cleaning up all these static > declarations to make the memcpy() calls cheaper. That can also be > useful for anybody doing a custom pgstats kind, fixed or > variable-numbered. Thanks for looking at it! > > #define pg_structiszero(addr, s, r) \ > > Locating that at the top of pgstat_internal.h seems a bit out of order > to me. Perhaps it would be better to move it closer to the inline > functions? Makes sense, done that way in v2 attached. > > Also, is this the best name to use here? Right, this is something > that may be quite generic. However, if we limit its scope in the > stats, perhaps this should be named pgstat_entry_all_zeros() or > something like that? Agree, we could still rename it later on if there is a need outside of the statistics code area. Done in v2. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
Commits
-
Use pg_memory_is_all_zeros() in PageIsVerifiedExtended()
- 03a42c9652f8 18.0 landed
-
Optimize pg_memory_is_all_zeros() in memutils.h
- 5be1dabd2ae0 18.0 landed
-
Remove use of pg_memory_is_all_zeros() in bufpage.c
- e819bbb7c82a 18.0 landed
-
Add pg_memory_is_all_zeros() in memutils.h
- 07e9e28b56db 18.0 landed