Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Aug 2001 12:55:46 -0700 (PDT)
From:      Matt Dillon <dillon@earth.backplane.com>
To:        Zhihui Zhang <zzhang@cs.binghamton.edu>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Allocate a page at interrupt time
Message-ID:  <200108051955.f75Jtk882156@earth.backplane.com>
References:   <Pine.SOL.4.21.0108031432070.28997-100000@opal>

next in thread | previous in thread | raw e-mail | index | archive | help
:I should have guessed the reason. Matthew Dillon answered this question on	
:Fri, 2 Jun 2000 as follows:
:
:
:    The VM routines that manage pages associated with objects are not
:    protected against interrupts, so interrupts aren't allowed to change
:    page-object associations.  Otherwise an interrupt at just the wrong
:    time could corrupt the mainline kernel VM code.
:
:
:On Thu, 2 Aug 2001, Zhihui Zhang wrote:
:
:> 
:> FreeBSD can not allocate from the PQ_CACHE queue in an interrupt context.
:> Can anyone explain it to me why this is the case?
:> 
:> 
:> Thanks,

    Yes, that is precisely the reason.  In -current this all changes, though,
    since interrupts are now threads.  *But*, that said, interrupts cannot
    really afford to hold mutexes that might end up blocking them for 
    long periods of time so I would still recommend that interrupt code not
    attempt to allocate pages out of PQ_CACHE.

						-Matt


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




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