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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Allowing WAL fsync to be done via O_SYNC
Следующее
От: Thomas Lockhart
Дата:
Сообщение: Re: Allowing WAL fsync to be done via O_SYNC