xfs
[Top] [All Lists]

Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io

To: Dan Williams <dan.j.williams@xxxxxxxxx>
Subject: Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io
From: Boaz Harrosh <boaz@xxxxxxxxxxxxx>
Date: Mon, 02 May 2016 22:22:10 +0300
Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx>, "linux-nvdimm@xxxxxxxxxxxx" <linux-nvdimm@xxxxxxxxxxxx>, linux-block@xxxxxxxxxxxxxxx, Jan Kara <jack@xxxxxxx>, Matthew Wilcox <matthew@xxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, XFS Developers <xfs@xxxxxxxxxxx>, Jens Axboe <axboe@xxxxxx>, Linux MM <linux-mm@xxxxxxxxx>, Al Viro <viro@xxxxxxxxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, linux-fsdevel <linux-fsdevel@xxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, linux-ext4 <linux-ext4@xxxxxxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=plexistor-com.20150623.gappssmtp.com; s=20150623; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=PBiKLlvLexxJ7cWCyuhIbFuzAd5aT3unJu7fEYZSpEY=; b=OdY7wNsCysH9zi5G+CXy3fJQIHTHNRXkMBcGlZNzhbj2FPrnbXYzdQf4rBKA6ktRar XMqk1X3KQjQMWnCVJ19mzKFZv71kNa3dxc2r3dSqyuf3nvMF8RheJRDIfGWxziL72Xj9 TQ0xDXLoTTG1/4YAe7CkIVAfn0vddfcXKkpJxv6DZ2HW7gyeVRVuHZ3G5uIhAzS4CFEp Xofm3SvxY/MVGJnzSQxlO7AndTkFK60J4EHox54Xjj1stl/oYQ1pMBbWd6R2CtBQRdpO Uu6HfAI3eJt0bHofRxwbzDkXwAGquCDWv/AXWSK21EpAwV1t3wFqSyoJwLlVpb+eQBVk MbYQ==
In-reply-to: <CAPcyv4i3QteM508fVams8DxzoPTo5AXT6RQQ4=gR-iAN-B4-6g@xxxxxxxxxxxxxx>
References: <1461878218-3844-1-git-send-email-vishal.l.verma@xxxxxxxxx> <1461878218-3844-6-git-send-email-vishal.l.verma@xxxxxxxxx> <5727753F.6090104@xxxxxxxxxxxxx> <CAPcyv4jWPTDbbw6uMFEEt2Kazgw+wb5Pfwroej--uQPE+AtUbA@xxxxxxxxxxxxxx> <57277EDA.9000803@xxxxxxxxxxxxx> <CAPcyv4jnz69a3S+XZgLaLojHZmpfoVXGDkJkt_1Q=8kk0gik9w@xxxxxxxxxxxxxx> <572791E1.7000103@xxxxxxxxxxxxx> <CAPcyv4hGV07gpADT32xn=3brEq75P4RJA592vp-1A+jXMQCeOQ@xxxxxxxxxxxxxx> <57279D57.5020800@xxxxxxxxxxxxx> <CAPcyv4i3QteM508fVams8DxzoPTo5AXT6RQQ4=gR-iAN-B4-6g@xxxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
On 05/02/2016 09:48 PM, Dan Williams wrote:
<>
>> And then it keeps broken the aligned buffered writes, which are still
>> broken after this set.
> 
> ...identical to the current situation with a traditional disk.
> 

Not true!! please see what I wrote "aligned buffered writes"
If there are no reads involved then there are no errors returned
to application.

>> I have by now read the v2 patches. And I think you guys did not yet try
>> the proper fix for dax_do_io. I think you need to go deeper into the loops
>> and selectively call bdev_* when error on a specific page copy. No need to
>> go through direct_IO path at all.
> 
> We still reach a point where the minimum granularity of
> bdev_direct_access() is larger than a sector, so you end up still
> needing to have the application understand how to send a properly
> aligned I/O.  The semantics of how to send a properly aligned
> direct-I/O are already well understood, so we simply reuse that path.
> 

You are making a mountain out of a mouse. The simple copy of a file
from start (offset ZERO) to end-of-file which is the most common usage
on earth is perfectly aligned and needs not any O_DIRECT and is what is used
everywhere.

>> Do you need that I send you a patch to demonstrate what I mean?
> 
> I remain skeptical of what you are proposing, but yes, a patch has a
> better chance to move the discussion forward.
> 

Sigh! OK
Boaz

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