md devices mounted with async
Kris Kennaway
kris at FreeBSD.org
Sun Jun 15 11:39:37 UTC 2008
RW wrote:
> On Sun, 15 Jun 2008 03:08:34 +0200
> Kris Kennaway <kris at FreeBSD.org> wrote:
>
>> RW wrote:
>>> I meant that a write to the filesystem doesn't require a
>>> corresponding write to disk, and the change can stay in memory
>>> indefinitely. Presumably, more or less, the same inactive pages get
>>> written-out to swap, with or without async.
>> Well, it doesn't necessarily cause a write to disk for each
>> filesystem write, but the synchronization mode of the filesystem to
>> the backing store is precisely what the async/noasync/sync mount
>> options control!
>
> It's not obvious that that's true when the backing-store is swap, I
> would have expected that changes would only be written-out when memory
> is needed elsewhere rather than to keep the backing-store synchronized.
Let's recap :-)
You said:
> > Is there any point in doing this with malloc and vnode
> > devices? In neither case does a write to the file-system require a
write
> > to a physical disk.
I said:
> Well, for vnode devices it does write to the disk, but that isn't the
> point;
So I was referring to vnode devices. I guess there was some confusion
because in your reply you mentioned swap, not vnode.
Anyway, to be clear: when a filesystem mounted on md is written to it
writes through to its' backing store according to the mount policy of
the filesystem (e.g. with sync mounts all writes are written through
synchronously, etc). That is why async mounts on top of the md are most
efficient (as with mounts on top of any device).
In the case of swap backing this means the vm page is marked dirty, and
it will be written to swap in case of memory pressure. That is indeed
why swap backing is more efficient. For vnode backing the file is
written to, which will again be written to disk according to the sync
mount mode of the underlying filesystem.
Kris
More information about the freebsd-questions
mailing list