Pavan Deolasee escribió: > On 7/11/07, Heikki Linnakangas <[EMAIL PROTECTED]> wrote: > > > >I was able > >to reproduce the phenomenon with a simple C program that writes 8k > >blocks in random order to a fixed size file. I've attached it along with > >output of running it on my test server. The output shows how the writes > >start to periodically block after a while. I was able to reproduce the > >problem on my laptop as well. Can anyone explain what's going on? > > > I think you are assuming that the next write of the same block won't > use another OS cache block. I doubt if thats the way writes are handled > by the kernel. Each write would typically end up being queued up in the > kernel > where each write will have its own copy of the block to the written. Isn't > it ?
I don't think so -- at least not on Linux. See https://ols2006.108.redhat.com/2007/Reprints/zijlstra-Reprint.pdf where he talks about a patch to the page cache. He describes the current page cache there; each page is kept on a tree, so a second write to the same page would "overwrite" the page of the original write. -- Alvaro Herrera http://www.amazon.com/gp/registry/CTMLCN8V17R4 "Las mujeres son como hondas: mientras más resistencia tienen, más lejos puedes llegar con ellas" (Jonas Nightingale, Leap of Faith) ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org