diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-12-02 13:54:59 -0500 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2012-12-06 00:30:53 +0100 |
commit | 1fa8064429d0acbf5bbf3c8a53f65679fdacc75e (patch) | |
tree | 86e9c0420815d6029c47d836bf3d7a4c93098c3c /fs/nfs/nfs4session.h | |
parent | c05eecf636101dd4347b2d8fa457626bf0088e0a (diff) | |
download | linux-3.10-1fa8064429d0acbf5bbf3c8a53f65679fdacc75e.tar.gz linux-3.10-1fa8064429d0acbf5bbf3c8a53f65679fdacc75e.tar.bz2 linux-3.10-1fa8064429d0acbf5bbf3c8a53f65679fdacc75e.zip |
NFSv4.1: Try to eliminate outliers when updating target_highest_slotid
Look for sudden changes in the first and second derivatives in order
to eliminate outlier changes to target_highest_slotid (which are
due to out-of-order RPC replies).
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4session.h')
-rw-r--r-- | fs/nfs/nfs4session.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4session.h b/fs/nfs/nfs4session.h index 7db73937016..04f834cab16 100644 --- a/fs/nfs/nfs4session.h +++ b/fs/nfs/nfs4session.h @@ -38,6 +38,8 @@ struct nfs4_slot_table { * op for dynamic resizing */ u32 target_highest_slotid; /* Server max_slot target */ u32 server_highest_slotid; /* Server highest slotid */ + s32 d_target_highest_slotid; /* Derivative */ + s32 d2_target_highest_slotid; /* 2nd derivative */ unsigned long generation; /* Generation counter for target_highest_slotid */ struct completion complete; |