Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Oct 1997 01:20:01 -0700 (PDT)
From:      Matt Dillon <dillon@best.net>
To:        freebsd-bugs
Subject:   Re: kern/4844: VM lookup, endless loop in vm_map_lookup_entry()
Message-ID:  <199710250820.BAA21715@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/4844; it has been noted by GNATS.

From: Matt Dillon <dillon@best.net>
To: Bruce Evans <bde@zeta.org.au>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: kern/4844: VM lookup, endless loop in vm_map_lookup_entry()
Date: Sat, 25 Oct 1997 01:15:15 -0700 (PDT)

 :>	up from system call.
 :
 :brelse/bfreekva have some problems.  See PR4630, especially the followups.
 :
 :Bruce
 
     Hmm (looking at PR4630).  This looks like a rather serious problem
     considering the core nature of brelse().  This may be responsible
     for several other crashes we have had involving "biodone: buffer already
     done" panics.  We've had four or five of those.
 
     It sounds to me that a slight modification to the PR4630 suggestion
     would work.  Rather then call bfreekva(), brelse() puts the bp on a
     defered free list, yes, but why not clear out this list from 
     getnewbuf() ?    I don't particularly see the need for a high priority
     kernel process or other complexity.
 
     If getnewbuf() (called by getblk()) is not called from an interrupt,
     we are home free.  I don't think anyone else allocates out of the
     buffer_map so the defered frees would not create a secondary effect
     anywhere else.
 
 					-Matt
 
     Matthew Dillon   Engineering, BEST Internet Communications, Inc.
 		    <dillon@best.net>
     [always include a portion of the original email in any response!]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710250820.BAA21715>