Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-04-05 Thread Milosz Tanski
and read(). eg, > +* SetPageReferenced(page) or mark_page_accessed(page) or > +* activate_page(page). > +*/ > + for (cur_off = offset; cur_off < end ; ) { > + struct page *page; > + loff_t end_of_coverage; > + > + page

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-04-05 Thread Milosz Tanski
= (cur_off + PAGE_CACHE_SIZE) PAGE_CACHE_MASK; + } + +out: + fdput(f); + return ret; +} _ -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
ut that won't work. > Per definition EWOULDBLOCK seams like a better fit. Like you said above it won't stop blocking unless you do something. I also did a search in the kernel source (excluding drivers / sound directories) use of EAGAIN (even in network code) is like 2 magnitudes bigger the

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
edium and large reads. Needs quantifying. > > And I don't believe that e) will be a problem in the real world. It's > a significant increase in worst-case latency and a negligible increase > in average latency. I've asked at least three times for someone to > explain why this is unac

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
th pwritev, in applications that don't want to block while logging (but it's okay to drop low level log messages). That's a whole different use case in my mind. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
On Mon, Mar 30, 2015 at 6:57 PM, Andrew Morton wrote: > On Mon, 30 Mar 2015 18:49:06 -0400 Milosz Tanski wrote: > >> > A fincore+pread solution that blocks is simply unsafe >> > to use for us. We'll have to stay with the threadpool :-(. >> >> We're getting

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
nse if we send it down the wire while we process other connections. It becomes even more useful over HTTP2 which provides it's own framing where we can send a partial response frame and move onto other requests in this connection or other connections. -- Milosz Tanski CTO 16 East 34th Stree

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
t; a significant increase in worst-case latency and a negligible increase >> in average latency. I've asked at least three times for someone to >> explain why this is unacceptable and no explanation has been provided. > > See above. -- Milosz Tanski CTO 16 East 34th Street,

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
t; At the LSF/MM session, the agreement form the active participants (James Bottomley, Ted Tso, Christoph, and I forget the last guy's name) that we should ship both syscalls in the first patch. Personally I don't care, but you're the only voice against it. -- Milosz Tanski CTO 16 East

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
d leave lots of free memory for the kernel especially for the page cache. For example the Google want to minimize malloc(). So in tcmalloc() they grab large chunks and rarely release it to back to the OS, in fact old version never shrank it. So you can entirely avoid stalls in malloc() for many work

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
level log messages). That's a whole different use case in my mind. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
asked at least three times for someone to explain why this is unacceptable and no explanation has been provided. See above. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
in the first patch. Personally I don't care, but you're the only voice against it. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
) will be a problem in the real world. It's a significant increase in worst-case latency and a negligible increase in average latency. I've asked at least three times for someone to explain why this is unacceptable and no explanation has been provided. -- Milosz Tanski CTO 16 East 34th Street, 15th floor

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
onto other requests in this connection or other connections. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
and rarely release it to back to the OS, in fact old version never shrank it. So you can entirely avoid stalls in malloc() for many workloads. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
On Mon, Mar 30, 2015 at 6:57 PM, Andrew Morton a...@linux-foundation.org wrote: On Mon, 30 Mar 2015 18:49:06 -0400 Milosz Tanski mil...@adfin.com wrote: A fincore+pread solution that blocks is simply unsafe to use for us. We'll have to stay with the threadpool :-(. We're getting data from

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-30 Thread Milosz Tanski
. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- 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

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
On Fri, Mar 27, 2015 at 12:30 PM, Andrew Morton wrote: > On Fri, 27 Mar 2015 08:58:54 -0700 Jeremy Allison wrote: > >> On Fri, Mar 27, 2015 at 02:01:59AM -0700, Andrew Morton wrote: >> > On Fri, 27 Mar 2015 01:48:33 -0700 Christoph Hellwig >> > wrote: >> > >> > > On Fri, Mar 27, 2015 at

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
EOF it'll return 0 instead of EWOULDBLOCK today. I actually test for this in the preadv2 test in xfstest here: https://github.com/mtanski/xfstests/commit/688db24c292999c81ee17caf2b61fe8cf7bb3cd6#diff-114416ea98ce29dde3b5b3d145afbd2bR81. There's one caveat, that it's possible to get EWOULDBLOCK w

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 11:28 PM, Andrew Morton wrote: > On Mon, 16 Mar 2015 14:27:10 -0400 Milosz Tanski wrote: > >> This patchset introduces two new syscalls preadv2 and pwritev2. They are the >> same syscalls as preadv and pwrite but with a flag argument. Additionally, >

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
reading at end of file if the file metadata is not paged in. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
On Fri, Mar 27, 2015 at 12:30 PM, Andrew Morton a...@linux-foundation.org wrote: On Fri, 27 Mar 2015 08:58:54 -0700 Jeremy Allison j...@samba.org wrote: On Fri, Mar 27, 2015 at 02:01:59AM -0700, Andrew Morton wrote: On Fri, 27 Mar 2015 01:48:33 -0700 Christoph Hellwig h...@infradead.org

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-27 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 11:28 PM, Andrew Morton a...@linux-foundation.org wrote: On Mon, 16 Mar 2015 14:27:10 -0400 Milosz Tanski mil...@adfin.com wrote: This patchset introduces two new syscalls preadv2 and pwritev2. They are the same syscalls as preadv and pwrite but with a flag argument

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-26 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 3:12 PM, Milosz Tanski wrote: > On Thu, Mar 26, 2015 at 7:55 AM, Christoph Hellwig wrote: >> >> On Mon, Mar 16, 2015 at 02:27:10PM -0400, Milosz Tanski wrote: >> > This patchset introduces two new syscalls preadv2 and pwritev2. They are >

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-26 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 7:55 AM, Christoph Hellwig wrote: > > On Mon, Mar 16, 2015 at 02:27:10PM -0400, Milosz Tanski wrote: > > This patchset introduces two new syscalls preadv2 and pwritev2. They are the > > same syscalls as preadv and pwrite but with a flag argument. Additio

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-26 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 3:12 PM, Milosz Tanski mil...@adfin.com wrote: On Thu, Mar 26, 2015 at 7:55 AM, Christoph Hellwig h...@infradead.org wrote: On Mon, Mar 16, 2015 at 02:27:10PM -0400, Milosz Tanski wrote: This patchset introduces two new syscalls preadv2 and pwritev2

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-26 Thread Milosz Tanski
On Thu, Mar 26, 2015 at 7:55 AM, Christoph Hellwig h...@infradead.org wrote: On Mon, Mar 16, 2015 at 02:27:10PM -0400, Milosz Tanski wrote: This patchset introduces two new syscalls preadv2 and pwritev2. They are the same syscalls as preadv and pwrite but with a flag argument. Additionally

