Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jul 1998 17:16:57 -0700
From:      David Greenman <dg@root.com>
To:        zhihuizhang <bf20761@binghamton.edu>
Cc:        hackers <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: Questions on inactive page queue 
Message-ID:  <199807220016.RAA22239@implode.root.com>
In-Reply-To: Your message of "Tue, 21 Jul 1998 16:52:12 EDT." <Pine.SOL.L3.93.980721164337.25658A-100000@bingsun2> 

next in thread | previous in thread | raw e-mail | index | archive | help
>(1) Why we set a target for the inactive page queue? Who can manipulate
>the pages on the inactive page queue? How to guarantee that a page won't
>move from the inactive queue while paging out? 

   The main purpose of the inactive queue is for holding modified pages until
they are cleaned, but it is also used as a way of pessimizing a page for
reclaimation. The active and inactive queues are otherwise identical as
far as how you must handle the pages on them.

>(2) I find that the VM fault routine vm_fault() can call tsleep() to
>sleep! This contradict my knowledge that interrupt routine can never go to
>sleep. How can this happen?

   A page fault isn't a device interrupt - at least not in this context. The
process is put to sleep so that the system can have time to resolve the page
fault (perhaps requiring disk IO or the reclaimation of pages from another
process) before it is resumed.

-DG

David Greenman
Co-founder/Principal Architect, The FreeBSD Project

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?199807220016.RAA22239>