Date: Mon, 18 Jan 1999 16:01:52 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: "John S. Dyson" <root@dyson.iquest.net>, dg@root.com, jkh@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: Found problem w/ Paging performance over NFS Message-ID: <199901190001.QAA82498@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
Here's another piece of code to check: in kern/vfs_bio.c, allocbuf() } else if (m->flags & PG_BUSY) { s = splvm(); if (m->flags & PG_BUSY) { vm_page_flag_set(m, PG_WANTED); tsleep(m, PVM, "pgtblk", 0); } splx(s); goto doretry; } else { ... if (tinc > (newbsize - toff)) tinc = newbsize - toff; if (bp->b_flags & B_CACHE) vfs_buf_set_valid(bp, off, toff, tinc, m); vm_page_flag_clear(m, PG_ZERO); vm_page_wire(m); } Shouldn't those conditionals be 'm->busy || (m->flags & PG_BUSY)' instead of just testing against PG_BUSY? A pageout operation will set m->busy without setting PG_BUSY. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901190001.QAA82498>