Re: [PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
On Mon, Mar 16, 2015 at 6:02 PM, Dave Chinner wrote: > On Mon, Mar 16, 2015 at 02:34:22PM -0400, Milosz Tanski wrote: >> preadv2 is a new syscall introduced that is like preadv2 but with flag >> argument. The first use case of this is to let us add a flag to perform a >> no

Re: [PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
On Mon, Mar 16, 2015 at 5:07 PM, Andreas Dilger wrote: > >> On Mar 16, 2015, at 12:34 PM, Milosz Tanski wrote: >> >> preadv2 is a new syscall introduced that is like preadv2 but with flag > > Sorry, "preadv2 ... is like preadv2"? I already have a

[PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
2 + +#endif /* HAVE_PREADV2 */ +#endif /* PREADV2_PWRITEV2_H */ diff --git a/src/preadv2.c b/src/preadv2.c new file mode 100644 index 000..a4f89b5 --- /dev/null +++ b/src/preadv2.c @@ -0,0 +1,150 @@ +/* + * Copyright 2014 Red Hat, Inc. All rights reserved. + * Copyright 2015 Milosz Tanski + * + * Licens

[PATCH v7 2/5] vfs: Define new syscalls preadv2,pwritev2

2015-03-16 Thread Milosz Tanski
New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- fs/read_write.c | 172 ++ include/linux/compat.h| 6 ++ include/linux

[PATCH] Add preadv2/pwritev2 documentation.

2015-03-16 Thread Milosz Tanski
New syscalls that are a variation on the preadv/pwritev but support an extra flag argument. Signed-off-by: Milosz Tanski Suggested-by: Jeff Moyer Fixes: Jeff Moyer --- man2/readv.2 | 71 +++- 1 file changed, 61 insertions(+), 10

[PATCH v7 4/5] vfs: RWF_NONBLOCK flag for preadv2

2015-03-16 Thread Milosz Tanski
this code. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer Acked-by: Sage Weil --- fs/ceph/file.c | 2 ++ fs/cifs/file.c | 6 ++ fs/nfs/file.c | 5 - fs/ocfs2/file.c| 6 ++ fs/pipe.c | 3 ++- fs/read_write.c| 44

[PATCH v7 1/5] vfs: Prepare for adding a new preadv/pwritev with user flags.

2015-03-16 Thread Milosz Tanski
Plumbing the flags argument through the vfs code so they can be passed down to __generic_file_(read/write)_iter function that do the acctual work. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer --- drivers/target/target_core_file.c | 6 +++--- fs/nfsd

[PATCH v7 5/5] xfs: add RWF_NONBLOCK support

2015-03-16 Thread Milosz Tanski
From: Christoph Hellwig Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_file.c | 32 +++- 1 file changed, 27 insertions(+), 5

[PATCH v7 3/5] x86: wire up preadv2 and pwritev2

2015-03-16 Thread Milosz Tanski
Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- arch/x86/syscalls/syscall_32.tbl | 2 ++ arch/x86/syscalls/syscall_64.tbl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl index b3560ec..b37aa9c 100644

[PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-16 Thread Milosz Tanski
ess, per. Jeff Moyer - Resolved duplicate (c) code in syscall code, per. Jeff - Included perf data in thread cover letter, per. Jeff - Created a new flag (not O_NONBLOCK) for readv2, perf Jeff I have co-developed these changes with Christoph Hellwig. Christoph Hellwig (1): xfs: add RWF

Re: [PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
On Mon, Mar 16, 2015 at 6:02 PM, Dave Chinner da...@fromorbit.com wrote: On Mon, Mar 16, 2015 at 02:34:22PM -0400, Milosz Tanski wrote: preadv2 is a new syscall introduced that is like preadv2 but with flag argument. The first use case of this is to let us add a flag to perform a non-blocking

Re: [PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
On Mon, Mar 16, 2015 at 5:07 PM, Andreas Dilger adil...@dilger.ca wrote: On Mar 16, 2015, at 12:34 PM, Milosz Tanski mil...@adfin.com wrote: preadv2 is a new syscall introduced that is like preadv2 but with flag Sorry, preadv2 ... is like preadv2? I already have a fix for in my branch

[PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2015-03-16 Thread Milosz Tanski
, per. Jeff - Included perf data in thread cover letter, per. Jeff - Created a new flag (not O_NONBLOCK) for readv2, perf Jeff I have co-developed these changes with Christoph Hellwig. Christoph Hellwig (1): xfs: add RWF_NONBLOCK support Milosz Tanski (4): vfs: Prepare for adding a new

[PATCH v7 3/5] x86: wire up preadv2 and pwritev2

2015-03-16 Thread Milosz Tanski
Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de --- arch/x86/syscalls/syscall_32.tbl | 2 ++ arch/x86/syscalls/syscall_64.tbl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl index

[PATCH] Add preadv2/pwritev2 documentation.

2015-03-16 Thread Milosz Tanski
New syscalls that are a variation on the preadv/pwritev but support an extra flag argument. Signed-off-by: Milosz Tanski mil...@adfin.com Suggested-by: Jeff Moyer jmo...@redhat.com Fixes: Jeff Moyer jmo...@redhat.com --- man2/readv.2 | 71

[PATCH v7 2/5] vfs: Define new syscalls preadv2,pwritev2

2015-03-16 Thread Milosz Tanski
New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de --- fs/read_write.c | 172 ++ include/linux/compat.h

[PATCH v7 4/5] vfs: RWF_NONBLOCK flag for preadv2

2015-03-16 Thread Milosz Tanski
this code. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de Reviewed-by: Jeff Moyer jmo...@redhat.com Acked-by: Sage Weil s...@redhat.com --- fs/ceph/file.c | 2 ++ fs/cifs/file.c | 6 ++ fs/nfs/file.c | 5 - fs/ocfs2/file.c| 6

[PATCH] fstests: generic test for preadv2 behavior on linux

2015-03-16 Thread Milosz Tanski
/* PREADV2_PWRITEV2_H */ diff --git a/src/preadv2.c b/src/preadv2.c new file mode 100644 index 000..a4f89b5 --- /dev/null +++ b/src/preadv2.c @@ -0,0 +1,150 @@ +/* + * Copyright 2014 Red Hat, Inc. All rights reserved. + * Copyright 2015 Milosz Tanski + * + * License: GPLv2 + * + */ +#include stdio.h

[PATCH v7 5/5] xfs: add RWF_NONBLOCK support

2015-03-16 Thread Milosz Tanski
From: Christoph Hellwig h...@lst.de Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig h...@lst.de --- fs/xfs/xfs_file.c | 32 +++- 1 file

[PATCH v7 1/5] vfs: Prepare for adding a new preadv/pwritev with user flags.

2015-03-16 Thread Milosz Tanski
Plumbing the flags argument through the vfs code so they can be passed down to __generic_file_(read/write)_iter function that do the acctual work. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de Reviewed-by: Jeff Moyer jmo...@redhat.com --- drivers/target

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2015-01-21 Thread Milosz Tanski
== n) { + state->ret = nread; + tevent_req_done(req); + return tevent_req_post(req, ev); + } + SMBPROFILE_BYTES_ASYNC_START(syscall_asys_pread, profile_p, state->profile_bytes, n); ret = asys_pread(state->asys_ctx, fsp->f

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2015-01-21 Thread Milosz Tanski
(syscall_asys_pread, profile_p, state-profile_bytes, n); ret = asys_pread(state-asys_ctx, fsp-fh-fd, data, n, offset, req); -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from

Re: [PATCH v12 00/20] DAX: Page cache bypass for filesystems on memory storage

2015-01-08 Thread Milosz Tanski
ed up preadv2 support into samba and I hopefully have some numbers from it soon. Finally, I'm putting together a test case for the typical webapp middle-tier service (epoll + threadpool for diskio). Haven't stopped, just progressing on that slower due to external factors. P.S: Sorry for re-send. On the road a

Re: [PATCH v12 00/20] DAX: Page cache bypass for filesystems on memory storage

2015-01-08 Thread Milosz Tanski
: Sorry for re-send. On the road and was using gmail to respond with... it randomly forgets plain-text only settings. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e: mil...@adfin.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-12-03 Thread Milosz Tanski
On Tue, Dec 2, 2014 at 5:42 PM, Andrew Morton wrote: > > On Tue, 2 Dec 2014 17:17:42 -0500 Milosz Tanski wrote: > > > > There have been several incomplete attempts to implement fincore(). If > > > we were to complete those attempts, preadv2() could be implemented

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-12-03 Thread Milosz Tanski
On Tue, Dec 2, 2014 at 5:42 PM, Andrew Morton a...@linux-foundation.org wrote: On Tue, 2 Dec 2014 17:17:42 -0500 Milosz Tanski mil...@adfin.com wrote: There have been several incomplete attempts to implement fincore(). If we were to complete those attempts, preadv2() could be implemented

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-12-02 Thread Milosz Tanski
On Tue, Nov 25, 2014 at 6:01 PM, Andrew Morton wrote: > > On Mon, 10 Nov 2014 11:40:23 -0500 Milosz Tanski 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 filesyste

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-12-02 Thread Milosz Tanski
On Tue, Nov 25, 2014 at 6:01 PM, Andrew Morton a...@linux-foundation.org wrote: On Mon, 10 Nov 2014 11:40:23 -0500 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

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-14 Thread Milosz Tanski
tree. This is 3.19 stuff I presume ? >> istr akpm picked up execveat recently, so if that goes in first, we'll >> need to respin this anyway.. > > Sure. I just wanted to test with trinity *before* it makes it into the > kernel. Crazy, I know. ;-) I am happy to help out to make s

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-14 Thread Milosz Tanski
te a test using the framework, the documentation (README) seams very XFS specific and otherwise the test seam to be be split between many different files / directories / C code / shell code. I might be me being slow... but it's just not obvious for me how to glue the whole thing together. -- Milosz

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-14 Thread Milosz Tanski
and otherwise the test seam to be be split between many different files / directories / C code / shell code. I might be me being slow... but it's just not obvious for me how to glue the whole thing together. -- Milosz Tanski CTO 16 East 34th Street, 15th floor New York, NY 10016 p: 646-253-9055 e

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-14 Thread Milosz Tanski
.. Sure. I just wanted to test with trinity *before* it makes it into the kernel. Crazy, I know. ;-) I am happy to help out to make sure it's solid... although deep down inside I secretly wish that now wasn't the time we decided to start doing it :) Cheers, Jeff -- Milosz Tanski CTO 16

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-11 Thread Milosz Tanski
On Tue, Nov 11, 2014 at 1:44 AM, Dave Chinner wrote: > On Mon, Nov 10, 2014 at 11:40:23AM -0500, Milosz Tanski 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 &g

Re: [PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-11 Thread Milosz Tanski
On Tue, Nov 11, 2014 at 1:44 AM, Dave Chinner da...@fromorbit.com wrote: On Mon, Nov 10, 2014 at 11:40:23AM -0500, Milosz Tanski 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

[PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-10 Thread Milosz Tanski
benchmarks and I have no observed any perf regressions in any of the normal (old) code paths. I have co-developed these changes with Christoph Hellwig. Christoph Hellwig (3): xfs: add RWF_NONBLOCK support fs: pass iocb to generic_write_sync fs: add a flag for per-operation O_DSYNC semant

[PATCH v6 3/7] x86: wire up preadv2 and pwritev2

2014-11-10 Thread Milosz Tanski
Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- arch/x86/syscalls/syscall_32.tbl | 2 ++ arch/x86/syscalls/syscall_64.tbl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl index 9fe1b5d..d592d87 100644

[PATCH v6 5/7] xfs: add RWF_NONBLOCK support

2014-11-10 Thread Milosz Tanski
From: Christoph Hellwig Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_file.c | 32 +++- 1 file changed, 27 insertions(+), 5

[PATCH v6 4/7] vfs: RWF_NONBLOCK flag for preadv2

2014-11-10 Thread Milosz Tanski
this code. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer Acked-by: Sage Weil --- fs/ceph/file.c | 2 ++ fs/cifs/file.c | 6 ++ fs/nfs/file.c | 5 - fs/ocfs2/file.c| 6 ++ fs/pipe.c | 3 ++- fs/read_write.c| 44

[PATCH v6 6/7] fs: pass iocb to generic_write_sync

2014-11-10 Thread Milosz Tanski
of fallocate. It has been switched to use an open coded variant instead. Signed-off-by: Christoph Hellwig [Small change in generic_write_sync() suggested by Anton Altaparmakov] Signed-off-by: Milosz Tanski Acked-by: Steven Whitehouse Acked-by: Anton Altaparmakov Reviewed-by: Jan Kara

[PATCH v6 2/7] vfs: Define new syscalls preadv2,pwritev2

2014-11-10 Thread Milosz Tanski
New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- fs/read_write.c | 172 ++ include/linux/compat.h| 6 ++ include/linux

[PATCH v6 7/7] fs: add a flag for per-operation O_DSYNC semantics

2014-11-10 Thread Milosz Tanski
return 0; } EOF Signed-off-by: Christoph Hellwig [mil...@adfin.com: comapt syscall changes for RWF_ODSYNC] Signed-off-by: Milosz Tanski Reviewed-by: Jeff Moyer Acked-by: Sage Weil --- fs/ceph/file.c | 4 +++- fs/fuse/file.c | 2 ++ fs/nfs/file.c | 10 ++

[PATCH v6 1/7] vfs: Prepare for adding a new preadv/pwritev with user flags.

2014-11-10 Thread Milosz Tanski
Plumbing the flags argument through the vfs code so they can be passed down to __generic_file_(read/write)_iter function that do the acctual work. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer --- drivers/target/target_core_file.c | 6 +++--- fs/nfsd

[PATCH v6 7/7] fs: add a flag for per-operation O_DSYNC semantics

2014-11-10 Thread Milosz Tanski
...@lst.de [mil...@adfin.com: comapt syscall changes for RWF_ODSYNC] Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Jeff Moyer jmo...@redhat.com Acked-by: Sage Weil s...@redhat.com --- fs/ceph/file.c | 4 +++- fs/fuse/file.c | 2 ++ fs/nfs/file.c | 10 ++ fs/ocfs2

[PATCH v6 1/7] vfs: Prepare for adding a new preadv/pwritev with user flags.

2014-11-10 Thread Milosz Tanski
Plumbing the flags argument through the vfs code so they can be passed down to __generic_file_(read/write)_iter function that do the acctual work. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de Reviewed-by: Jeff Moyer jmo...@redhat.com --- drivers/target

[PATCH v6 2/7] vfs: Define new syscalls preadv2,pwritev2

2014-11-10 Thread Milosz Tanski
New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de --- fs/read_write.c | 172 ++ include/linux/compat.h

[PATCH v6 6/7] fs: pass iocb to generic_write_sync

2014-11-10 Thread Milosz Tanski
version of fallocate. It has been switched to use an open coded variant instead. Signed-off-by: Christoph Hellwig h...@lst.de [Small change in generic_write_sync() suggested by Anton Altaparmakov] Signed-off-by: Milosz Tanski mil...@adfin.com Acked-by: Steven Whitehouse swhit...@redhat.com

[PATCH v6 4/7] vfs: RWF_NONBLOCK flag for preadv2

2014-11-10 Thread Milosz Tanski
this code. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de Reviewed-by: Jeff Moyer jmo...@redhat.com Acked-by: Sage Weil s...@redhat.com --- fs/ceph/file.c | 2 ++ fs/cifs/file.c | 6 ++ fs/nfs/file.c | 5 - fs/ocfs2/file.c| 6

[PATCH v6 5/7] xfs: add RWF_NONBLOCK support

2014-11-10 Thread Milosz Tanski
From: Christoph Hellwig h...@lst.de Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig h...@lst.de --- fs/xfs/xfs_file.c | 32 +++- 1 file

[PATCH v6 3/7] x86: wire up preadv2 and pwritev2

2014-11-10 Thread Milosz Tanski
Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de --- arch/x86/syscalls/syscall_32.tbl | 2 ++ arch/x86/syscalls/syscall_64.tbl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl index

[PATCH v6 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-10 Thread Milosz Tanski
(old) code paths. I have co-developed these changes with Christoph Hellwig. Christoph Hellwig (3): xfs: add RWF_NONBLOCK support fs: pass iocb to generic_write_sync fs: add a flag for per-operation O_DSYNC semantics Milosz Tanski (4): vfs: Prepare for adding a new preadv/pwritev with user

Re: [fuse-devel] [PATCH v5 7/7] add a flag for per-operation O_DSYNC semantics

2014-11-07 Thread Milosz Tanski
ple of nanoseconds. > > Actually I'd probably write: > >if (type == READ && (flags & RWF_NONBLOCK)) > return -EAGAIN; > >if (type == WRITE && (flags & RWF_DSYNC)) > return -EINVAL; > > (no 'else

Re: [PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

2014-11-07 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 6:25 PM, Jeff Moyer wrote: > Milosz Tanski writes: > >> New syscalls that take an flag argument. This change does not add any >> specific >> flags. >> >> Signed-off-by: Milosz Tanski >> Reviewed-by: Christoph Hellwig >>

Re: [PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

2014-11-07 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 6:25 PM, Jeff Moyer jmo...@redhat.com wrote: Milosz Tanski mil...@adfin.com writes: New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski mil...@adfin.com Reviewed-by: Christoph Hellwig h...@lst.de

Re: [fuse-devel] [PATCH v5 7/7] add a flag for per-operation O_DSYNC semantics

2014-11-07 Thread Milosz Tanski
== WRITE (flags RWF_DSYNC)) return -EINVAL; (no 'else' since the code will never be reached if the first test is true). -- Roger Willcocks ro...@filmlight.ltd.uk This is what I changed it to (and will be sending that out for the next version). -- Milosz Tanski CTO 16 East 34th

Re: [PATCH v5 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-06 Thread Milosz Tanski
The pull request for these changes is at: https://bitbucket.org/adfin/linux-fs.git read_call_6 I've updated it so far with various Ack-by from different maintainers (and a small stylistic fix). On Wed, Nov 5, 2014 at 4:14 PM, Milosz Tanski wrote: > This patcheset introduces an abil

Re: [Linux-NTFS-Dev] [PATCH v5 6/7] fs: pass iocb to generic_write_sync

2014-11-06 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 5:52 AM, Anton Altaparmakov wrote: > Hi, > >> On 5 Nov 2014, at 23:14, Milosz Tanski wrote: >> >> From: Christoph Hellwig >> >> Clean up the generic_write_sync by just passing an iocb and a bytes >> written / negative e

Re: [PATCH v5 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-06 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 2:56 AM, Christoph Hellwig wrote: > This series looks good, do you also have a man page sniplet to document > the new syscalls? > I just send out the two patches for the man pages, ran out of time yesterday to update it for RWF_ODSYNC. -- Milosz Tanski CTO 16

[PATCH v2 2/2] RWF_ODSYNC flag for pwritev2

2014-11-06 Thread Milosz Tanski
Document RWF_ODSYNC flag for pwritev2 as implemented by Christoph Hellwig. Signed-off-by: Milosz Tanski --- man2/readv.2 | 10 ++ 1 file changed, 10 insertions(+) diff --git a/man2/readv.2 b/man2/readv.2 index 31b3870..ff1405c 100644 --- a/man2/readv.2 +++ b/man2/readv.2 @@ -203,6

[PATCH v2 1/2] Add preadv2/pwritev2 documentation.

2014-11-06 Thread Milosz Tanski
New syscalls that are a variation on the preadv/pwritev but support an extra flag argument. Signed-off-by: Milosz Tanski Suggested-by: Jeff Moyer Fixes: Jeff Moyer --- man2/readv.2 | 71 +++- 1 file changed, 61 insertions(+), 10

[PATCH v2 1/2] Add preadv2/pwritev2 documentation.

2014-11-06 Thread Milosz Tanski
New syscalls that are a variation on the preadv/pwritev but support an extra flag argument. Signed-off-by: Milosz Tanski mil...@adfin.com Suggested-by: Jeff Moyer jmo...@redhat.com Fixes: Jeff Moyer jmo...@redhat.com --- man2/readv.2 | 71

[PATCH v2 2/2] RWF_ODSYNC flag for pwritev2

2014-11-06 Thread Milosz Tanski
Document RWF_ODSYNC flag for pwritev2 as implemented by Christoph Hellwig. Signed-off-by: Milosz Tanski mil...@adfin.com --- man2/readv.2 | 10 ++ 1 file changed, 10 insertions(+) diff --git a/man2/readv.2 b/man2/readv.2 index 31b3870..ff1405c 100644 --- a/man2/readv.2 +++ b/man2/readv

Re: [PATCH v5 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-06 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 2:56 AM, Christoph Hellwig h...@infradead.org wrote: This series looks good, do you also have a man page sniplet to document the new syscalls? I just send out the two patches for the man pages, ran out of time yesterday to update it for RWF_ODSYNC. -- Milosz Tanski CTO

Re: [Linux-NTFS-Dev] [PATCH v5 6/7] fs: pass iocb to generic_write_sync

2014-11-06 Thread Milosz Tanski
On Thu, Nov 6, 2014 at 5:52 AM, Anton Altaparmakov ai...@cam.ac.uk wrote: Hi, On 5 Nov 2014, at 23:14, Milosz Tanski mil...@adfin.com wrote: From: Christoph Hellwig h...@lst.de Clean up the generic_write_sync by just passing an iocb and a bytes written / negative errno argument

Re: [PATCH v5 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-06 Thread Milosz Tanski
The pull request for these changes is at: https://bitbucket.org/adfin/linux-fs.git read_call_6 I've updated it so far with various Ack-by from different maintainers (and a small stylistic fix). On Wed, Nov 5, 2014 at 4:14 PM, Milosz Tanski mil...@adfin.com wrote: This patcheset introduces

[PATCH v5 1/7] vfs: Prepare for adding a new preadv/pwritev with user flags.

2014-11-05 Thread Milosz Tanski
Plumbing the flags argument through the vfs code so they can be passed down to __generic_file_(read/write)_iter function that do the acctual work. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer --- drivers/target/target_core_file.c | 6 +++--- fs/nfsd

[PATCH v5 5/7] xfs: add RWF_NONBLOCK support

2014-11-05 Thread Milosz Tanski
From: Christoph Hellwig Add support for non-blocking reads. The guts are handled by the generic code, the only addition is a non-blocking variant of xfs_rw_ilock. Signed-off-by: Christoph Hellwig --- fs/xfs/xfs_file.c | 32 +++- 1 file changed, 27 insertions(+), 5

[PATCH v5 4/7] vfs: RWF_NONBLOCK flag for preadv2

2014-11-05 Thread Milosz Tanski
this code. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig Reviewed-by: Jeff Moyer --- fs/ceph/file.c | 2 ++ fs/cifs/file.c | 6 ++ fs/nfs/file.c | 5 - fs/ocfs2/file.c| 6 ++ fs/pipe.c | 3 ++- fs/read_write.c| 38

[PATCH v5 3/7] x86: wire up preadv2 and pwritev2

2014-11-05 Thread Milosz Tanski
Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- arch/x86/syscalls/syscall_32.tbl | 2 ++ arch/x86/syscalls/syscall_64.tbl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl index 9fe1b5d..d592d87 100644

[PATCH v5 7/7] fs: add a flag for per-operation O_DSYNC semantics

2014-11-05 Thread Milosz Tanski
return 0; } EOF Signed-off-by: Christoph Hellwig [mil...@adfin.com: added flag check to compat_do_readv_writev()] Signed-off-by: Milosz Tanski --- fs/ceph/file.c | 4 +++- fs/fuse/file.c | 2 ++ fs/nfs/file.c | 10 ++ fs/ocfs2/file.c| 6 -- fs/read_writ

[PATCH v5 2/7] vfs: Define new syscalls preadv2,pwritev2

2014-11-05 Thread Milosz Tanski
New syscalls that take an flag argument. This change does not add any specific flags. Signed-off-by: Milosz Tanski Reviewed-by: Christoph Hellwig --- fs/read_write.c | 176 ++ include/linux/compat.h| 6 ++ include/linux

[PATCH v5 6/7] fs: pass iocb to generic_write_sync

2014-11-05 Thread Milosz Tanski
From: Christoph Hellwig Clean up the generic_write_sync by just passing an iocb and a bytes written / negative errno argument. In addition to simplifying the callers this also prepares for passing a per-operation O_DSYNC flag. Two callers didn't quite fit that scheme: - dio_complete didn't

[PATCH v5 0/7] vfs: Non-blockling buffered fs read (page cache only)

2014-11-05 Thread Milosz Tanski
ths. I have co-developed these changes with Christoph Hellwig. Christoph Hellwig (3): xfs: add RWF_NONBLOCK support fs: pass iocb to generic_write_sync fs: add a flag for per-operation O_DSYNC semantics Milosz Tanski (4): vfs: Prepare for adding a new preadv/pwritev with user flags. vf

  1   2   3   4   >