Re: [PATCH rdma-next 00/10] Enable relaxed ordering for ULPs

2021-04-09 Thread Chuck Lever III
> On Apr 9, 2021, at 10:26 AM, Tom Talpey wrote: > > On 4/6/2021 7:49 AM, Jason Gunthorpe wrote: >> On Mon, Apr 05, 2021 at 11:42:31PM +0000, Chuck Lever III wrote: >> >>> We need to get a better idea what correctness testing has been done, >>> a

Re: [PATCH] sunrpc: Remove unused function ip_map_lookup

2021-04-06 Thread Chuck Lever III
ap_update(struct cache_detail *cd, struct ip_map *ipm, > struct unix_domain *udom, time64_t expiry) > { > -- > 1.8.3.1 > -- Chuck Lever

Re: [PATCH rdma-next 00/10] Enable relaxed ordering for ULPs

2021-04-05 Thread Chuck Lever III
correctness testing has been done, and whether positive correctness testing results can be replicated on a variety of platforms. I have an old Haswell dual-socket system in my lab, but otherwise I'm not sure I have a platform that would be interesting for such a test. > AMD dual socket systems are well known to benefit from relaxed > ordering, people have been doing this in userspace for a while now > with the opt in. -- Chuck Lever

Re: [PATCH 2/2] SUNRPC: Refresh rq_pages using a bulk page allocator

2021-03-23 Thread Chuck Lever III
> On Mar 23, 2021, at 3:56 PM, Mel Gorman wrote: > > On Tue, Mar 23, 2021 at 11:10:05AM -0400, Chuck Lever wrote: >> Reduce the rate at which nfsd threads hammer on the page allocator. >> This improves throughput scalability by enabling the threads to run >> more

Re: [PATCH 0/3 v5] Introduce a bulk order-0 page allocator

2021-03-23 Thread Chuck Lever III
@@ int __alloc_pages_bulk(gfp_t gfp, int preferred_nid, > > local_irq_restore(flags); > > - /* Prep pages with IRQs enabled. */ > - if (page_list) { > - list_for_each_entry(page, page_list, lru) > - prep_new_page(page, 0, gfp, 0); > - } else { > - while (prep_index < nr_populated) > - prep_new_page(page_array[prep_index++], 0, gfp, 0); > - > - /* > - * If the array is sparse, check whether the array is > - * now fully populated. Continue allocations if > - * necessary. > - */ > - while (nr_populated < nr_pages && page_array[nr_populated]) > - nr_populated++; > - if (hole && nr_populated < nr_pages) > - goto retry_hole; > - } > - > return nr_populated; > > failed_irq: > > -- > Mel Gorman > SUSE Labs -- Chuck Lever

[PATCH 1/2] SUNRPC: Set rq_page_end differently

2021-03-23 Thread Chuck Lever
sd_splice_actor() by commit cf8208d0eabd ("sendfile: convert nfsd to splice_direct_to_actor()"). Signed-off-by: Chuck Lever --- net/sunrpc/svc_xprt.c |7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 3cdd71a8

[PATCH 2/2] SUNRPC: Refresh rq_pages using a bulk page allocator

2021-03-23 Thread Chuck Lever
Reduce the rate at which nfsd threads hammer on the page allocator. This improves throughput scalability by enabling the threads to run more independently of each other. Signed-off-by: Chuck Lever --- net/sunrpc/svc_xprt.c | 33 + 1 file changed, 17 insertions

[PATCH 0/2] SUNRPC consumer for the bulk page allocator

2021-03-23 Thread Chuck Lever
t superior to the list-based API. --- Chuck Lever (2): SUNRPC: Set rq_page_end differently SUNRPC: Refresh rq_pages using a bulk page allocator net/sunrpc/svc_xprt.c | 33 + 1 file changed, 17 insertions(+), 16 deletions(-) -- Chuck Lever

Re: [PATCH 0/3 v5] Introduce a bulk order-0 page allocator

2021-03-22 Thread Chuck Lever III
> On Mar 22, 2021, at 3:49 PM, Mel Gorman wrote: > > On Mon, Mar 22, 2021 at 06:25:03PM +0000, Chuck Lever III wrote: >> >> >>> On Mar 22, 2021, at 5:18 AM, Mel Gorman wrote: >>> >>> This series is based on top of Matthew Wilcox's se

Re: [PATCH 0/3 v5] Introduce a bulk order-0 page allocator

2021-03-22 Thread Chuck Lever III
rformance gains/losses in the changelogs. > > Patch 1 renames a variable name that is particularly unpopular > > Patch 2 adds a bulk page allocator > > Patch 3 adds an array-based version of the bulk allocator > > include/linux/gfp.h | 18 + > mm/page_alloc.c | 171 ++-- > 2 files changed, 185 insertions(+), 4 deletions(-) > > -- > 2.26.2 > -- Chuck Lever

Re: [PATCH] SUNRPC: Output oversized frag reclen as ASCII if printable

2021-03-22 Thread Chuck Lever III
> On Mar 19, 2021, at 6:08 PM, J. Bruce Fields wrote: > > On Fri, Mar 19, 2021 at 02:58:14PM +0000, Chuck Lever III wrote: >> Hi Chris- >> >>> On Mar 19, 2021, at 10:54 AM, Chris Down wrote: >>> >>> The reclen is taken directly from the firs

Re: [PATCH] SUNRPC: Output oversized frag reclen as ASCII if printable

2021-03-19 Thread Chuck Lever III
, it > seems reasonable to put this here since this particular code path is the > one that has repeatedly come up in production. > > Signed-off-by: Chris Down > Cc: Chuck Lever > Cc: J. Bruce Fields > Cc: Trond Myklebust > Cc: David S. Miller > --- > net/sunrpc/svc

Re: [PATCH 2/5] mm/page_alloc: Add a bulk page allocator

2021-03-14 Thread Chuck Lever III
> On Mar 14, 2021, at 8:52 AM, Mel Gorman wrote: > > On Sat, Mar 13, 2021 at 07:33:43PM +, Matthew Wilcox wrote: >> On Sat, Mar 13, 2021 at 04:56:31PM +0000, Chuck Lever III wrote: >>> IME lists are indeed less CPU-efficient, but I wonder if that >>> exp

Re: [PATCH 2/5] mm/page_alloc: Add a bulk page allocator

2021-03-13 Thread Chuck Lever III
We have, for instance, release_pages(), which is an array-centric page allocator API. Maybe a helper function or two might prevent duplication of the list conversion logic. And I agree with Mel that passing a single large array seems more useful then having to build code at each consumer call-site to iterate over smaller page_vecs until that array is filled. -- Chuck Lever

[PATCH] SUNRPC: Refresh rq_pages using a bulk page allocator

2021-03-12 Thread Chuck Lever
Reduce the rate at which nfsd threads hammer on the page allocator. This improves throughput scalability by enabling the threads to run more independently of each other. Signed-off-by: Chuck Lever --- Hi Mel- This patch replaces patch 5/7 in v4 of your alloc_pages_bulk() series. It implements

Re: [PATCH 5/7] SUNRPC: Refresh rq_pages using a bulk page allocator

2021-03-12 Thread Chuck Lever III
an > wrote: >> >> From: Chuck Lever >> >> Reduce the rate at which nfsd threads hammer on the page allocator. >> This improves throughput scalability by enabling the threads to run >> more independently of each other. >> >> Signed-off-by: Chuck Lever

Re: [PATCH 3/5] SUNRPC: Refresh rq_pages using a bulk page allocator

2021-03-11 Thread Chuck Lever III
> On Mar 11, 2021, at 6:49 AM, Mel Gorman wrote: > > From: Chuck Lever > > Reduce the rate at which nfsd threads hammer on the page allocator. > This improve throughput scalability by enabling the threads to run > more independently of each other. Mel, if you shou

Re: possible deadlock in ipv6_sock_mc_close

2021-03-01 Thread Chuck Lever
ller.appspot.com/x/repro.c?x=12e9e0dad0 > > The issue was bisected to: > > commit c8e88e3aa73889421461f878cd569ef84f231ceb > Author: Chuck Lever > Date: Tue Nov 3 20:06:04 2020 + > >NFSD: Replace READ* macros in nfsd4_decode_layoutget() > > bisect

Re: [RFC PATCH 0/3] Introduce a bulk order-0 page allocator for sunrpc

2021-02-24 Thread Chuck Lever
gets delegated to > the normal allocator. The same criteria should apply to any other users. > > include/linux/gfp.h | 13 + > mm/page_alloc.c | 113 +- > net/sunrpc/svc_xprt.c | 47 ++++-- > 3 files changed, 157 insertions(+), 16 deletions(-) Hi Mel- Thank you for carrying the torch! -- Chuck Lever

Re: [PATCH AUTOSEL 5.10 03/45] SUNRPC: Handle TCP socket sends with kernel_sendpage() again

2021-02-08 Thread Chuck Lever
> On Feb 8, 2021, at 3:12 PM, Trond Myklebust wrote: > > On Mon, 2021-02-08 at 19:48 +0000, Chuck Lever wrote: >> >> >>> On Feb 8, 2021, at 2:34 PM, Trond Myklebust < >>> tron...@hammerspace.com> wrote: >>> >>> On Tue, 2021-

Re: [PATCH AUTOSEL 5.10 03/45] SUNRPC: Handle TCP socket sends with kernel_sendpage() again

2021-02-08 Thread Chuck Lever
> On Feb 8, 2021, at 2:34 PM, Trond Myklebust wrote: > > On Tue, 2021-01-19 at 20:25 -0500, Sasha Levin wrote: >> From: Chuck Lever >> >> [ Upstream commit 4a85a6a3320b4a622315d2e0ea91a1d2b013bce4 ] >> >> Daire Byrne reports a ~50% aggregrate th

Re: Why the auxiliary cipher in gss_krb5_crypto.c?

2020-12-04 Thread Chuck Lever
that did that, and I don't remember the history. I thought it was > required by some spec or peer implementation (maybe Windows?) but I > really don't remember. It may predate git. I'll dig around and see > what I can find. I can't add more here, this design comes from well before I started working on this body of code (though, I worked near Kevin when he implemented it). -- Chuck Lever

[PATCH v2] SUNRPC: Use zero-copy to perform socket send operations

2020-11-26 Thread Chuck Lever
use xprt_sock_sendmsg for socket sends") Signed-off-by: Chuck Lever --- net/sunrpc/socklib.c |5 - net/sunrpc/svcsock.c |1 + 2 files changed, 5 insertions(+), 1 deletion(-) Hi- Because I got a 0-day regression report this morning based on the original version of this patch, I

Re: [RFC][PATCH 00/18] crypto: Add generic Kerberos library

2020-11-12 Thread Chuck Lever
> On Nov 12, 2020, at 4:07 PM, Bruce Fields wrote: > > On Thu, Nov 12, 2020 at 04:54:06PM +, David Howells wrote: >> Chuck Lever wrote: >> >>> Really? My understanding of the Linux kernel SUNRPC implementation is >>> that it uses asynchronous, eve

Re: [RFC][PATCH 00/18] crypto: Add generic Kerberos library

2020-11-12 Thread Chuck Lever
pc/rxgk.c | 1232 ++ >> net/rxrpc/rxgk_app.c | 424 ++++++ >> net/rxrpc/rxgk_common.h | 164 >> net/rxrpc/rxgk_kdf.c | 271 +++ >> net/rxrpc/security.c |6 + >> 26 files changed, 5530 insertions(+), 1 deletion(-) >> create mode 100644 crypto/krb5/kdf.c >> create mode 100644 crypto/krb5/rfc3961_simplified.c >> create mode 100644 crypto/krb5/rfc3962_aes.c >> create mode 100644 crypto/krb5/rfc6803_camellia.c >> create mode 100644 crypto/krb5/rfc8009_aes2.c >> create mode 100644 crypto/krb5/selftest.c >> create mode 100644 crypto/krb5/selftest_data.c >> create mode 100644 net/rxrpc/rxgk.c >> create mode 100644 net/rxrpc/rxgk_app.c >> create mode 100644 net/rxrpc/rxgk_common.h >> create mode 100644 net/rxrpc/rxgk_kdf.c -- Chuck Lever

Re: [RFC][PATCH 00/18] crypto: Add generic Kerberos library

2020-11-12 Thread Chuck Lever
> On Nov 12, 2020, at 10:42 AM, David Howells wrote: > > Chuck Lever wrote: > >>> There are three main interfaces to it: >>> >>> (*) I/O crypto: encrypt, decrypt, get_mic and verify_mic. >>> >>>These all do in-place crypto, usi

Re: [RFC][PATCH 00/18] crypto: Add generic Kerberos library

2020-11-12 Thread Chuck Lever
d.c > create mode 100644 crypto/krb5/rfc3962_aes.c > create mode 100644 crypto/krb5/rfc6803_camellia.c > create mode 100644 crypto/krb5/rfc8009_aes2.c > create mode 100644 crypto/krb5/selftest.c > create mode 100644 crypto/krb5/selftest_data.c > create mode 100644 net/rxrpc/rxgk.c > create mode 100644 net/rxrpc/rxgk_app.c > create mode 100644 net/rxrpc/rxgk_common.h > create mode 100644 net/rxrpc/rxgk_kdf.c > > -- Chuck Lever

Re: [PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-10 Thread Chuck Lever
> On Nov 9, 2020, at 3:10 PM, Eric Dumazet wrote: > > > > On 11/9/20 8:31 PM, Chuck Lever wrote: >> >> >>> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote: >>> >>> On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote: >>

Re: [PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-09 Thread Chuck Lever
> On Nov 9, 2020, at 3:10 PM, Eric Dumazet wrote: > > > > On 11/9/20 8:31 PM, Chuck Lever wrote: >> >> >>> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote: >>> >>> On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote: >>

Re: [PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-09 Thread Chuck Lever
> On Nov 9, 2020, at 1:16 PM, Trond Myklebust wrote: > > On Mon, 2020-11-09 at 12:36 -0500, Chuck Lever wrote: >> >> >>> On Nov 9, 2020, at 12:32 PM, Trond Myklebust < >>> tron...@hammerspace.com> wrote: >>> >>> On Mon, 2020-11

Re: [PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-09 Thread Chuck Lever
> On Nov 9, 2020, at 12:32 PM, Trond Myklebust wrote: > > On Mon, 2020-11-09 at 12:12 -0500, Chuck Lever wrote: >> >> >>> On Nov 9, 2020, at 12:08 PM, Trond Myklebust >>> wrote: >>> >>> On Mon, 2020-11-09 at 11:03 -0500, Chuc

Re: [PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-09 Thread Chuck Lever
> On Nov 9, 2020, at 12:08 PM, Trond Myklebust wrote: > > On Mon, 2020-11-09 at 11:03 -0500, Chuck Lever wrote: >> Daire Byrne reports a ~50% aggregrate throughput regression on his >> Linux NFS server after commit da1661b93bf4 ("SUNRPC: Teach server to >>

[PATCH RFC] SUNRPC: Use zero-copy to perform socket send operations

2020-11-09 Thread Chuck Lever
/bugzilla.kernel.org/show_bug.cgi?id=209439 Fixes: da1661b93bf4 ("SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends") Signed-off-by: Chuck Lever --- net/sunrpc/socklib.c |5 - net/sunrpc/svcsock.c |1 + net/sunrpc/xprtsock.c |1 + 3 files changed, 6 insertions

Re: [PATCH] SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()

2020-10-21 Thread Chuck Lever
6efa8cbfb, the original issue won't appear with Linux clients, because they use TCP to handle the ACCEPT_SEC_CONTEXT handshake. You'd need to have both Solaris and RDMA to test it. Maybe we can scrounge something up, but that would only be enough to ensure that your patch doesn't regress the Solaris NFS/RDMA with Kerberos setup when using small tokens. -- Chuck Lever

Re: [PATCH] SUNRPC: Fix svc_flush_dcache()

2020-09-22 Thread Chuck Lever
> On Sep 22, 2020, at 3:13 AM, He Zhe wrote: > > > > On 9/21/20 3:51 AM, Chuck Lever wrote: >> On platforms that implement flush_dcache_page(), a large NFS WRITE >> triggers the WARN_ONCE in bvec_iter_advance(): >> >> Sep 20 14:01:05 klimt.1015grange

Re: [PATCH 08/14] xprtrdma: drop double zeroing

2020-09-20 Thread Chuck Lever
// > @@ > expression x,n,flags; > @@ > > x = > - kcalloc > + kmalloc_array > (n,sizeof(*x),flags) > ... > sg_init_table(x,n) > // > > Signed-off-by: Julia Lawall Acked-by: Chuck Lever This one goes to Anna. > --- > net/sunrpc/xprtrdma/frwr_op

Re: [PATCH] SUNRPC: Flush dcache only when receiving more seeking

2020-09-18 Thread Chuck Lever
> 0) > + if (len > (seek & PAGE_MASK)) I don't understand how this addresses the WARNING. Can you provide an example set of inputs that trigger the issue? Also this change introduces a mixed-sign comparison, so NACK on this particular patch unless it can be demonstrated that the implicit type conversion here is benign (I don't think it is, but I haven't thought through it). > svc_flush_bvec(bvec, len, seek); > > /* If we read a full record, then assume there may be more > -- > 2.17.1 > -- Chuck Lever

Re: [PATCH net-next] SUNRPC: remove duplicate include

2020-08-19 Thread Chuck Lever
00644 > --- a/net/sunrpc/auth_gss/trace.c > +++ b/net/sunrpc/auth_gss/trace.c > @@ -9,7 +9,6 @@ > #include > #include > #include > -#include > > #define CREATE_TRACE_POINTS > #include > -- > 2.17.1 > -- Chuck Lever

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-20 Thread Chuck Lever
> On Jul 18, 2020, at 11:55 AM, Chuck Lever wrote: > > > >> On Jul 17, 2020, at 3:46 PM, Pierre Sauter wrote: >> >> Am Freitag, 17. Juli 2020, 19:56:09 CEST schrieb Kai-Heng Feng: >>>> Pierre, thanks for confirming! >>>> >>>

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-18 Thread Chuck Lever
00 800f000f 0001 > > [ 21.666152] page dumped because: kasan: bad access detected > > [ 21.666197] Memory state around the buggy address: > [ 21.666228] 8883b6b7d380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 > [ 21.666272] 8883b6b7d400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 00 00 > [ 21.666315] >8883b6b7d480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc > fc fc > [ 21.666358]^ > [ 21.666379] 8883b6b7d500: fc fc fc fc fc fc fc fc fc fc fc fc fc fc > fc fc > [ 21.666423] 8883b6b7d580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc > fc fc > [ 21.666465] > == > [ 21.666509] Disabling lock debugging due to kernel taint > > > -- Chuck Lever

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-17 Thread Chuck Lever
> On Jul 17, 2020, at 1:29 PM, Pierre Sauter wrote: > > Hi Chuck, > > Am Donnerstag, 16. Juli 2020, 21:25:40 CEST schrieb Chuck Lever: >> So this makes me think there's a possibility you are not using upstream >> stable kernels. I can't help if I d

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-16 Thread Chuck Lever
Hi Pierre- > On Jul 16, 2020, at 2:40 PM, Pierre Sauter wrote: > > Hi, > > Am 2020-07-15 20:54, schrieb Chuck Lever: >> v5.4.40 does not have 31c9590ae468 and friends, but the claim is this >> one crashes? > > To my knowledge 31c9590ae468 and friends are in

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-15 Thread Chuck Lever
> On Jul 15, 2020, at 11:14 AM, Chuck Lever wrote: > > > >> On Jul 15, 2020, at 11:08 AM, Kai-Heng Feng >> wrote: >> >>> On Jul 15, 2020, at 23:02, Chuck Lever wrote: >>> >>>> On Jul 15, 2020, at 10:48 AM, Kai-Heng Feng &

Re: [PATCH] xprtrdma: fix incorrect header size calcations

2020-07-15 Thread Chuck Lever
> On Jul 15, 2020, at 12:31 PM, Colin Ian King wrote: > > Bah, $SUBJECT typo "calcations" -> "calculations". can that be fixed up > when it's applied, or shall I send a V2? Anna's preference. Reviewed-by: Chuck Lever > On 15/07/2020

Re: xprtrdma: Prevent inline overflow

2020-07-15 Thread Chuck Lever
header_size. > > The commit in question is relatively old: > > commit 302d3deb20682a076e1ab551821cacfdc81c5e4f > Author: Chuck Lever > Date: Mon May 2 14:41:05 2016 -0400 > >xprtrdma: Prevent inline overflow > > The two issues are as follows: > > Issue #1:

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-15 Thread Chuck Lever
> On Jul 15, 2020, at 11:08 AM, Kai-Heng Feng > wrote: > >> On Jul 15, 2020, at 23:02, Chuck Lever wrote: >> >>> On Jul 15, 2020, at 10:48 AM, Kai-Heng Feng >>> wrote: >>> >>> Hi, >>> >>> Multiple users rep

Re: [Regression] "SUNRPC: Add "@len" parameter to gss_unwrap()" breaks NFS Kerberos on upstream stable 5.4.y

2020-07-15 Thread Chuck Lever
"SUNRPC: Revert 241b1f419f0e ("SUNRPC: Remove xdr_buf_trim()")") is also applied to 5.4.0-40-generic. It would help to know if v5.5 stable is working for you. I haven't had any problems with it. -- Chuck Lever

Re: [PATCH v2] SUNRPC: Add missing definition of ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE

2020-06-15 Thread Chuck Lever
> net/sunrpc/svcsock.c:227:5: warning: "ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE" is > not defined [-Wundef] > #if ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE > ^ > > Include linux/highmem.h so that asm/cacheflush.h will be included. > > Reported-by: Christophe Lero

Re: [PATCH] SUNRPC: Add missing asm/cacheflush.h

2020-06-14 Thread Chuck Lever
svcsock.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c > index 5c4ec9386f81..d9e99cb09aab 100644 > --- a/net/sunrpc/svcsock.c > +++ b/net/sunrpc/svcsock.c > @@ -45,6 +45,7 @@ > #include > #include > #include > +#include Nit: Let's include in net/sunrpc/svcsock.h instead of directly. > #include > #include > -- > 2.25.0 > -- Chuck Lever

Re: [PATCH net-next] xprtrdma: Use struct_size() in kzalloc()

2019-01-31 Thread Chuck Lever
elper: > > instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL); > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva Reviewed-by: Chuck Lever > --- > net/sunrpc/xprtrdma/verbs.c | 3 +-- > 1 file changed,

Re: [PATCH net-next] xprtrdma: Fix error return code in rpcrdma_buffer_create()

2019-01-16 Thread Chuck Lever
ot;) > Signed-off-by: Wei Yongjun I thought we'd already fixed this one, but: Reviewed-by: Chuck Lever > --- > net/sunrpc/xprtrdma/verbs.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/net/sunrpc/xprtrdma/verbs.c b/net/sunrpc/xprtrdma/ver

Re: [PATCH net-next] svcrdma: Use struct_size() in kmalloc()

2019-01-15 Thread Chuck Lever
; instance = kmalloc(struct_size(instance, entry, count), GFP_KERNEL); > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva Reviewed-by: Chuck Lever > --- > net/sunrpc/xprtrdma/svc_rdma_rw.c | 3 +-- > 1 file changed, 1 insertion(+

Re: [PATCH net-next] svcrdma: Fix an uninitialized variable false warning

2018-12-28 Thread Chuck Lever
8,7 @@ void > rpcrdma_post_recvs(struct rpcrdma_xprt *r_xprt, bool temp) > { > struct rpcrdma_buffer *buf = &r_xprt->rx_buf; > - struct ib_recv_wr *wr, *bad_wr; > + struct ib_recv_wr *wr, *bad_wr = NULL; > int needed, count, rc; > > rc = 0; > -- > 2.7.0 Does this need Fixes: d34ac5cd3a73 ("RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const") ??? Bart, any comments? -- Chuck Lever

Re: [PATCH] sunrpc: remove redundant code

2018-12-26 Thread Chuck Lever
nt to embed specific knowledge about struct xdr_stream into rpcrdma_decode_msg. IOW, adhere to the API contract. Given the need for adding a type cast to this function call, as reported by the kbuild robot, I don't see that this patch improves things significantly. > r_xprt->rx_stats.total_rdma_reply += writelist; > return rpclen + xdr_align_size(writelist); > -- > 2.17.2 (Apple Git-113) > -- Chuck Lever

Re: [PATCH] sunrpc: fix a missing check of xdr_inline_decode

2018-12-26 Thread Chuck Lever
t; + goto out_overflow; > size = xdr_stream_remaining(&rep->rr_stream); > > #ifdef RPCRDMA_BACKCHANNEL_DEBUG > -- > 2.17.2 (Apple Git-113) > -- Chuck Lever

Re: [BUG BISECT] NFSv4 client fails on Flush Journal to Persistent Storage

2018-07-25 Thread Chuck Lever
> On Jul 25, 2018, at 9:27 AM, Krzysztof Kozlowski wrote: > > On 18 June 2018 at 18:20, Chuck Lever wrote: >> >> The extra serialization appears to have a reproducible performance >> impact on RDMA, which no longer takes the reserve_lock when allocating >&

Re: general protection fault in encode_rpcb_string

2018-05-08 Thread Chuck Lever
he transport write lock. This logic was copied from xdr_partial_copy_from_skb, which uses GFP_ATOMIC. Recall that this is here because of GETACL. As I've stated in the past, the correct solution is to ensure that these pages are provided in every case by the upper layer, making this alloc_page call site unnecessary. -- Chuck Lever chuckle...@gmail.com

Re: KASAN: use-after-free Read in perf_trace_rpc_stats_latency

2018-04-30 Thread Chuck Lever
please reply to this email with: > #syz fix: exact-commit-title > To mark this as a duplicate of another syzbot report, please reply with: > #syz dup: exact-subject-of-another-report > If it's a one-off invalid bug report, please reply with: > #syz invalid > Note: if the crash happens again, it will cause creation of a new bug report. > Note: all commands must start from beginning of the line in the email body. > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever

Re: [PATCH][net-next] svcrdma: fix an incorrect check on -E2BIG and -EINVAL

2017-07-13 Thread Chuck Lever
, CID#1450120 ("Logically Dead Code") > > Fixes: 107c1d0a991a ("svcrdma: Avoid Send Queue overflow") > Signed-off-by: Colin Ian King Reviewed-by: Chuck Lever Dan reported this today, and I have a similar patch in my "pending for-rc" series. This one works too.

Re: [PATCH] xprtrdma: Delete an error message for a failed memory allocation in xprt_rdma_bc_setup()

2017-05-22 Thread Chuck Lever
oftware. > > Link: > http://events.linuxfoundation.org/sites/events/files/slides/LCJ16-Refactor_Strings-WSang_0.pdf > Signed-off-by: Markus Elfring Reviewed-by: Chuck Lever > --- > net/sunrpc/xprtrdma/backchannel.c | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(-) > &g

Re: [PATCH] xprtrdma: use offset_in_page() macro

2017-04-21 Thread Chuck Lever
return -EIO; > This hunk conflicts with a rewrite of svc_rdma_sendto.c that Bruce has already accepted for v4.12. I would prefer this be dropped. The rewritten code also has this issue. I can submit a patch separately that adds offset_in_page in the appropriate place. -- Chuck Lever

Re: [PATCH rfc 0/4] Introduce a new helper for parsing ipv[4|6]:port to socket address

2017-02-16 Thread Chuck Lever
lper. RPC is dealing with universal addresses, which are not quite the same as IP presentation addresses. The port number is expressed as: hi8.lo8 And universal IPv6 addresses don't have a mechanism for conveying scope information. -- Chuck Lever

Re: [PATCH rfc 0/4] Introduce a new helper for parsing ipv[4|6]:port to socket address

2017-02-16 Thread Chuck Lever
151 insertions(+), 82 deletions(-) > > -- > 2.7.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever

Re: [RFC PATCH] sunrpc: do not allow process to freeze within RPC state machine

2016-08-03 Thread Chuck Lever
e when they want to > redrive the entire syscall from that level. That won't work for non- > idempotent requests though. We'd need to do something more elaborate > there. There is a similar problem with NFS/RDMA. An IB device driver can be unloaded at any time. The driver performs an upcall to all consumers to request that they release all RDMA resources associated with the device. For RPC-over-RDMA, we could kill all running RPCs at this point. Or, the RPCs could be suspended in place. The latter is desirable if the device were re-inserted, or there were an alternate path to the NFS server: then there would be no workload interruption. Signals would have to be allowed so that ^C and soft timeouts still work as expected. -- Chuck Lever

Re: Cannot use NFS with linux-next 20160429

2016-05-01 Thread Chuck Lever
m [] > (default_idle_call+0x28/0x38) > [ 16.362961] [] (default_idle_call) from [] > (cpu_startup_entry+0x1c8/0x24c) > [ 16.371585] [] (cpu_startup_entry) from [] > (secondary_start_kernel+0x130/0x154) > [ 16.380635] r7:c0d6e388 r3:0002 > [ 16.384256] [] (secondary_start_kernel) from [<101016cc>] > (0x101016cc) > [ 16.391657] r5:0051 r4:3f08806a > [ 16.395300] ---[ end Kernel panic - not syncing: VFS: Unable to > mount root fs on unknown-block(2,0) > > Any ideas? Thanks > -- > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Chuck Lever

Re: [Lsf] [Lsf-pc] [LSF/MM TOPIC] Generic page-pool recycle facility?

2016-04-07 Thread Chuck Lever
> On Apr 7, 2016, at 7:38 AM, Christoph Hellwig wrote: > > This is also very interesting for storage targets, which face the same > issue. SCST has a mode where it caches some fully constructed SGLs, > which is probably very similar to what NICs want to do. +1 for NFS server. -- Chuck Lever

Re: [PATCH 05/25] NFS: eliminate NIPQUAD(clp->cl_addr.sin_addr)

2007-11-14 Thread Chuck Lever
YOSHIFUJI Hideaki / 吉藤英明 wrote: In article <[EMAIL PROTECTED]> (at Tue, 13 Nov 2007 13:31:27 -0500), Chuck Lever <[EMAIL PROTECTED]> says: clp->rpc_ops->version, - NIPQUAD(clp->cl_addr.sin_addr), - ntohs(

Re: [PATCH 00/25] RFC: AF_INET6 family support for the NFS client

2007-11-14 Thread Chuck Lever
On Nov 13, 2007, at 8:14 PM, David Miller wrote: From: Chuck Lever <[EMAIL PROTECTED]> Date: Tue, 13 Nov 2007 13:30:59 -0500 These 25 patches add support for AF_INET6 addresses to the NFS client. This is a request for review of the proposed changes. Please start using the [EMAIL PRO

[PATCH 24/25] NFS: Parse IPv6 addresses in nfs_parse_server_address

2007-11-13 Thread Chuck Lever
Add the ability to parse IPv6 addresses passed in via the 'addr=' and 'mountaddr=' mount options. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/super.c | 24 +++- 1 files changed, 19 ins

[PATCH 25/25] NFS: Verify IPv6 addresses properly

2007-11-13 Thread Chuck Lever
Add support to nfs_verify_server_address for recognizing AF_INET6 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/super.c | 15 --- 1 files changed, 8 insertions(+), 7 deletions(-) diff --git a/fs/nfs/supe

[PATCH 23/25] NFS: Add AF_INET6 support to nfs_try_mount()

2007-11-13 Thread Chuck Lever
Update nfs_try_mount() to support AF_INET6 family addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- fs/nfs/super.c | 19 ++- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 3ea4a4f..2abef88 100644 --- a/

[PATCH 21/25] NFS: Refactor mount option address parsing into separate function

2007-11-13 Thread Chuck Lever
Some mount options pass in a string IP address. Let's parse these strings in a separate function since this is done for at least two different mount options. This allows us to support IPv6 string addresses more easily in a subsequent patch Signed-off-by: Chuck Lever <[EMAIL PROTEC

[PATCH 22/25] NFS: Support non-IPv4 addresses in nfs_parsed_mount_data

2007-11-13 Thread Chuck Lever
Replace the nfs_server and mount_server address fields in the nfs_parsed_mount_data structure with a "struct sockaddr_storage" and a length, instead of a "struct sockaddr_in". Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]>

[PATCH 20/25] NFS: Set default port for NFSv4, with support for AF_INET6

2007-11-13 Thread Chuck Lever
Move more address family dependencies to a helper function. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- fs/nfs/super.c | 40 1 files changed, 32 insertions(+), 8 deletions(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 7dc56ce..1

[PATCH 01/25] SUNRPC: Move universal address definitions to global header

2007-11-13 Thread Chuck Lever
Universal addresses are defined in RFC 1833 and clarified in RFC 3530. We need to use them in several places in the NFS and RPC clients, so move the relevant definition and block comment to an appropriate global include file. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- include

[PATCH 19/25] NFS: Make setting a port number agostic

2007-11-13 Thread Chuck Lever
We'll need to set the port number of an AF_INET or AF_INET6 address in several places in fs/nfs/super.c, so introduce a helper that can manage this for us. We put this helper to immediate use. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- fs/nfs/sup

[PATCH 18/25] NFS: Remove the NIPQUAD from nfs_try_mount

2007-11-13 Thread Chuck Lever
In the name of address family compatibility, we can't have the NIP_FMT and NIPQUAD macros in nfs_try_mount(). Instead, we can make use of an unused mount option to display the mount server's hostname. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon &

[PATCH 17/25] NFS: Change nfs4_set_client() to accept (sockaddr *, len)

2007-11-13 Thread Chuck Lever
Adjust the arguments and callers of nfs4_set_client() to pass a "struct sockaddr *" and a length instead of a "struct sockaddr_in *" to support non-IPv4 addresses in the NFS client. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROT

[PATCH 03/25] NFS: Increase size of cl_ipaddr field to hold IPv6 addresses

2007-11-13 Thread Chuck Lever
The nfs_client's cl_ipaddr field needs to be larger to hold strings that represent IPv6 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- include/linux/nfs_fs_sb.h |2 +- 1 files changed, 1 insertions(+), 1 deletions

[PATCH 15/25] NFS: Change nfs_get_client() to take (sockaddr *, len)

2007-11-13 Thread Chuck Lever
Adjust arguments and callers of nfs_get_client() to pass a "struct sockaddr *" and length instead of "struct sockaddr_in *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/client.c

[PATCH 16/25] NFS: Adjust nfs_clone_mount structure to store "struct sockaddr *"

2007-11-13 Thread Chuck Lever
returns a string that represents an IPv4 address. This code needs to support hostnames and IPv6 addresses as well as IPv4 addresses, thus it will need to be restructured in order to handle DNS resolution in user space. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon &

[PATCH 14/25] NFS: Change nfs_find_client() to take "struct sockaddr *"

2007-11-13 Thread Chuck Lever
Adjust arguments and callers of nfs_find_client() to pass a "struct sockaddr *" instead of "struct sockaddr_in *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/callback.c |

[PATCH 12/25] NFS: Change __nfs_find_client() to take "struct sockaddr *"

2007-11-13 Thread Chuck Lever
Adjust the arguments and callers of __nfs_find_client() to pass a "struct sockaddr *" instead of a "struct sockaddr_in *" so that non-IPv4 addresses can be passed into __nfs_find_client(). A subsequent patch adds support for IPv6 addresses to __nfs_find_client(). Signed

[PATCH 13/25] NFS: Distinguish IPv6 addresses in __nfs_find_client

2007-11-13 Thread Chuck Lever
Add support for the AF_INET6 family of IP addresses in __nfs_find_client. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/client.c | 34 +++--- 1 files changed, 27 insertions(+), 7 deletions(-) diff --

[PATCH 11/25] NFS: Make nfs_alloc_client() take (sockaddr, len) instead of sockaddr_in

2007-11-13 Thread Chuck Lever
To support non-IPv4 addresses, adjust the arguments and callers of nfs_alloc_client() to pass in a "struct sockaddr *" and length instead of a "struct sockaddr_in *". Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/

[PATCH 07/25] NFS: Address a couple of nits in nfs_follow_referral()

2007-11-13 Thread Chuck Lever
Fix an outdated block comment, and address a comparison between a signed and unsigned integer. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- fs/nfs/nfs4namespace.c |8 +++- 1 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/nfs/nfs4namespace.c b/

[PATCH 09/25] NFS: Change cb_getattrargs to pass "struct sockaddr *" instead of sockaddr_in

2007-11-13 Thread Chuck Lever
Change the addr field in the cb_getattrargs struct to a "struct sockaddr *" to support non-IPv4 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/callback.h |2 +- fs/nfs/callback_proc.c |2 +-

[PATCH 10/25] NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in

2007-11-13 Thread Chuck Lever
Change the addr field in the cb_recallargs struct to a "struct sockaddr *" to support IPv6 addresses. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/callback.h |2 +- fs/nfs/callback_proc.c |2 +- fs/nfs/

[PATCH 04/25] NFS: Enable NFS client to generate CLIENTID strings with IPv6 addresses

2007-11-13 Thread Chuck Lever
We recently added methods to RPC transports that provide string versions of the remote peer address information. Convert the NFSv4 SETCLIENTID procedure to use those methods instead of building the client ID out of whole cloth. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien C

[PATCH 08/25] NFS: Expand server address storage in nfs_client struct

2007-11-13 Thread Chuck Lever
Prepare for managing larger addresses in the NFS client by widening the nfs_client struct's cl_addr field and adding a field to store the address's length. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[EMAIL PROTECTED]> --- fs/nfs/cli

[PATCH 06/25] NFS: Clean-up: move dprintks from callback.c to callback_proc.c

2007-11-13 Thread Chuck Lever
The client side peer address is available in callback_proc.c, so move a dprintk out of fs/nfs/callback.c and into fs/nfs/callback_proc.c. This is more consistent with other debugging messages, and the proc routines have more information about each request to display. Signed-off-by: Chuck Lever

[PATCH 02/25] NFS: Ensure NFSv4 SETCLIENTID send buffer is large enough

2007-11-13 Thread Chuck Lever
Ensure that the RPC buffer size specified for NFSv4 SETCLIENTID procedures matches what we are encoding into the buffer. See the definition of struct nfs4_setclientid {} and the encode_setclientid() function. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- fs/nfs/nfs4xdr.c

[PATCH 00/25] RFC: AF_INET6 family support for the NFS client

2007-11-13 Thread Chuck Lever
These 25 patches add support for AF_INET6 addresses to the NFS client. This is a request for review of the proposed changes. This series does not add support for AF_INET6 addresses to the Linux NLM or NSM implementations, nor does it add support in the NFS server. To use an IPv6 NFS server, the m

[PATCH 05/25] NFS: eliminate NIPQUAD(clp->cl_addr.sin_addr)

2007-11-13 Thread Chuck Lever
To ensure the NFS client displays IPv6 addresses properly, replace address-specific NIPQUAD() invocations with a call to the RPC client to get a formatted string representing the remote peer's address. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: Aurelien Charbon <[E

[PATCH] NET: Fix skb_truesize_check() assertion

2007-11-08 Thread Chuck Lever
of an explicit type cast. This defeats the check for negativity. Ensure both sides of the comparison are a signed type to prevent the implicit type conversion. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> --- include/linux/skbuff.h |4 +++- 1 files changed, 3 insertions(+), 1

Re: [PATCH] NET: Remove unneeded type cast in skb_truesize_check()

2007-11-07 Thread Chuck Lever
David Miller wrote: From: Chuck Lever <[EMAIL PROTECTED]> Date: Mon, 05 Nov 2007 18:59:26 -0500 If that's truly the case, document the requirement (perhaps using something the compiler itself can verify) instead of using a clever type cast trick. Feel free to submit such a chang

Re: [PATCH] NET: Remove unneeded type cast in skb_truesize_check()

2007-11-05 Thread Chuck Lever
David Miller wrote: From: Chuck Lever <[EMAIL PROTECTED]> Date: Fri, 02 Nov 2007 15:14:26 -0400 The (int) type cast in skb_truesize_check() is unneeded: without it, all the variable types in the conditional expression are unsigned integers. As it stands, the type cast causes a comp

[PATCH] NET: Make ts_recent_stamp and tw_ts_recent_stamp unsigned long

2007-11-02 Thread Chuck Lever
the time_after_eq macro from include/linux/jiffies.h. [1] Kernighan & Ritchie, "The C Programming Language", 2nd. ed., appendix A, sec. 6.5. Signed-off-by: Chuck Lever <[EMAIL PROTECTED]> Cc: netdev@vger.kernel.org --- include/linux/tcp.h |4 ++-- 1 files changed, 2 insertions(

[PATCH] NET: Remove unneeded type cast in skb_truesize_check()

2007-11-02 Thread Chuck Lever
The (int) type cast in skb_truesize_check() is unneeded: without it, all the variable types in the conditional expression are unsigned integers. As it stands, the type cast causes a comparison between a signed and an unsigned integer, which can produce unexpected results. Signed-off-by: Chuck

Re: [2.6 patch] make sunrpc/xprtsock.c:xs_setup_{udp,tcp}() static

2007-10-24 Thread Chuck Lever
Adrian Bunk wrote: xs_setup_{udp,tcp}() can now become static. ACK. Sorry this was overlooked. Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> --- include/linux/sunrpc/xprtsock.h |6 -- net/sunrpc/xprtsock.c |4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) 8

  1   2   >