• Thomas Munro's avatar
    Simplify the effective_io_concurrency setting. · b09ff536
    Thomas Munro authored
    The effective_io_concurrency GUC and equivalent tablespace option were
    previously passed through a formula based on a theory about RAID
    spindles and probabilities, to arrive at the number of pages to prefetch
    in bitmap heap scans.  Tomas Vondra, Andres Freund and others argued
    that it was anachronistic and hard to justify, and commit 558a9165
    already started down the path of bypassing it in new code.  We agreed to
    drop that logic and use the value directly.
    
    For the default setting of 1, there is no change in effect.  Higher
    settings can be converted from the old meaning to the new with:
    
      select round(sum(OLD / n::float)) from generate_series(1, OLD) s(n);
    
    We might want to consider renaming the GUC before the next release given
    the change in meaning, but it's not clear that many users had set it
    very carefully anyway.  That decision is deferred for now.
    
    Discussion: https://postgr.es/m/CA%2BhUKGJUw08dPs_3EUcdO6M90GnjofPYrWp4YSLaBkgYwS-AqA%40mail.gmail.com
    b09ff536
bufmgr.c 124 KB