Date: Sat, 10 Jul 1999 01:21:10 -0500 From: Alan Cox <alc@cs.rice.edu> To: Stephen McKay <syssgm@detir.qld.gov.au> Cc: Andrew Gallatin <gallatin@cs.duke.edu>, freebsd-current@freebsd.org, dillon@apollo.backplane.com Subject: Re: Stuck in "objtrm" Message-ID: <19990710012110.W10611@cs.rice.edu> In-Reply-To: <199907070349.NAA13375@nymph.detir.qld.gov.au>; from Stephen McKay on Wed, Jul 07, 1999 at 01:49:51PM %2B1000 References: <199907021200.WAA06282@nymph.detir.qld.gov.au> <199907060745.RAA12161@nymph.detir.qld.gov.au> <199907061044.UAA14043@nymph.detir.qld.gov.au> <14210.4262.296904.751060@grasshopper.cs.duke.edu> <199907070349.NAA13375@nymph.detir.qld.gov.au>
next in thread | previous in thread | raw e-mail | index | archive | help
--oTHb8nViIGeoXxdp
Content-Type: text/plain; charset=us-ascii
Please try the attached patch.
Alan
--oTHb8nViIGeoXxdp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="objhang.patch"
Index: vm/vm_object.c
===================================================================
RCS file: /home/ncvs/src/sys/vm/vm_object.c,v
retrieving revision 1.158
diff -c -r1.158 vm_object.c
*** vm_object.c 1999/07/01 19:53:42 1.158
--- vm_object.c 1999/07/10 06:02:51
***************
*** 400,413 ****
int s;
/*
! * Make sure no one uses us.
*/
vm_object_set_flag(object, OBJ_DEAD);
!
! /*
! * wait for the pageout daemon to be done with the object
! */
! vm_object_pip_wait(object, "objtrm");
KASSERT(!object->paging_in_progress,
("vm_object_terminate: pageout in progress"));
--- 400,415 ----
int s;
/*
! * Atomically wait for the pageout daemon to release the object
! * and mark the object dead.
*/
+ s = splvm();
+ while (object->paging_in_progress) {
+ vm_object_set_flag(object, OBJ_PIPWNT);
+ tsleep(object, PVM, "objtrm", 0);
+ }
vm_object_set_flag(object, OBJ_DEAD);
! splx(s);
KASSERT(!object->paging_in_progress,
("vm_object_terminate: pageout in progress"));
--oTHb8nViIGeoXxdp--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990710012110.W10611>
