On Tue, Jun 24, 2025 at 4:01 AM Nazir Bilal Yavuz <byavu...@gmail.com> wrote:
>
> > 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.

Yep, I fixed that in the v2 patch I just sent.

> 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.

My idea with the assert was sort of to codify the expectation that the
page couldn't have been all-visible because of the dead items. But
perhaps that is obvious. But you are right that the if statement is
not needed. Perhaps I ought to remove the asserts as they may be more
confusing than helpful.

- Melanie


Reply via email to