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)
Dec 23 2023, 12:21 AM
Unknown Object (File)
Aug 7 2023, 4:58 AM
Unknown Object (File)
Aug 7 2023, 4:57 AM
Unknown Object (File)
Aug 7 2023, 4:46 AM
Unknown Object (File)
Aug 2 2023, 6:17 PM
Unknown Object (File)
Aug 2 2023, 3:32 AM
Unknown Object (File)
Jul 20 2023, 4:29 AM
Unknown Object (File)
Jul 15 2023, 10:16 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

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.