Re: aio: worker: Free SMGR objects when idle

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Alexandre Felipe <o(dot)alexandre(dot)felipe(at)gmail(dot)com>
Cc: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: aio: worker: Free SMGR objects when idle
Date: 2026-09-27 16:23:20
Message-ID: CAGRkXqTy5+rzTKwOo24rpF-nRWXUjmum__vTaCkdpMgQymXhkw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Alexandre,

I don't think this patch needs the LRU. Backends already call
smgrdestroyall() at transaction end, and bgwriter and checkpointer do it
after each checkpoint, so the IO worker is the one process that never
cleans up, and v3 bounds it with the entry cap and the idle cleanup.

Touching an LRU and calling FirstCallSinceLastCheckpoint() on every IO
puts work back in the hot path, which is what Andres objected to as well.

Thanks,
Shihao

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-09-27 16:32:12 Re: remove_useless_joins vs. bug #19560
Previous Message shihao zhong 2026-09-27 16:18:40 Re: [PATCH] Refactor remaining zero-fill relation extensions to use smgrzeroextend()