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)
Sun, May 10, 5:33 AM
Unknown Object (File)
Sun, May 10, 2:15 AM
Unknown Object (File)
Sat, May 9, 10:44 AM
Unknown Object (File)
Fri, May 8, 9:13 AM
Unknown Object (File)
Mon, Apr 27, 5:12 AM
Unknown Object (File)
Apr 20 2026, 12:44 PM
Unknown Object (File)
Apr 18 2026, 4:59 PM
Unknown Object (File)
Apr 4 2026, 6:29 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.