Hello
First, the proposed changes in this email are to be used at least for PostgreSQL extensions, maybe for core.
Purpose is to offer better monitoring/tracking of the hot/cold areas (and read/write paterns) in the tables and indexes, in PostgreSQL those are by default written in segments of 1GB.
There are some possible usecase already:
* planning of hardware upgrade * easier configuration setup (both PostgreSQL and linux) * provide more informations to the planner/executor of PostgreSQL
My ideas so far are to
* improve mincore() in linux and add it information like in freeBSD (at least adding 'mincore_modified' to track clean vs dirty pages). * adding fincore() to make the information easier to grab from PostgreSQL (no mmap) * maybe some access to those stats in /proc/
It makes years that libprefetch, mincore() and fincore() are discussed on linux mailling lists. And they got a good feedback... So I hope it is ok to keep on those and provide updated patches.
Johannes, I add you in CC because you're the last one who proposed something. Should I update your patch ?
-- Cédric Villemain +33 (0)6 20 30 22 52 http://2ndQuadrant.fr/ PostgreSQL: Support 24x7 - Développement, Expertise et Formation
|