Re: [PATCH v3 40/44] SUNRPC: Simplify TCP receive code by switching to using iterators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Trond,

On Mon, Sep 17, 2018 at 09:03:31AM -0400, Trond Myklebust wrote:
> Most of this code should also be reusable with other socket types.
> 
> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> ---
>  include/linux/sunrpc/xprtsock.h |  19 +-
>  include/trace/events/sunrpc.h   |  15 +-
>  net/sunrpc/xprtsock.c           | 694 +++++++++++++++-----------------
>  3 files changed, 335 insertions(+), 393 deletions(-)

With latest mainline (24ccea7e102d, it includes Al Viro's iov_iter
fixup) I started hitting some severe slowdown and systemd timeouts with
nfsroot on arm64 machines (physical or guests under KVM). Interestingly,
it only happens when the client kernel is configured with 64K pages, the
4K pages configuration runs fine. It also runs fine if I add rsize=65536
to the nfsroot= argument.

Bisecting led me to commit 277e4ab7d530 ("SUNRPC: Simplify TCP receive
code by switching to using iterators"). Prior to this commit, it works
fine.

Some more info:

- defconfig with CONFIG_ARM64_64K_PAGES enabled

- kernel cmdline arg: nfsroot=<some-server>:/srv/nfs/debian-arm64,tcp,v4

- if it matters, the server is also an arm64 machine running 4.19 with
  4K pages configuration

I haven't figured out what's wrong or even how to debug this as I'm not
familiar with the sunrpc code. Any suggestion?

Thanks.

-- 
Catalin



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux