Hi Chuck,
On 8/31/22 7:30 AM, Chuck Lever III wrote:
struct list_head *pos, *next;
struct nfs4_client *clp;
- maxreap = (atomic_read(&nn->nfs4_client_count) >= nn->nfs4_max_clients) ?
- NFSD_CLIENT_MAX_TRIM_PER_RUN : 0;
+ cb_cnt = atomic_read(&nn->nfsd_client_shrinker_cb_count);
+ if (atomic_read(&nn->nfs4_client_count) >= nn->nfs4_max_clients ||
+ cb_cnt) {
+ maxreap = NFSD_CLIENT_MAX_TRIM_PER_RUN;
+ atomic_set(&nn->nfsd_client_shrinker_cb_count, 0);
+ }
I'm not terribly happy with this, but I don't have a better suggestion
at the moment. Let me think about it.
Do you have any suggestion to improve this, I want to incorporate it
before sending out v5?
Thanks,
-Dai