From: | Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com> |
---|---|
To: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
Cc: | Melanie Plageman <melanieplageman(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Simplify VM counters in vacuum code |
Date: | 2025-06-24 08:01:17 |
Message-ID: | CAN55FZ0G5Le7pyuPBR9Ja+fKA9WEft11efEW0x4KLzOXuAseyQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On Tue, 24 Jun 2025 at 07:13, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
Thank you for working on this!
> On Tue, Jun 24, 2025 at 4:21 AM Melanie Plageman
> <melanieplageman(at)gmail(dot)com> wrote:
> >
> > Hi,
> >
> > In dc6acfd910b8, I added some counters to track and log in
> > autovacuum/vacuum output the number of pages newly set
> > all-visible/frozen. Taking another look at the code recently, I
> > realized the conditions for setting the counters could be simplified
> > because of what we know to be true about the state of the heap page
> > and VM at the time we are doing the counting.
> >
>
> Thank you for the patch! I could not understand the following change:
>
> + /* We know the page should not have been all-visible */
> + Assert((old_vmbits & VISIBILITYMAP_VALID_BITS) == 0);
> + (void) old_vmbits; /* Silence compiler */
> +
> + /* Count the newly set VM page for logging */
> + if ((flags & VISIBILITYMAP_ALL_VISIBLE) != 0)
> {
> vacrel->vm_new_visible_pages++;
> if (all_frozen)
> vacrel->vm_new_visible_frozen_pages++;
> }
>
> The flags is initialized as:
>
> uint8 flags = VISIBILITYMAP_ALL_VISIBLE;
>
> so the new if-condition is always true.
I think we do not need to check visibility of the page here, as we
already know that page was not all-visible due to LP_DEAD items. We
can simply increment the vacrel->vm_new_visible_pages and check
whether the page is frozen.
--
Regards,
Nazir Bilal Yavuz
Microsoft
From | Date | Subject | |
---|---|---|---|
Next Message | Yugo Nagata | 2025-06-24 08:05:33 | Re: Allow to collect statistics on virtual generated columns |
Previous Message | Sutou Kouhei | 2025-06-24 07:10:09 | Re: Make COPY format extendable: Extract COPY TO format implementations |