linux-cifs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add kernel AIO support for CIFS
@ 2017-02-10 23:17 Pavel Shilovsky
       [not found] ` <1486768678-36802-1-git-send-email-pshilov-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: Pavel Shilovsky @ 2017-02-10 23:17 UTC (permalink / raw)
  To: linux-cifs-u79uwXL29TY76Z2rM5mHXA

This patchset adds kernel AIO support for CIFS module. Currently the code
processes all read and write requests synchronously regardless of
existence of iocb->ki_complete() callback. It is not what kernel AIO
expects when a user submits i/o calls through io_submit() interface. That's
why new aio context was introduced: it allowed to process i/o responses
in a separate thread and return to the caller immediately if ki_complete()
is specified. For synchronous variants the code simply needs to wait in
the current thread until aio context processing is completed.

The work scope is divided into two parts for reading and writing. With
these patches applied i/o performance benefits from increasing of i/o
queue depth size (e.g. in FIO).

The checkpatch.pl script shows 2 warnings related to using of ENOSYS error
code but fixing this is out of scope of this patchset (we have plenty of
places that use ENOSYS for the same logic and they all should be fixed at
once).

Pavel Shilovsky (2):
  CIFS: Add asynchronous read support through kernel AIO
  CIFS: Add asynchronous write support through kernel AIO

 fs/cifs/cifsglob.h |  20 +++
 fs/cifs/file.c     | 462 ++++++++++++++++++++++++++++++++++++++++++-----------
 2 files changed, 392 insertions(+), 90 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-04-10 20:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-10 23:17 [PATCH 0/2] Add kernel AIO support for CIFS Pavel Shilovsky
     [not found] ` <1486768678-36802-1-git-send-email-pshilov-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
2017-02-10 23:17   ` [PATCH 1/2] CIFS: Add asynchronous read support through kernel AIO Pavel Shilovsky
     [not found]     ` <1486768678-36802-2-git-send-email-pshilov-0li6OtcxBFHby3iVrkZq2A@public.gmane.org>
2017-02-22 20:11       ` Jeff Layton
     [not found]         ` <1487794280.7731.8.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-02-23  0:53           ` Pavel Shilovsky
2017-03-25 15:12       ` Jeff Layton
     [not found]         ` <1490454724.2665.1.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-04-10 20:54           ` Pavel Shilovsky
2017-02-10 23:17   ` [PATCH 2/2] CIFS: Add asynchronous write " Pavel Shilovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).