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>
index | next in thread | raw e-mail
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!]
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710250820.BAA21715>
