Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 317c117
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6e984e8
Choose a head ref
  • 4 commits
  • 11 files changed
  • 2 contributors

Commits on Aug 31, 2025

  1. Use consistent naming of the clock-sweep algorithm.

    Minor edits to comments only.
    gburd authored and Commitfest Bot committed Aug 31, 2025
    Configuration menu
    Copy the full SHA
    67fe551 View commit details
    Browse the repository at this point in the history
  2. Eliminate the freelist from the buffer manager and depend on clock-sweep

    This set of changes removes the list of available buffers and instead
    simply uses the clock-sweep algorithm to find and return an available
    buffer.  While on the surface this appears to be removing an
    optimization it is in fact eliminating code that induces overhead in the
    form of synchronization that is problemmatic for multi-core systems.
    This also removes the have_free_buffer() function and simply caps the
    pg_autoprewarm process to at most NBuffers.
    gburd authored and Commitfest Bot committed Aug 31, 2025
    Configuration menu
    Copy the full SHA
    e3bd1e5 View commit details
    Browse the repository at this point in the history
  3. Track buffer usage per-backend and use that to inform buffer managment

    Implement a comprehensive buffer pressure monitoring and management system
    to improve PostgreSQL's buffer replacement efficiency under high load.
    
    Problems:
    - Buffer pressure was only detectable reactively during allocation failures
    - No visibility into which backends contribute most to buffer contention
    - High usage counts force multiple clock-sweep passes under heavy load
    - bgwriter had limited intelligence about system-wide buffer usage patterns
    
    Solution:
    - Add per-backend buffer usage counters
    - Implement proactive buffer pressure calculation in bgwriter
    - Add targeted buffer writing for high-usage backends (90th percentile)
    - Adjust rate of usage count reduction when pressure exceeds 75% threshold
    
    Benefits:
    - Reduces buffer allocation stalls by proactively managing pressure
    - Provides fair resource management by targeting high-usage backends
    - Improves system responsiveness under memory pressure
    - Maintains backward compatibility with existing buffer management
    - Enables better observability of buffer usage patterns per backend
    gburd authored and Commitfest Bot committed Aug 31, 2025
    Configuration menu
    Copy the full SHA
    d3c8d26 View commit details
    Browse the repository at this point in the history
  4. [CF 5928] v14 - Remove freelist and the buffer_strategy_lock

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/5928
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/[email protected]
    Author(s): Greg Burd
    Commitfest Bot committed Aug 31, 2025
    Configuration menu
    Copy the full SHA
    6e984e8 View commit details
    Browse the repository at this point in the history
Loading