From owner-freebsd-hackers Thu Jun 1 2:21: 9 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from oleg.vsi.ru (oleg.vsi.ru [213.24.136.12]) by hub.freebsd.org (Postfix) with ESMTP id F2FEE37B580 for ; Thu, 1 Jun 2000 02:21:03 -0700 (PDT) (envelope-from oleg@oleg.vsi.ru) Received: from localhost (oleg@localhost) by oleg.vsi.ru (8.9.3/8.9.3) with ESMTP id NAA00477 for ; Thu, 1 Jun 2000 13:21:01 +0400 (MSD) (envelope-from oleg@oleg.vsi.ru) Date: Thu, 1 Jun 2000 13:21:01 +0400 (MSD) From: Oleg Derevenetz To: freebsd-hackers@freebsd.org Subject: vm_fault() problem Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems to be a problem in vm/vm_fault() and vnode_pager_generic_putpages() in FreeBSD 3.x & 4.0. The following code illustrates the problem: #include #include #include #include #include #define COUNT 1024 #define SIZE 10*1024*1024 int main () { int i,j,fd; char *fptr, fname [16]; for (i=0;ip_ucred); cnt.v_vnodeout++; cnt.v_vnodepgsout += ncount; if (error) { printf("vnode_pager_putpages: I/O error %d\n", error); } if (auio.uio_resid) { printf("vnode_pager_putpages: residual I/O %d at %lu\n", auio.uio_resid, (u_long)m[0]->pindex); } for (i = 0; i < ncount; i++) { rtvals[i] = VM_PAGER_OK; /* ???? */ } return rtvals[0]; /* ???? */ So, such errors as I/O errors, are not handled there. This seems to be a serious problem in FreeBSD VM subsystem, isn't it ? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message