Use B_ASYNC in the !PGO_SYNCIO case. Gets back most, if not all, NFS

read throughput performance lost since the introduction of UBC. Spotted
by YAMAMOTO Takashi, many thanks to him.
This commit is contained in:
fvdl 2002-10-21 15:21:35 +00:00
parent 1e2dbbd422
commit eb485a7e27

View File

@ -1,4 +1,4 @@
/* $NetBSD: genfs_vnops.c,v 1.64 2002/05/29 11:04:40 enami Exp $ */
/* $NetBSD: genfs_vnops.c,v 1.65 2002/10/21 15:21:35 fvdl Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.64 2002/05/29 11:04:40 enami Exp $");
__KERNEL_RCSID(0, "$NetBSD: genfs_vnops.c,v 1.65 2002/10/21 15:21:35 fvdl Exp $");
#include "opt_nfsserver.h"
@ -651,7 +651,7 @@ genfs_getpages(void *v)
mbp->b_bufsize = totalbytes;
mbp->b_data = (void *)kva;
mbp->b_resid = mbp->b_bcount = bytes;
mbp->b_flags = B_BUSY|B_READ| (async ? B_CALL : 0);
mbp->b_flags = B_BUSY|B_READ| (async ? B_CALL|B_ASYNC : 0);
mbp->b_iodone = (async ? uvm_aio_biodone : 0);
mbp->b_vp = vp;
LIST_INIT(&mbp->b_dep);