[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <552BC660.4000202@plexistor.com>
Date: Mon, 13 Apr 2015 16:36:32 +0300
From: Boaz Harrosh <boaz@...xistor.com>
To: Ingo Molnar <mingo@...nel.org>
CC: Christoph Hellwig <hch@....de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kernel@...r.kernel.org, linux-nvdimm@...ts.01.org,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Dan Williams <dan.j.williams@...el.com>,
Matthew Wilcox <matthew.r.wilcox@...el.com>
Subject: Re: [GIT PULL] PMEM driver for v4.1
On 04/13/2015 03:35 PM, Ingo Molnar wrote:
>
<>
>
> How does splice work with DAX files? AFAICS vmsplice() won't work, as
> it uses get_user_pages(), which needs struct page backing. Also, how
> will f_op->sendpage() work? That too needs page backing.
>
I'm not sure about f_op->sendpage(). I do not see it in ext4 so I assumed
it works through f_op->splice_read/write.
The way f_op->splice_XX works is through the read/write_iter system
and this one is fully supported with DAX. It will do an extra copy.
[You can see this patch in linux-next:
8b22559 dax: unify ext2/4_{dax,}_file_operations
that explains a bit about this issue
]
>>> - zero copy O_DIRECT into DAX areas.
>>
>> DAX is always O_DIRECT.
>>
>> What does not work is mmap of DAX file and use that pointer in an
>> O_DIRECT operation of another device. (unless it is a DAX device)
>
> That is what I meant: O_DIRECT into (or from) DAX mmap()-ed areas,
> from a different device.
>
Yes. For me the one missing the most is RDMA to/from pmem copy-less.
Is why I'm pushing for my page-struct patches. But so far people
rejected it. I hope to resend it soon, once the dust settles and see
if people might change their mind.
> I'm not promoting the use of these APIs, some of them are quirky, just
> wanted to list the known limitations. The pmem driver is already
> useful as-is.
>
> Thanks,
> Ingo
>
Thanks
Boaz
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists