Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 May 2002 13:18:54 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Jeff Roberson <jroberson@chesapeake.net>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, Jeff Roberson <jeff@FreeBSD.org>
Subject:   RE: cvs commit: src/sys/kern kern_malloc.c src/sys/vm uma_core.c
Message-ID:  <XFMail.20020502131854.jhb@FreeBSD.org>
In-Reply-To: <20020502131332.P9763-100000@mail.chesapeake.net>

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

On 02-May-2002 Jeff Roberson wrote:
> On Thu, 2 May 2002, John Baldwin wrote:
> 
>>
>> On 02-May-2002 Jeff Roberson wrote:
>> > jeff        2002/05/02 00:22:19 PDT
>> >
>> >   Modified files:
>> >     sys/kern             kern_malloc.c
>> >     sys/vm               uma_core.c uma_dbg.c
>> >     sys/sys              malloc.h
>> >   Log:
>> >   malloc/free(9) no longer require Giant.  Use the malloc_mtx to protect
>> >   the
>> >   mallochash.  Mallochash is going to go away as soon as I introduce the
>> >   kfree/kmalloc api and partially overhaul the malloc wrapper.  This can't
>> > happen
>> >   until all users of the malloc api that expect memory to be aligned on
>> >   the
>> > size
>> >   of the allocation are fixed.
>>
>> Can malloc() still block and still possibly obtain Giant internally?  If so,
>> malloc() should still not be called with other locks held.
>>
> 
> Yes, it can.  Is this rule due to lock order reversals?  If so there are
> certain situations where its use could be permitted.  In Geom, for
> example, giant is always acquired after the geom locks.

Yes but locks can't be held while blocking.  So since malloc can block malloc
should still not be called with locks held, even after Giant is dead and buried.

> Jeff

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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




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