xfs
[Top] [All Lists]

Re: file streams allocator behavior

To: Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>
Subject: Re: file streams allocator behavior
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Sun, 26 Oct 2014 18:18:11 -0400
Cc: Richard Scobie <r.scobie@xxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <544D2EE1.3080304@xxxxxxxxxxxxxxxxx>
References: <544BF26F.6000708@xxxxxxxxxxxx> <544C159E.8010408@xxxxxxxxxxxxxxxxx> <20141026142559.GA61711@xxxxxxxxxxxxxxx> <544D2EE1.3080304@xxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
On Sun, Oct 26, 2014 at 12:26:57PM -0500, Stan Hoeppner wrote:
> 
> 
> On 10/26/2014 09:26 AM, Brian Foster wrote:
> > On Sat, Oct 25, 2014 at 04:26:54PM -0500, Stan Hoeppner wrote:
> >> On 10/25/2014 01:56 PM, Richard Scobie wrote:
> >>> Stan Hoeppner said:
> >>>
> >>>> How can I disable or change the filestreams behavior so all files go
> >>>> into the one AG for the single directory test?
> >>>
> >>> Hi Stan,
> >>>
> >>> Instead of mounting with -o filestreams, would using the chattr flag
> >>> instead help?
> >>>
> >>> See
> >>> http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html
> >>
> >> That won't help.  That turns it on (if it's not enabled by default these
> >> days).  I need to turn off the behavior I'm seeing, whether it's due to
> >> the filestreams allocator or default inode64.  Then again it may not be
> >> possible to turn it off...
> >>
> >> Anyone have other ideas on how to accomplish my goal?  Parallel writes
> >> to a single AG on the outer platter edge vs the same to all AGs across
> >> the entire platter?  I'm simply trying to demonstrate the differences in
> >> aggregate bandwidth due to the extra seek latency of all AGs case.
> >>
> > 
> > What about just preallocating the files? Obviously this removes block
> > allocation contention from your experiment, but it's not clear if that's
> > relevant to your test. If I create a smaller, but analogous fs to yours,
> > I seem to get this behavior from just doing an fallocate of each file in
> > advance.
> > 
> > E.g., Create directory 0, fallocate 44 files all of which end up in AG
> > 0. Create directory 1, fallocate 44 files which end up in AG 1, etc.
> > From there you can do direct I/O overwrites to 44 files across each AG
> > or 44 files in any single AG.
> 
> I figured preallocating would get me what I want but I've never used
> fallocate, nor dd into fallocated files.  Is there anything special
> required here with dd, or can I simply specify the filename to dd, and
> make sure bs + count doesn't go beyond EOF?
> 

Ah, yeah. dd will truncate the file by default iirc, which would free
the preallocated blocks and start from scratch. Specify 'conv=notrunc'
as part of the command line to get around that.

Brian

> Thanks,
> Stan
> 

<Prev in Thread] Current Thread [Next in Thread>