Linux NFS development
 help / color / mirror / Atom feed
From: Dai Ngo <dai.ngo@oracle.com>
To: chuck.lever@oracle.com, jlayton@kernel.org
Cc: linux-nfs@vger.kernel.org
Subject: [PATCH v4 0/2] NFSD: memory shrinker for NFSv4 clients
Date: Tue, 30 Aug 2022 14:48:31 -0700	[thread overview]
Message-ID: <1661896113-8013-1-git-send-email-dai.ngo@oracle.com> (raw)

This patch series implements the memory shrinker for NFSv4 clients
to react to system low memory condition.

The memory shrinker's count callback is used to trigger the laundromat.
The actual work of destroying the expired clients is done by the
laundromat itself. We can not destroying the expired clients on the
memory shrinler's scan callback context to avoid possible deadlock.

By destroying the expired clients, all states associated with these
clients are also released.

v2:
. fix kernel test robot errors in nfsd.h when CONFIG_NFSD_V4 not defined.

v3:
. add mod_delayed_work in nfsd_courtesy_client_scan to kick start
  the laundromat.

v4:
. replace the use of xchg() with vanilla '=' in patch 1.

---

Dai Ngo (2):
      NFSD: keep track of the number of courtesy clients in the system
      NFSD: add shrinker to reap courtesy clients on low memory condition

 fs/nfsd/netns.h     |  5 ++++
 fs/nfsd/nfs4state.c | 65 ++++++++++++++++++++++++++++++++++++++++++++----
 fs/nfsd/nfsctl.c    |  6 +++--
 fs/nfsd/nfsd.h      |  9 +++++--
 4 files changed, 76 insertions(+), 9 deletions(-)

             reply	other threads:[~2022-08-30 21:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-30 21:48 Dai Ngo [this message]
2022-08-30 21:48 ` [PATCH v4 1/2] NFSD: keep track of the number of courtesy clients in the system Dai Ngo
2022-08-31 14:30   ` Chuck Lever III
2022-08-30 21:48 ` [PATCH v4 2/2] NFSD: add shrinker to reap courtesy clients on low memory condition Dai Ngo
2022-08-31 14:30   ` Chuck Lever III
2022-09-02  1:56     ` dai.ngo
2022-09-02  4:32       ` Chuck Lever III
2022-09-02 16:44         ` dai.ngo
2022-09-02 17:58           ` Chuck Lever III
2022-09-02 19:34             ` dai.ngo
2022-09-03  1:26               ` Chuck Lever III
2022-09-03 17:03                 ` dai.ngo
2022-09-03 17:29                   ` Chuck Lever III
2022-09-03 17:59                     ` dai.ngo
2022-09-06 13:00                       ` J. Bruce Fields
2022-09-06 19:04                         ` dai.ngo
2022-08-31 10:00 ` [PATCH v4 0/2] NFSD: memory shrinker for NFSv4 clients Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1661896113-8013-1-git-send-email-dai.ngo@oracle.com \
    --to=dai.ngo@oracle.com \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox