| 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-03 20:06:45 |
| Message-ID: | CAD21AoDQg9rGfUhVLG-OYwJsm7hnEBk27Y=frU8Z=7ZexqaJvw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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.
Regards,
--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Melanie Plageman | 2025-11-03 20:06:54 | Re: Eagerly evict bulkwrite strategy ring |
| Previous Message | Jeff Davis | 2025-11-03 19:59:57 | Re: Remaining dependency on setlocale() |