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
F137979995: D21343.id61048.diff
Thu, Nov 27, 9:01 PM
Unknown Object (File)
Tue, Nov 25, 7:20 PM
Unknown Object (File)
Thu, Nov 20, 5:08 PM
Unknown Object (File)
Thu, Nov 20, 5:02 PM
Unknown Object (File)
Thu, Nov 20, 5:01 PM
Unknown Object (File)
Thu, Nov 20, 5:00 PM
Unknown Object (File)
Thu, Nov 20, 4:10 PM
Unknown Object (File)
Thu, Nov 20, 4:09 PM
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

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25979
Build 24534: arc lint + arc unit

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.