Page MenuHomeFreeBSD

Avoid requeuing active pages in vm_swapout_object_deactivate_pages().
ClosedPublic

Authored by markj on Aug 20 2019, 3:40 PM.

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
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

markj created this revision.Aug 20 2019, 3:40 PM
dougm accepted this revision.Aug 20 2019, 4:12 PM

Seems plausible.

This revision is now accepted and ready to land.Aug 20 2019, 4:12 PM
kib added a comment.Aug 20 2019, 7: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.

markj added a comment.Aug 20 2019, 7:17 PM
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.

markj added a comment.Aug 20 2019, 7:20 PM
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.

kib added a comment.Aug 20 2019, 7:31 PM
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.

kib accepted this revision.Aug 20 2019, 7:31 PM
alc accepted this revision.Aug 20 2019, 10:51 PM