Messages in this thread | | | Date | Thu, 25 Sep 2014 13:16:55 +0200 | From | Jan Kara <> | Subject | Re: [RFC v3 0/4] vfs: Non-blockling buffered fs read (page cache only) |
| |
On Thu 25-09-14 06:06:14, Michael Kerrisk wrote: > Hello Milosz, > > On Wed, Sep 24, 2014 at 11:46 PM, Milosz Tanski <milosz@adfin.com> wrote: > > This patcheset introduces an ability to perform a non-blocking read from > > regular files in buffered IO mode. This works by only for those filesystems > > that have data in the page cache. > > > > It does this by introducing new syscalls new syscalls preadv2/pwritev2. These > > new syscalls behave like the network sendmsg, recvmsg syscalls that accept an > > extra flag argument (RWF_NONBLOCK). > > > > It's a very common patern today (samba, libuv, etc..) use a large threadpool to > > perform buffered IO operations. They submit the work form another thread > > that performs network IO and epoll or other threads that perform CPU work. This > > leads to increased latency for processing, esp. in the case of data that's > > already cached in the page cache. > > > > With the new interface the applications will now be able to fetch the data in > > their network / cpu bound thread(s) and only defer to a threadpool if it's not > > there. In our own application (VLDB) we've observed a decrease in latency for > > "fast" request by avoiding unnecessary queuing and having to swap out current > > tasks in IO bound work threads. > > Since this is a change to the user-space API, could you CC future > versions of this patch set to linux-api@vgerr.kernel.org please, as There's typo in the address. It should be: linux-api@vger.kernel.org
Honza -- Jan Kara <jack@suse.cz> SUSE Labs, CR
| |