> 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
  [EMAIL PROTECTED]               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to