From: Chris Mason <chris.mason@oracle.com>
To: Zhu Yanhai <zhu.yanhai@gmail.com>
Cc: linux-btrfs@vger.kernel.org, Yan Zheng <zheng.yan@oracle.com>,
austin.zhang@intel.com, yong.y.wang@intel.com,
bing.wei.liu@intel.com, Zhu Yanhai <yanhai.zhu@linux.intel.com>
Subject: Re: What's the benefit of COW without checksum?
Date: Tue, 26 Jan 2010 14:07:05 -0500 [thread overview]
Message-ID: <20100126190705.GB2770@think> (raw)
In-Reply-To: <977a2be21001252315w36afcb39v4ba130f6d8e53707@mail.gmail.com>
On Tue, Jan 26, 2010 at 03:15:08PM +0800, Zhu Yanhai wrote:
> Hi Chris,
> According to my understanding, COW in Btrfs services for 1) snapshots
> capacities 2) keeping checksum consistent with FS data,
> that's why nodatacow implies nodatasum. And COW will still happen for
> snapshots even under 'nodatacow'.
>
> So could you please tell me what can we get from COW if not computing
> checksum (nodatasum)? That's to say, if some user decides to
> disable checksum, do you think it's fine for him to just mount with
> 'nodatacow'? Or there's still some reason for him to use bare 'nodatasum'?
COW does have advantages in some workloads, basically where you end up
putting fresh data modifications close to each other. This is
especially true on some ssds that work best when writing large groups of
contiguous data.
Mail server workloads often benefit from cow as well. Especially with
the intel crc32c extensions, the checksumming is becoming less and less
expensive on modern hardware. I don't expect many people to turn it
off.
nodatacow on the other hand has a big impact on database workloads. The
random over-write performance goes down significantly when cow is on
because the extents become very small and the amount of metadata needed
to track them becomes very large.
So, nodatacow is likely to be used often, while nodatasum is probably
only going to be used by people trying to figure out how big the impact
of checksumming is on performance.
-chris
next parent reply other threads:[~2010-01-26 19:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <977a2be21001252315w36afcb39v4ba130f6d8e53707@mail.gmail.com>
2010-01-26 19:07 ` Chris Mason [this message]
2010-01-26 23:44 ` What's the benefit of COW without checksum? Dipl.-Ing. Michael Niederle
2010-01-26 7:44 Zhu Yanhai
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=20100126190705.GB2770@think \
--to=chris.mason@oracle.com \
--cc=austin.zhang@intel.com \
--cc=bing.wei.liu@intel.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=yanhai.zhu@linux.intel.com \
--cc=yong.y.wang@intel.com \
--cc=zheng.yan@oracle.com \
--cc=zhu.yanhai@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox