Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Sep 2002 15:11:13 -0700
From:      Tom Pavel <pavel@networkphysics.com>
To:        freebsd-net@FreeBSD.ORG
Subject:   Re: Question about mbuf allocation and VM routines 
Message-ID:  <200209302211.g8UMBDR67174@scout.networkphysics.com>
In-Reply-To: Message from Tom Pavel <pavel@networkphysics.com>  of "Fri, 27 Sep 2002 15:06:18 PDT." <200209272206.g8RM6IR43626@scout.networkphysics.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

>>>>> On Fri, 27 Sep 2002, Tom Pavel <pavel@networkphysics.com> writes:

> However, as shown in this excerpt m_mballoc() calls kmem_malloc(),
> which from its comments expects to be called at splhigh (or perhaps
> splvm?).  Ultimately, my call chain leads me to
> vm_map_entry_create(mb_map), and I fear that the resulting
> zalloc()/zfree() is interrupted by something else at splvm, and
> thereby corrupts the kmapentzone free list.  That would be consistent
> with the crash I've seen.
> 
> So, my question is whether the above analysis makes sense, and whether
> the kmem_malloc(M_NOWAIT) call in m_mballoc() should be wrapped in
> splvm.  I assume the M_WAITOK call should not be wrapped, but I
> haven't thought that one through.  Any other insights about this?


Thanks to Jeffrey Hsu, I realized that I've just been suffering from a
bit of versionitis.  I wanted to follow up here for the benefit of the
archives.

This problem I posited is indeed possible in the 4.2-based systems I'm
using, but it was fixed in rev 1.187.2.5 of vm_map.c in Feb 2001
(before 4.3).  I was confused about whether we'd also seen this in our
4.6-based systems and it turns out that I didn't read the 4.2/4.6
diffs carefully enough.


Sorry for any confusion...

Tom Pavel

Network Physics
pavel@networkphysics.com / pavel@alum.mit.edu 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




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