From cb331caf1f5a6f555af24c33542180cc60890f02 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 18 Oct 2026 04:56:42 -0700 Subject: [PATCH] Limit maxPrefetch [skip ci] --- src/hnswutils.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/hnswutils.c b/src/hnswutils.c index c677178..1811e20 100644 --- a/src/hnswutils.c +++ b/src/hnswutils.c @@ -899,10 +899,15 @@ HnswInitSearchState(HnswSearchState * searchState, Relation index, bool maintena #elif defined(HNSW_USE_PREFETCH) if (!inMemory) { + int maxM = HnswGetLayerM(HNSW_MAX_M, 0); + int ioConcurrency; + if (maintenance) - searchState->maxPrefetch = get_tablespace_maintenance_io_concurrency(index->rd_rel->reltablespace); + ioConcurrency = get_tablespace_maintenance_io_concurrency(index->rd_rel->reltablespace); else - searchState->maxPrefetch = get_tablespace_io_concurrency(index->rd_rel->reltablespace); + ioConcurrency = get_tablespace_io_concurrency(index->rd_rel->reltablespace); + + searchState->maxPrefetch = Min(maxM, ioConcurrency); } #endif }