nfsd: Only set PF_LESS_THROTTLE when really needed.
PF_LESS_THROTTLE has a very specific use case: to avoid deadlocks and live-locks while writing to the page cache in a loop-back NFS mount situation. It therefore makes sense to *only* set PF_LESS_THROTTLE in this situation. We now know when a request came from the local-host so it could be a loop-back mount. We already know when we are handling write requests, and when we are doing anything else. So combine those two to allow nfsd to still be throttled (like any other process) in every situation except when it is known to be problematic. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:

committed by
J. Bruce Fields

parent
ef11ce2487
commit
8658452e4a
@@ -591,12 +591,6 @@ nfsd(void *vrqstp)
|
||||
nfsdstats.th_cnt++;
|
||||
mutex_unlock(&nfsd_mutex);
|
||||
|
||||
/*
|
||||
* We want less throttling in balance_dirty_pages() so that nfs to
|
||||
* localhost doesn't cause nfsd to lock up due to all the client's
|
||||
* dirty pages.
|
||||
*/
|
||||
current->flags |= PF_LESS_THROTTLE;
|
||||
set_freezable();
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user