HomeFreeBSD

The intent of the freeing the (zeroed) page in vm_page_cache() for
rS173357Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

The intent of the freeing the (zeroed) page in vm_page_cache() for
default object rather than cache it was to have
vm_pager_has_page(object, pindex, ...) == FALSE to imply that there is
no cached page in object at pindex. This allows to avoid explicit
checks for cached pages in vm_object_backing_scan().

For now, we need the same bandaid for the swap object, otherwise both
the vm_page_lookup() and the pager can report that there is no page at
offset, while page is stored in the cache. Also, this fixes another
instance of the KASSERT("object type is incompatible") failure in the
vm_page_cache_transfer().

Reported and tested by: Peter Holm
Reviewed by: alc
MFC after: 3 days

Details

Provenance
kibAuthored on
Parents
rS173356: MFC revs. 1.12, 1.13: kill EOL w/spaces; update to the 1 November 2007
Branches
Unknown
Tags
Unknown

Event Timeline