Re: Buffer Management
Bruce Momjian <pgman@candle.pha.pa.us>
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Curt Sampson <cjs@cynic.net>, "J. R. Nield" <jrnield@usol.com>, PostgreSQL Hacker <pgsql-hackers@postgresql.org>
Date: 2002-06-25T14:56:58Z
Lists: pgsql-hackers
Tom Lane wrote: > Curt Sampson <cjs@cynic.net> writes: > > On Tue, 25 Jun 2002, Tom Lane wrote: > >> The other discussion seemed to be considering how to mmap individual > >> data files right into backends' address space. I do not believe this > >> can possibly work, because of loss of control over visibility of data > >> changes to other backends, timing of write-backs, etc. > > > I don't understand why there would be any loss of visibility of changes. > > If two backends mmap the same block of a file, and it's shared, that's > > the same block of physical memory that they're accessing. > > Is it? You have a mighty narrow conception of the range of > implementations that's possible for mmap. > > But the main problem is that mmap doesn't let us control when changes to > the memory buffer will get reflected back to disk --- AFAICT, the OS is > free to do the write-back at any instant after you dirty the page, and > that completely breaks the WAL algorithm. (WAL = write AHEAD log; > the log entry describing a change must hit disk before the data page > change itself does.) Can we mmap WAL without problems? Not sure if there is any gain to it because we just write it and rarely read from it. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026