Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Zach Brown
> > The idea is simple, leave the desicion for the file system user to enable 
> > file system mount 
> > wide O_DIRECT support with a new mount option, for example,

>   I believe a better approach to your problem is actually to enable
> loopback device driver to use direct IO. Someone was actually working on
> this but I'm not sure where this ended up.

Dave's been working on getting those patches merged.  I'm also not sure
where the work currently is, but here's an older posting:

  http://lwn.net/Articles/489647/

- z
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Matthew Wilcox
On Tue, Sep 04, 2012 at 06:57:14AM -0400, Christoph Hellwig wrote:
> On Tue, Sep 04, 2012 at 06:17:47PM +0800, Li Wang wrote:
> > For file system created on file-backed loop device, there will be 
> > two-levels of 
> > page cache present, which typically doubles the memory consumption. 
> 
> And the right fix is to not use buffer I/O on the backing file instead
> of hacks like this.

That was my initial reaction too, but for the case of two VMs operating on
the same device, it's better for it to be cached once in the hype-rvisor
than twice in the VMs.  Is that a common case worth optimising for?
Probably not ...

-- 
Matthew Wilcox  Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Jan Kara
On Tue 04-09-12 18:17:47, Li Wang wrote:
> For file system created on file-backed loop device, there will be two-levels 
> of 
> page cache present, which typically doubles the memory consumption. 
> In many cases, it is beneficial to turn on the O_DIRECT option while 
> performing 
> the upper file system file IO, to bypass the upper page cache, which not only 
> reduces half
> of the memory consumption, but also improves the performance due to shorter 
> copy path.
> 
> For example, the following iozone REREAD test with O_DIRECT turned on over 
> the one without
> enjoys 10x speedup due to redundant cache elimination, consequently, avoiding 
> page cache thrashing
> on a 2GB memory machine running 3.2.9 kernel.
> 
> losetup /dev/loop0 dummy // dummy is a ext4 file with a size of 1.1GB
> mkfs -t ext2 /dev/loop0
> mount /dev/loop0 /dsk
> cd /dsk
> iozone -t 1 -s 1G -r 4M -i 0 -+n -w // produce a 1GB test file
> iozone -t 1 -s 1G -r 4M -i 1 -w // REREAD test without O_DIRECT
> echo 1 > /proc/sys/vm/drop_caches // cleanup the page cache
> iozone -t 1 -s 1G -r 4M -i 1 -w -I // REREAD test with O_DIRECT
> 
> This feature is also expected to be useful for virtualization situation, the 
> file systems inside 
> the guest operation system will use much less of guest memory, which, 
> potencially results in less of 
> host memory use. Especially, it may be more useful if multiple guests are 
> running based 
> on a same disk image file.  
> 
> The idea is simple, leave the desicion for the file system user to enable 
> file system mount 
> wide O_DIRECT support with a new mount option, for example,
  I believe a better approach to your problem is actually to enable
loopback device driver to use direct IO. Someone was actually working on
this but I'm not sure where this ended up.

Honza
-- 
Jan Kara 
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Christoph Hellwig
On Tue, Sep 04, 2012 at 06:17:47PM +0800, Li Wang wrote:
> For file system created on file-backed loop device, there will be two-levels 
> of 
> page cache present, which typically doubles the memory consumption. 

And the right fix is to not use buffer I/O on the backing file instead
of hacks like this.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Christoph Hellwig
On Tue, Sep 04, 2012 at 06:17:47PM +0800, Li Wang wrote:
 For file system created on file-backed loop device, there will be two-levels 
 of 
 page cache present, which typically doubles the memory consumption. 

And the right fix is to not use buffer I/O on the backing file instead
of hacks like this.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Jan Kara
On Tue 04-09-12 18:17:47, Li Wang wrote:
 For file system created on file-backed loop device, there will be two-levels 
 of 
 page cache present, which typically doubles the memory consumption. 
 In many cases, it is beneficial to turn on the O_DIRECT option while 
 performing 
 the upper file system file IO, to bypass the upper page cache, which not only 
 reduces half
 of the memory consumption, but also improves the performance due to shorter 
 copy path.
 
 For example, the following iozone REREAD test with O_DIRECT turned on over 
 the one without
 enjoys 10x speedup due to redundant cache elimination, consequently, avoiding 
 page cache thrashing
 on a 2GB memory machine running 3.2.9 kernel.
 
 losetup /dev/loop0 dummy // dummy is a ext4 file with a size of 1.1GB
 mkfs -t ext2 /dev/loop0
 mount /dev/loop0 /dsk
 cd /dsk
 iozone -t 1 -s 1G -r 4M -i 0 -+n -w // produce a 1GB test file
 iozone -t 1 -s 1G -r 4M -i 1 -w // REREAD test without O_DIRECT
 echo 1  /proc/sys/vm/drop_caches // cleanup the page cache
 iozone -t 1 -s 1G -r 4M -i 1 -w -I // REREAD test with O_DIRECT
 
 This feature is also expected to be useful for virtualization situation, the 
 file systems inside 
 the guest operation system will use much less of guest memory, which, 
 potencially results in less of 
 host memory use. Especially, it may be more useful if multiple guests are 
 running based 
 on a same disk image file.  
 
 The idea is simple, leave the desicion for the file system user to enable 
 file system mount 
 wide O_DIRECT support with a new mount option, for example,
  I believe a better approach to your problem is actually to enable
loopback device driver to use direct IO. Someone was actually working on
this but I'm not sure where this ended up.

Honza
-- 
Jan Kara j...@suse.cz
SUSE Labs, CR
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Matthew Wilcox
On Tue, Sep 04, 2012 at 06:57:14AM -0400, Christoph Hellwig wrote:
 On Tue, Sep 04, 2012 at 06:17:47PM +0800, Li Wang wrote:
  For file system created on file-backed loop device, there will be 
  two-levels of 
  page cache present, which typically doubles the memory consumption. 
 
 And the right fix is to not use buffer I/O on the backing file instead
 of hacks like this.

That was my initial reaction too, but for the case of two VMs operating on
the same device, it's better for it to be cached once in the hype-rvisor
than twice in the VMs.  Is that a common case worth optimising for?
Probably not ...

-- 
Matthew Wilcox  Intel Open Source Technology Centre
Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] VFS: File System Mount Wide O_DIRECT Support

2012-09-04 Thread Zach Brown
  The idea is simple, leave the desicion for the file system user to enable 
  file system mount 
  wide O_DIRECT support with a new mount option, for example,

   I believe a better approach to your problem is actually to enable
 loopback device driver to use direct IO. Someone was actually working on
 this but I'm not sure where this ended up.

Dave's been working on getting those patches merged.  I'm also not sure
where the work currently is, but here's an older posting:

  http://lwn.net/Articles/489647/

- z
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/