Follow up for r6463

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6464 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Vladislav Bolkhovitin
2015-08-08 02:53:02 +00:00
parent 2a5c739567
commit 119a2d8356

View File

@@ -59,14 +59,17 @@
<p>In the user space native AIO is available for many years, but only very recently ability to
use it was added in the kernel. Changing FILEIO to use the new interface should significantly
(multiple times) increase performance of FILEIO devices.</p>
(up to multiple times) increase performance of FILEIO devices.</p>
<A NAME="O_DIRECT"></A><h3>Support for O_DIRECT in scst_vdisk handler</h3>
<p>At the moment, scst_vdisk handler doesn't support O_DIRECT option and possibility to set it
was disabled. This limitation caused by Linux kernel expectation that memory supplied to
read() and write() functions with O_DIRECT flag is mapped to some user space application.</p>
read() and write() functions with O_DIRECT flag is mapped to some user space application.
Having O_DIRECT together with above asynchronous FILEIO would be another significant
performance boost for modern solid state devices. For instance, in fio utility
direct AIO long ago proven to be the fastest way to benchmark storage.</p>
<p>It is relatively easy to remove that limitation. Function dio_refill_pages()
should be modified to check before calling get_user_pages() if current->mm is not NULL.
If it is NULL, then, instead of calling get_user_pages(), dio->pages should be filled