From: Chris Mason <mason@suse.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, akpm@osdl.org
Subject: Re: [PATCH RFC] O_DIRECT reads and writes without i_sem
Date: Fri, 05 Nov 2004 13:06:20 -0500 [thread overview]
Message-ID: <1099677980.15540.125.camel@watt.suse.com> (raw)
In-Reply-To: <20041101160844.GA29251@infradead.org>
On Mon, 2004-11-01 at 16:08 +0000, Christoph Hellwig wrote:
> On Mon, Nov 01, 2004 at 10:32:07AM -0500, Chris Mason wrote:
> > Hello everyone,
> >
> > Right now, O_DIRECT reads and writes on regular files have to take i_sem
> > while reading file metadata in order to make sure we don't race with
> > hole filling.
> >
> > This patch tries to get around that by avoiding i_sem when we are doing
> > an O_DIRECT read or write inside of i_size. Yet another rw semaphore is
> > added to struct inode to protect against holes being filled during the
> > O_DIRECT. direct-io.c gets another special case to be aware of the
> > locking.
> >
> > This has only been lightly tested, I'm posting here for general comments
> > before I go much further. I'm rounding up some hardware with enough
> > disks to benchmark it properly.
Looks like there's a long line to get to the big test machines here, so
I did some more local performance tests. I've got two scsi drives
striped into a lvm2 target (64k stripe size). FS is reiser. I did
testing on writes because more of the io is done under i_sem for writes,
so it should be easiest to show the benefit there.
The test is a 16k random write test on a 15GB file. 50MB of io is done
by each random writer, and everyone is writing to the same preallocated
file.
1 random writer = .64MB/s
2 random writers (unpatched) = .71MB/s
2 random writers (patched) = 1.02MB/s
In the patched kernel, the two writer procs finished at roughly the same
time (< 1sec difference). In the unpatched kernel, writer #1 finished
in about 1/2 the time as writer #2.
-chris
prev parent reply other threads:[~2004-11-05 18:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-01 15:32 [PATCH RFC] O_DIRECT reads and writes without i_sem Chris Mason
2004-11-01 16:08 ` Christoph Hellwig
2004-11-01 16:56 ` Chris Mason
2004-11-05 18:06 ` Chris Mason [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=1099677980.15540.125.camel@watt.suse.com \
--to=mason@suse.com \
--cc=akpm@osdl.org \
--cc=hch@infradead.org \
--cc=linux-fsdevel@vger.kernel.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.