> -----Original Message----- > From: linux-kernel-ow...@vger.kernel.org [mailto:linux-kernel- > ow...@vger.kernel.org] On Behalf Of Andreas Dilger > Sent: Monday, 15 September, 2014 4:34 PM > To: Milosz Tanski > Cc: linux-kernel@vger.kernel.org; Christoph Hellwig; linux- > fsde...@vger.kernel.org; linux-...@kvack.org; Mel Gorman; Volker Lendecke; > Tejun Heo; Jeff Moyer > Subject: Re: [RFC PATCH 0/7] Non-blockling buffered fs read (page cache only) > > On Sep 15, 2014, at 2:20 PM, Milosz Tanski <mil...@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 readv2/writev2 > > and preadv2/pwritev2. These new syscalls behave like the network sendmsg, > > recvmsg syscalls that accept an extra flag argument (O_NONBLOCK). > > It's too bad that we are introducing yet another new read/write > syscall pair that only allow IO into discontiguous memory regions, > but do not allow a single call to access discontiguous file regions > (i.e. specify a separate file offset for each iov). > > Adding syscalls similar to preadv/pwritev() that could take a iovec > that specified the file offset+length in addition to the memory address > would allow efficient scatter-gather IO in a single syscall. While > that is less critical for local filesystems with small syscall latency, > it is more important for network filesystems, or in the case of > NVRAM-backed filesystems. > > Cheers, Andreas
That sounds like the proposed WRITE SCATTERED/READ GATHERED commands for SCSI (where are related to, but not necessarily tied to, atomic writes). We discussed them a bit at LSF-MM 2013 - see http://lwn.net/Articles/548116/. --- Rob Elliott HP Server Storage -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/