xfs
[Top] [All Lists]

Re: concurrent direct IO write in xfs

To: stan@xxxxxxxxxxxxxxxxx
Subject: Re: concurrent direct IO write in xfs
From: Zheng Da <zhengda1936@xxxxxxxxx>
Date: Mon, 23 Jan 2012 20:40:03 -0500
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=4kTq4DPJS0vM5TZTZwzwkqHbcGrehZtZ6fnw705L9XM=; b=SQa9G8SrZmo4GcaAqgyiG9YyI8k9XQge4ngnM2T7H1jkIiczLtj1EdoxSYG1RsHbFf TXv9MlOslTXDuMVsWBCDXJVTusr4U3+47887vyilX2PRYK0S+I4IruaOg9SP3Vlfzsl6 EPybdSA60UZXRJ+9JuIJ3Ow//HFhYsThOKHw8=
In-reply-to: <4F1DFC80.1040204@xxxxxxxxxxxxxxxxx>
References: <CAFLer83FBZG9ZCrT2jUZBcTC2a2tx_CDmykyPF4cTP0dbHGw7Q@xxxxxxxxxxxxxx> <20120116232549.GC6922@dastard> <CAFLer81XkMTh_gxd95pzxCEs1yGRsTrZijX3c7ewgRzeA7DCSQ@xxxxxxxxxxxxxx> <20120123051155.GI15102@dastard> <CAFLer82QxfgXEx7ofzOHOK2YKiA+ab+_Aizd10SWHvnC-mVUHg@xxxxxxxxxxxxxx> <CAFLer81GWSCCCMppU=2dE+5KKqD-hYVKAA0hz9n-CBbxAs_xfw@xxxxxxxxxxxxxx> <4F1DFC80.1040204@xxxxxxxxxxxxxxxxx>
Hello,

On Mon, Jan 23, 2012 at 7:34 PM, Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx> wrote:
On 1/23/2012 2:51 PM, Zheng Da wrote:

> tmpfs doesn't support direct IO.

Of course not.  tmpfs resides entirely within the page cache (or some of
it in swap).  The whole point of direct IO is to bypass the page cache,
transferring data directly between user space memory and the storage
device.  As tmpfs is built entirely within the page cache, direct IO is
obviously impossible.  And it's also obviously unnecessary.

Yes, you will need to rewrite your application to use tmpfs as direct IO
calls won't work.  This is something you obviously would rather not do.
 Which brings us back to Dave's question, which you have not answered:

What exactly is the purpose of your program?  What does it aim to
accomplish?  Is it for a database application?  A word processor?  Or
simply a filesystem tester?  What do _you_ aim to accomplish with this
programming effort?

I'm trying to test the scalability of page cache in the random access workload. And the cache hit rate is also relatively low. 
The cache is now implemented in the user space. When cache misses, I need to read data from the file system with direct IO.

Da 

<Prev in Thread] Current Thread [Next in Thread>