Re: [HACKERS] O_DIRECT for WAL writes
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] O_DIRECT for WAL writes |
Дата | |
Msg-id | 200507290323.j6T3Ntb01826@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] O_DIRECT for WAL writes (ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp>) |
Список | pgsql-patches |
Patch applied. Thanks. --------------------------------------------------------------------------- ITAGAKI Takahiro wrote: > Thanks for reviewing! > But the patch does not work on HEAD, because of the changes in BootStrapXLOG(). > I send the patch with a fix for it. > > > Bruce Momjian <pgman@candle.pha.pa.us> wrote: > > > If you are doing fsync(), I don't see how O_DIRECT > > makes any sense because O_DIRECT is writing to disk on every write, and > > then what is the fsync() actually doing. > > It's depends on OSes. Manpage of Linux says, > http://linux.com.hk/PenguinWeb/manpage.jsp?name=open§ion=2 > File I/O is done directly to/from user space buffers. The I/O is > synchronous, i.e., at the completion of the read(2) or write(2) system > call, data is **guaranteed to have been transferred**. > But manpage of FreeBSD says, > http://www.manpages.info/freebsd/open.2.html > O_DIRECT may be used to minimize or eliminate the cache effects of read- > ing and writing. The system will attempt to avoid caching the data you > read or write. If it cannot avoid caching the data, > it will **minimize the impact the data has on the cache**. > > In my understanding, the completion of write() with O_DIRECT does not always > assure an actual write. So there may be difference between O_DIRECT+O_SYNC > and O_DIRECT+fsync(), but I think that is not very often. > > > > What I did was to add O_DIRECT unconditionally for all uses of O_SYNC > > and O_DSYNC, so it is automatically used in those cases. And of course, > > if your operating system doens't support O_DIRECT, it isn't used. > > I agree with your way, where O_DIRECT is automatically used. > I bet the combination of O_DIRECT and O_SYNC is always better than > the case O_SYNC only used. > > --- > ITAGAKI Takahiro > NTT Cyber Space Laboratories > [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-patches по дате отправления: