From: Joel Becker <Joel.Becker@oracle.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes.
Date: Mon, 11 Oct 2010 15:11:17 -0700 [thread overview]
Message-ID: <20101011221117.GJ4255@mail.oracle.com> (raw)
In-Reply-To: <4CB38927.2070403@oracle.com>
On Tue, Oct 12, 2010 at 06:01:11AM +0800, Tao Ma wrote:
> Joel Becker wrote:
> >On Mon, Oct 11, 2010 at 04:46:39PM +0800, Tristan Ye wrote:
> >>Currently, default behavior of O_DIRECT writes was allowing
> >>concurrent writing among nodes, no cluster coherency guaranteed
> >>(no EX locks was taken), it hurts buffered reads on other nodes
> >>by reading stale data from cache.
> >>
> >>The new mount option introduce a chance to choose two different
> >>behaviors for O_DIRECT writes:
> >>
> >> * coherency=full, as the default value, will disallow
> >> concurrent O_DIRECT writes by taking
> >> EX locks.
> >>
> >> * coherency=buffered, allow concurrent O_DIRECT writes
> >> without EX lock among nodes, which
> >> gains high performance at risk of
> >> getting stale data on other nodes.
> >>
> >>Signed-off-by: Tristan Ye <tristan.ye@oracle.com>
> >
> > This patch is now in the merge-window branch of ocfs2.git.
> I think that you agree with me that we only need to take PR lock in
> full_coherency, but this patch
> still try the exclusive one. So do I miss something?
I don't agree with you. The PR does not force other nodes who
have a PR to drop their caches. It does force them to write out, but
that isn't the whole problem. We came to this because other nodes are
holding stale data from their reads, and we need them to drop that stale
data when we O_DIRECT write.
Joel
--
Life's Little Instruction Book #24
"Drink champagne for no reason at all."
Joel Becker
Consulting Software Developer
Oracle
E-mail: joel.becker at oracle.com
Phone: (650) 506-8127
prev parent reply other threads:[~2010-10-11 22:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-11 8:46 [Ocfs2-devel] [PATCH 1/1] Ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes Tristan Ye
2010-10-11 21:16 ` Joel Becker
2010-10-11 22:01 ` Tao Ma
2010-10-11 22:09 ` Tao Ma
2010-10-11 22:11 ` Joel Becker [this message]
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=20101011221117.GJ4255@mail.oracle.com \
--to=joel.becker@oracle.com \
--cc=ocfs2-devel@oss.oracle.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;
as well as URLs for NNTP newsgroup(s).