Abstract-out the constants for the sequential heuristic.

No operational changes.

MFC after:	1 day
This commit is contained in:
Matthew Dillon 2002-12-28 20:28:10 +00:00
parent 06d66a71a1
commit 45587e2514
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=108356
3 changed files with 9 additions and 6 deletions

View File

@ -340,9 +340,9 @@ sequential_heuristic(struct uio *uio, struct file *fp)
* are.
*/
fp->f_seqcount += (uio->uio_resid + BKVASIZE - 1) / BKVASIZE;
if (fp->f_seqcount >= 127)
fp->f_seqcount = 127;
return(fp->f_seqcount << 16);
if (fp->f_seqcount > IO_SEQMAX)
fp->f_seqcount = IO_SEQMAX;
return(fp->f_seqcount << IO_SEQSHIFT);
}
/*

View File

@ -861,8 +861,8 @@ nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
*/
if ((off == 0 && nh->nh_seqcount > 0) || off == nh->nh_nextr) {
if (++nh->nh_seqcount > 127)
nh->nh_seqcount = 127;
if (++nh->nh_seqcount > IO_SEQMAX)
nh->nh_seqcount = IO_SEQMAX;
} else if (nh->nh_seqcount > 1) {
nh->nh_seqcount = 1;
} else {
@ -871,7 +871,7 @@ nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
nh->nh_use += NHUSE_INC;
if (nh->nh_use > NHUSE_MAX)
nh->nh_use = NHUSE_MAX;
ioflag |= nh->nh_seqcount << 16;
ioflag |= nh->nh_seqcount << IO_SEQSHIFT;
}
nfsm_reply(NFSX_POSTOPORFATTR(v3) + 3 * NFSX_UNSIGNED+nfsm_rndup(cnt));

View File

@ -281,6 +281,9 @@ struct vattr {
#define IO_NORMAL 0x0800 /* operate on regular data */
#define IO_NOMACCHECK 0x1000 /* MAC checks unnecessary */
#define IO_SEQMAX 0x7F /* seq heuristic max value */
#define IO_SEQSHIFT 16 /* seq heuristic in upper 16 bits */
/*
* Modes. Some values same as Ixxx entries from inode.h for now.
*/