From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Magnus Hagander" <mha(at)sollentuna(dot)net> |
Cc: | "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>, "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: win32 performance - fsync question |
Date: | 2005-02-17 19:39:56 |
Message-ID: | 10137.1108669196@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Magnus Hagander" <mha(at)sollentuna(dot)net> writes:
> Tom, if you look at all the requirements of FILE_FLAG_NO_BUFFERING on
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/
> base/createfile.asp, can you say offhand if the WAL code fulfills them?
If I'm reading it right, you are referring to:
File access must begin at byte offsets within the file that are
integer multiples of the volume's sector size.
File access must be for numbers of bytes that are integer multiples
of the volume's sector size. For example, if the sector size is 512
bytes, an application can request reads and writes of 512, 1024, or
2048 bytes, but not of 335, 981, or 7171 bytes.
Buffer addresses for read and write operations should be sector
aligned (aligned on addresses in memory that are integer multiples
of the volume's sector size). Depending on the disk, this
requirement may not be enforced.
1 and 2 should be no problem since we only read or write integral pages
(8K). 3 is a bit bogus IMHO, or even a lot bogus. You can set
ALIGNOF_BUFFER in src/include/pg_config_manual.h to whatever you think
the alignment requirement really needs to be (I'd try 512).
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2005-02-17 19:54:21 | Re: win32 performance - fsync question |
Previous Message | Merlin Moncure | 2005-02-17 19:28:29 | Re: win32 performance - fsync question |