Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Dec 2002 07:55:26 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        Kris Kennaway <kris@obsecurity.org>, current@FreeBSD.ORG, alpha@FreeBSD.ORG, tjr@FreeBSD.ORG, jeff@FreeBSD.ORG
Subject:   Re: Another UMA panic under load
Message-ID:  <3DFA02EE.A24BAA86@mindspring.com>
References:  <20021212192506.GB8113@rot13.obsecurity.org> <15864.58817.832829.647171@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin wrote:
> Ugh. Since it may call kmem_malloc(), UMA must hold Giant.
> 
> This is the same problem the mbuf system has, and its what's
> keeping network device drivers under Giant in 5.0.
> 
> Both subsytems should probably have GIANT_REQUIRED at all entry
> points so as to catch locking problems like this earlier.

No, they should probably be wired into machdep.c, instead.

It was pretty obvious (to me) that UMA could not use the kmem
primitives, if it wanted to avoid Giant, even right at the
beginning of integration.  I just assumed that this was known,
and that it would be dealt with later, using one of several
approaches.

IMO, the easiest approach is mapping all physical RAM into the KVA
at the start of life, and then apportioning it out from there.

-- Terry

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




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