All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <bharrosh-C4P08NqkoRlBDgjK7y7TUQ@public.gmane.org>
To: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Shaohua Li <shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-btrfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-btrfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Chris Mason <chris.mason-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Arjan van de Ven <arjan-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	"Yan,
	Zheng" <zheng.z.yan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	"Wu,
	Fengguang" <fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	linux-api <linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	manpages <mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH v3 1/5] add metadata_incore ioctl in vfs
Date: Mon, 24 Jan 2011 12:06:31 +0200	[thread overview]
Message-ID: <4D3D4F27.8050109@panasas.com> (raw)
In-Reply-To: <20110119222740.fb1b5229.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>

On 01/20/2011 08:27 AM, Andrew Morton wrote:
> 
> Another way of doing all this would be to implement some sort of
> lookaside cache at the vfs->block boundary.  At boot time, load that
> cache up with all the disk blocks which we know the boot will need (a
> single ascending pass across the disk) and then when the vfs/fs goes to
> read a disk block take a peek in that cache first and if it's a hit,
> either steal the page or memcpy it.
> 

Ha. this sounds very much like the cleancache project presented for
inclusion so many times. It has even visited and left linux-next
a few times. They solved all these problems with a few VFS hooks.

> It has the obvious coherence problems which would be pretty simple to
> solve by hooking into the block write path as well.  

See cleancache they solved it with a simple VFS hook.

> The list of needed
> blocks can be very simply generated with existing blktrace
> infrastructure.  It does add permanent runtime overhead - once the
> cache is invalidated and disabled, every IO operation would incur a
> test-n-not-taken-branch.  Maybe not too bad.
> 
> Need to handle small-memory systems somehow, where the cache simply
> ooms the machine or becomes ineffective because it's causing eviction
> elsewhere.
> 
> It could perhaps all be implemented as an md or dm driver.
> 
> Or even as an IO scheduler.  I say this because IO schedulers can be
> replaced on-the-fly, so the caching layer can be unloaded from the
> stack once it is finished with.

Or a cleancache driver

Boaz

  parent reply	other threads:[~2011-01-24 10:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-19  1:15 [PATCH v3 1/5] add metadata_incore ioctl in vfs Shaohua Li
2011-01-19 20:41 ` Andrew Morton
     [not found]   ` <20110119124158.b0348c44.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-01-20  2:30     ` Shaohua Li
2011-01-20  2:42       ` Andrew Morton
2011-01-20  2:48         ` Shaohua Li
2011-01-20  3:05           ` Andrew Morton
     [not found]             ` <20110119190548.e1f7f01f.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-01-20  3:21               ` Shaohua Li
2011-01-20  4:10                 ` Andrew Morton
2011-01-20  4:41                   ` Dave Chinner
2011-01-20  5:44                     ` Shaohua Li
2011-01-20  6:06                       ` Wu Fengguang
2011-01-24  4:29                       ` Dave Chinner
     [not found]                   ` <20110119201014.adf02a78.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-01-20  5:38                     ` Shaohua Li
2011-01-20  5:55                       ` Andrew Morton
     [not found]                         ` <20110119215510.0882db92.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-01-20  6:12                           ` Shaohua Li
2011-01-20  6:19                             ` Wu Fengguang
2011-01-20  6:29                               ` Andrew Morton
2011-01-20  6:37                               ` Shaohua Li
2011-01-20  6:45                                 ` Wu Fengguang
2011-01-20  6:27                             ` Andrew Morton
     [not found]                               ` <20110119222740.fb1b5229.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2011-01-24 10:06                                 ` Boaz Harrosh [this message]
2011-01-20  5:46                     ` Wu Fengguang
2011-01-20  5:55                       ` Wu Fengguang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D3D4F27.8050109@panasas.com \
    --to=bharrosh-c4p08nqkorlbdgjk7y7tuq@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=arjan-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=chris.mason-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-btrfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=zheng.z.yan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.