> Hi all,
> By mapping the WAL files by each backend in to its address
> space using "mmap" system call , there will be big
> improvements in performance from the following point of view:
> 1. Each backend directly writes in to the address
> space which is obtained by maping the WAL files.
> this saves the write system call at the end of
> every transaction which transfres 8k of
> data from user space to kernel.
> 2. since every transaction does not modify all the 8k
> content of WAL page , so by issuing the
> fsync , the kernel only transfers only the
> kernel pages which are modified , which is 4k for
> linux so fsync time is saved by twice.
> Any comments ?.
This is interesting. We are concerned about using mmap() for all I/O
because we could eat up quite a bit of address space for big tables, but
WAL seems like an ideal use for mmap().
-- 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,
Pennsylvania19026