Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-09 Thread Krzysztof Kozlowski
On Mon, Jan 8, 2018 at 10:39 PM, Jeff Layton wrote: >> > > Got it, that's helpful. Does this patch help (on top of the others) ? > > 8<-- > > SQUASH: nfs: compare raw iversion counter since that's what's > being stored > Did

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-09 Thread Krzysztof Kozlowski
On Mon, Jan 8, 2018 at 10:39 PM, Jeff Layton wrote: >> > > Got it, that's helpful. Does this patch help (on top of the others) ? > > 8<-- > > SQUASH: nfs: compare raw iversion counter since that's what's > being stored > Did not apply cleanly (in

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 21:17 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > > On Mon, 2018-01-08 at 18:29

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 21:17 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > > On Mon, 2018-01-08 at 18:29

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > > > (...) > > > > > > > Ok,

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 02:15:29PM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > > > (...) > > > > > > > Ok,

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 14:15 -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > > > (...) > > > > > > > Ok, thanks. If

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 14:15 -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > > > (...) > > > > > > > Ok, thanks. If

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > (...) > > > > > Ok, thanks. If you're seeing hangs then that might imply that we have > > > > some

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 19:33 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > > (...) > > > > > Ok, thanks. If you're seeing hangs then that might imply that we have > > > > some

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: (...) > > > Ok, thanks. If you're seeing hangs then that might imply that we have > > > some sort of excessive looping going on in the cmpxchg loops. > > > > > > Could

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 01:00:19PM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: (...) > > > Ok, thanks. If you're seeing hangs then that might imply that we have > > > some sort of excessive looping going on in the cmpxchg loops. > > > > > > Could

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 08:29:24AM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > > > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > > > On Sun, 2018-01-07 at

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 18:29 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 08, 2018 at 08:29:24AM -0500, Jeff Layton wrote: > > On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > > > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > > > On Sun, 2018-01-07 at 13:44 +0100,

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 08:29:24AM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > > > > On Fri, Dec 22, 2017

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 08, 2018 at 08:29:24AM -0500, Jeff Layton wrote: > On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > > > > On Fri, Dec 22, 2017 at 1:05 PM, Jeff

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 05:30 -0800, Matthew Wilcox wrote: > On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote: > > + cur = inode_peek_iversion_raw(inode); > > + for (;;) { > > + /* If flag is clear then we needn't do anything */ > > + if (!force && !(cur &

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 05:30 -0800, Matthew Wilcox wrote: > On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote: > > + cur = inode_peek_iversion_raw(inode); > > + for (;;) { > > + /* If flag is clear then we needn't do anything */ > > + if (!force && !(cur &

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Matthew Wilcox
On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote: > + cur = inode_peek_iversion_raw(inode); > + for (;;) { > + /* If flag is clear then we needn't do anything */ > + if (!force && !(cur & I_VERSION_QUERIED)) > + return false; > +

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Matthew Wilcox
On Fri, Dec 22, 2017 at 07:05:56AM -0500, Jeff Layton wrote: > + cur = inode_peek_iversion_raw(inode); > + for (;;) { > + /* If flag is clear then we needn't do anything */ > + if (!force && !(cur & I_VERSION_QUERIED)) > + return false; > +

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > > > On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > > > > From:

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Mon, 2018-01-08 at 14:21 +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > > > On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > > > > From: Jeff Layton > > > > > > > > Since

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: >> On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: >> > From: Jeff Layton >> > >> > Since i_version is mostly

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Krzysztof Kozlowski
On Mon, Jan 8, 2018 at 1:56 PM, Jeff Layton wrote: > On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: >> On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: >> > From: Jeff Layton >> > >> > Since i_version is mostly treated as an opaque value, we can exploit that >> > fact to avoid

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > > From: Jeff Layton > > > > Since i_version is mostly treated as an opaque value, we can exploit that > > fact to avoid incrementing it

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-08 Thread Jeff Layton
On Sun, 2018-01-07 at 13:44 +0100, Krzysztof Kozlowski wrote: > On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > > From: Jeff Layton > > > > Since i_version is mostly treated as an opaque value, we can exploit that > > fact to avoid incrementing it when no one is watching. With that

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-07 Thread Krzysztof Kozlowski
On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > From: Jeff Layton > > Since i_version is mostly treated as an opaque value, we can exploit that > fact to avoid incrementing it when no one is watching. With that change, > we can avoid incrementing the

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-07 Thread Krzysztof Kozlowski
On Fri, Dec 22, 2017 at 1:05 PM, Jeff Layton wrote: > From: Jeff Layton > > Since i_version is mostly treated as an opaque value, we can exploit that > fact to avoid incrementing it when no one is watching. With that change, > we can avoid incrementing the counter on writes, unless someone has >

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-02 Thread Jan Kara
On Fri 22-12-17 07:05:56, Jeff Layton wrote: > From: Jeff Layton > > Since i_version is mostly treated as an opaque value, we can exploit that > fact to avoid incrementing it when no one is watching. With that change, > we can avoid incrementing the counter on writes, unless

Re: [PATCH v4 19/19] fs: handle inode->i_version more efficiently

2018-01-02 Thread Jan Kara
On Fri 22-12-17 07:05:56, Jeff Layton wrote: > From: Jeff Layton > > Since i_version is mostly treated as an opaque value, we can exploit that > fact to avoid incrementing it when no one is watching. With that change, > we can avoid incrementing the counter on writes, unless someone has >

[PATCH v4 19/19] fs: handle inode->i_version more efficiently

2017-12-22 Thread Jeff Layton
From: Jeff Layton Since i_version is mostly treated as an opaque value, we can exploit that fact to avoid incrementing it when no one is watching. With that change, we can avoid incrementing the counter on writes, unless someone has queried for it since it was last

[PATCH v4 19/19] fs: handle inode->i_version more efficiently

2017-12-22 Thread Jeff Layton
From: Jeff Layton Since i_version is mostly treated as an opaque value, we can exploit that fact to avoid incrementing it when no one is watching. With that change, we can avoid incrementing the counter on writes, unless someone has queried for it since it was last incremented. If the a/c/mtime