Re: Add CHECK_FOR_INTERRUPTS in Evict{Rel,All}UnpinnedBuffers

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: 邱宇航 <iamqyh(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Add CHECK_FOR_INTERRUPTS in Evict{Rel,All}UnpinnedBuffers
Date: 2025-11-04 23:50:11
Message-ID: CAD21AoCWGrVT2QhU2LBRGws+EcgCHu=BwrEd2Ya6-8GsdLOAog@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Nov 3, 2025 at 12:06 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> On Sun, Nov 2, 2025 at 6:15 PM 邱宇航 <iamqyh(at)gmail(dot)com> wrote:
> >
> > The pg_buffercache_evict_{relation,all} operations can become extremely
> > slow when dealing with large buffer pools containing many dirty buffers.
> > This commit adds CHECK_FOR_INTERRUPTS calls within the underlying
> > Evict{Rel,All}UnpinnedBuffers functions to ensure these operations
> > cancellable.
> >
> > And this should be backpatched through v18 where
> > pg_buffercache_evict_{relation,all} operations are introduced.
>
> Commit eab9e4e27c0c added CFI for pg_buffercache functions such as
> pg_buffercache_pages, but it seems not to cover
> pg_buffercache_evict_relation() and pg_buffercache_evict_all().
> EvictRelUnpinnedBuffers() and EvictAllUnpinnedBuffers() are used only
> by pg_buffercache and they are for testing/development use, so it
> makes sense to add CFI to these functions as well. I'll push the patch
> barring any objections.

Pushed (backpatched to v18).

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jacob Champion 2025-11-05 00:14:52 Re: [BUG] PostgreSQL crashes with ThreadSanitizer during early initialization
Previous Message Peter Smith 2025-11-04 23:25:58 Re: DOCS: ALTER PUBLICATION - Synopsis for DROP is a bit misleading