Re: Allowing WAL fsync to be done via O_SYNC
От | Alfred Perlstein |
---|---|
Тема | Re: Allowing WAL fsync to be done via O_SYNC |
Дата | |
Msg-id | 20010315150220.F29888@fw.wintelcom.net обсуждение исходный текст |
Ответ на | Re: Allowing WAL fsync to be done via O_SYNC (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
* Tom Lane <tgl@sss.pgh.pa.us> [010315 14:54] wrote: > Alfred Perlstein <bright@wintelcom.net> writes: > > How many files need to be fsync'd? > > Only one. > > > If it's more than one, what might work is using mmap() to map the > > files in adjacent areas, then calling msync() on the entire range, > > this would allow you to batch fsync the data. > > Interesting thought, but mmap to a prespecified address is most > definitely not portable, whether or not you want to assume that > plain mmap is ... Yeah... :( Evil thought though (for reference): mmap(anon memory) returns addr1 addr2 = addr1 + maplen split addr1<->addr2 on points A B and C mmap(file1 over addr1 to A) mmap(file2 over A to B) mmap(file3 over B to C) mmap(file4 over C to addr2) It _should_ work, but there's probably some corner cases where it doesn't. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
В списке pgsql-hackers по дате отправления: