From owner-freebsd-current Sat Jan 30 00:12:22 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA28961 for freebsd-current-outgoing; Sat, 30 Jan 1999 00:12:22 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA28956 for ; Sat, 30 Jan 1999 00:12:21 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.2/8.9.1) id AAA88999; Sat, 30 Jan 1999 00:12:20 -0800 (PST) (envelope-from dillon) Date: Sat, 30 Jan 1999 00:12:20 -0800 (PST) From: Matthew Dillon Message-Id: <199901300812.AAA88999@apollo.backplane.com> To: current@FreeBSD.ORG Subject: Tentitive fix for vn device Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG This is a tentitive fix for the vn device problems reported earlier. It has not been well tested. Basically, the vn device tries to do something different for B_PAGING bp's to get around potential low-memory deadlocks. Previously this only applied to paging/swapping, and the swapper doesn't care about b_resid. However, part of the VM update in -4.x extends this flag for use in vm_fault paging and other similar situations. The VN code takes an alternate path for B_PAGING which has not been well tested due to it being previously restricted to swapper requested only. There could be more bugs in the section of vn. I'll run more sophisticated tests ( buildworlds and ports builds and such ) next week, replacing my MFS testbed with a VN testbed. -Matt Matthew Dillon Index: vn.c =================================================================== RCS file: /home/ncvs/src/sys/dev/vn/vn.c,v retrieving revision 1.73 diff -u -r1.73 vn.c --- vn.c 1999/01/23 00:28:56 1.73 +++ vn.c 1999/01/30 08:03:41 @@ -411,6 +411,7 @@ addr += sz; resid -= sz; } + bp->b_resid = resid; biodone(bp); putvnbuf(nbp); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message