Page MenuHomeFreeBSD

Avoid requeuing active pages in vm_swapout_object_deactivate_pages().
ClosedPublic

Authored by markj on Aug 20 2019, 3:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Feb 10, 1:09 PM
Unknown Object (File)
Mon, Feb 3, 6:29 AM
Unknown Object (File)
Tue, Jan 28, 11:44 PM
Unknown Object (File)
Jan 24 2025, 5:02 PM
Unknown Object (File)
Oct 10 2024, 4:04 AM
Unknown Object (File)
Sep 27 2024, 12:53 PM
Unknown Object (File)
Sep 8 2024, 9:41 AM
Unknown Object (File)
Sep 8 2024, 4:59 AM
Subscribers

Details

Summary

Elsewhere (e.g., vm_page_unwire()) we avoid requeuing active pages, so
there is not much sense in doing it here.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Aug 20 2019, 4:12 PM

I think that requeues there do help fairness, since we call pmap_ts_referenced() and check for PGA_REFERENCED. If we bumped act_count, then it is prudent to handle the page similar to the pagedaemon. OTOH, I do not object to the change.

In D21343#464279, @kib wrote:

I think that requeues there do help fairness, since we call pmap_ts_referenced() and check for PGA_REFERENCED. If we bumped act_count, then it is prudent to handle the page similar to the pagedaemon. OTOH, I do not object to the change.

The page daemon does not requeue pages after bumping act_count, though. This was changed in r332974.

In D21343#464279, @kib wrote:

I think that requeues there do help fairness, since we call pmap_ts_referenced() and check for PGA_REFERENCED. If we bumped act_count, then it is prudent to handle the page similar to the pagedaemon. OTOH, I do not object to the change.

The page daemon does not requeue pages after bumping act_count, though. This was changed in r332974.

I should add that the above statement is only true for pages in PQ_ACTIVE, which is the case for pages affected by this diff. For pages in PQ_INACTIVE or PQ_LAUNDRY, if the backing object is unmapped (i.e. object->ref_count == 0), we will requeue the page upon discovering a reference.

In D21343#464279, @kib wrote:

I think that requeues there do help fairness, since we call pmap_ts_referenced() and check for PGA_REFERENCED. If we bumped act_count, then it is prudent to handle the page similar to the pagedaemon. OTOH, I do not object to the change.

The page daemon does not requeue pages after bumping act_count, though. This was changed in r332974.

May be add the first sentence from this response as a comment in place of removed requeues.