hole punching performance
Bradley C. Kuszmaul
kuszmaul at gmail.com
Tue Jan 15 15:34:50 CST 2013
So does it cost a lot to read all the extents just to read the first block?
I don't generally open a file without immediately reading some block, so
it doesn't really matter to me if there is a high cost for open() or a high
cost for the first read().
-Bradley
On Tue, Jan 15, 2013 at 4:31 PM, Florian Weimer <fw at deneb.enyo.de> wrote:
> * Dave Chinner:
>
> > On Sun, Jan 13, 2013 at 01:49:41PM -0600, Ben Myers wrote:
> >> On Sun, Jan 13, 2013 at 11:36:27AM -0500, Bradley C. Kuszmaul wrote:
> >> > On Sun, Jan 13, 2013 at 4:26 AM, Florian Weimer <fw at deneb.enyo.de>
> wrote:
> >> > > I once was a heavy Berkeley DB user and had files with dozens
> >> > > of gigabytes containing hundreds of thousands of extents, and
> >> > > open() times in the order of minutes were not unusual with a
> >> > > cold cache and other concurrent read activities from the same
> >> > > RAID device.
> >>
> >> Ouch. I would not have expected open times that bad.
> >
> > That will only happen if the extent list needs to be read during the
> > open() call. That will only occur if O_TRUNC is set. Otherwise, the
> > extents are read on the first syscall that needs them to be read in
> > (read, write, alloc, punch, truncate, etc) and that's when the
> > latency occurs.
>
> Indeed, I think I have misremembered. The delay occurred when
> Berkeley DB tried to read the first page from disk.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20130115/f006941a/attachment.html>
More information about the xfs
mailing list