Messages in this thread |  | | Date | Mon, 17 Sep 2001 12:14:36 -0400 | Subject | Re: broken VM in 2.4.10-pre9 | From | Jan Harkes <> |
| |
On Mon, Sep 17, 2001 at 02:33:12PM +0200, Daniel Phillips wrote: > The inactive queues have always had both mapped and unmapped pages on > them. The reason for unmapping a swap cache page page when putting it
So the following code in refill_inactive_scan only exists in my imagination?
if (page_count(page) <= (page->buffers ? 2 : 1)) { deactivate_page_nolock(page); page_active = 0; } else { page_active = 1; }
We only move pages to the inactive list when they have one reference from the page cache and one from buffers. Since all mapped pte's also keep a reference, this means that there cannot be any pte's that point to this page by the time we decide to deactivate the page.
> any choice. The point where we place it on the inactive queue is the > last point where we're able to find its userspace page table entry.
And that is because we only move it after all pte's have been unmapped.
Jan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |