• Tom Lane's avatar
    Improve management of SLRU statistics collection. · 81ca8686
    Tom Lane authored
    Instead of re-identifying which statistics bucket to use for a given
    SLRU on every counter increment, do it once during shmem initialization.
    This saves a fair number of cycles, and there's no real cost because
    we could not have a bucket assignment that varies over time or across
    backends anyway.
    
    Also, get rid of the ill-considered decision to let pgstat.c pry
    directly into SLRU's shared state; it's cleaner just to have slru.c
    pass the stats bucket number.
    
    In consequence of these changes, there's no longer any need to store
    an SLRU's LWLock tranche info in shared memory, so get rid of that,
    making this a net reduction in shmem consumption.  (That partly
    reverts fe702a7b.)
    
    This is basically code review for 28cac71b, so I also cleaned up
    some comments, removed a dangling extern declaration, fixed some
    things that should be static and/or const, etc.
    
    Discussion: https://postgr.es/m/3618.1589313035@sss.pgh.pa.us
    81ca8686
pgstat.c 180 KB