Re: O_DIRECT support for Windows - Mailing list pgsql-patches

From Magnus Hagander
Subject Re: O_DIRECT support for Windows
Date
Msg-id 20070117081448.7477FDCC164@svr2.hagander.net
Whole thread Raw
In response to Re: O_DIRECT support for Windows  ("Takayuki Tsunakawa" <tsunakawa.takay@jp.fujitsu.com>)
List pgsql-patches
> >> I think many people can benefit from Itagaki-san's proposal, and
> >> NO_BUFFERING should be default.  Isn't it very rare that disks with
> >> sector size larger than 8KB are used?
> >
> > Definitly very rare.
> >
> >
> >> Providing a way (such as
> >> wal_sync_method) to avoid NO_BUFFERING is sufficient for people in
> >> rare environments.  Or, by determining the sector size with
> >> GetDiskFreeSpaceEx(), we could auto-switch to not using
> NO_BUFFERING
> >> when the sector size is larger than 8KB.
> >
> > I think the second one is better.
>
> Thank you for agreeing.  Then, I hope Itagaki-san's patch will be
> accepted when the following treatments are added to the patch and some
> performance report is delivered.

I would think so, but we definity need to see some numbers that show that it helps.


> > A quick google shows some inconclusive results :-)BUt look at for
> > example:
> >
>

http://groups.google.se/group/microsoft.public.sqlserver.server/tree/browse_frm/thread/d3288d3b43338b47/ff5e825dd02faff4?rnum=1&hl=en&q=ntfs+sector+size&_done=%

2Fgroup%2Fmicrosoft.public.sqlserver.server%2Fbrowse_frm%2Fthread%2Fd3288d3b43338b47%2Fff5e825dd02faff4%3Ftvc%3D1%26q%3Dntfs+sector+size%26hl%3Den%26#doc_4556b6
4132b3baa7
> >
> > This seems to indicate that *Windows* supports sector sizes >4K, but
> SQL
> > Server doesn't. But again, it could be a mixup between cluster and
> > sector size...
>
> This is interesting.  I've never seen systems with a sector size
> larger than 4KB, too.  On IBM zSeries (which is a mainframe running
> Linux), DASD (direct attached storage device) is usually used as a
> hard disk.  The sector size of DASD is 4KB.  So, the current
> implementation of PostgreSQL which assumes 8KB sector size is
> practically sufficient.
> Delivering an intuitive error message like SQL Server is one way when
> PostgreSQL encounters devices with a larger sector size than is
> supported.  However, as you say, auto-switching to not using
> NO_BUFFERING is kinder to users.

I think both. Auto-switch but log a warning to the user that this was done.

/Magnus


pgsql-patches by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: O_DIRECT support for Windows
Next
From: Gregory Stark
Date:
Subject: Re: Recalculating OldestXmin in a long-running vacuum