]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Prior to r254304, we only began scanning the active page queue when the
authoralc <alc@FreeBSD.org>
Wed, 11 Sep 2013 17:23:42 +0000 (17:23 +0000)
committeralc <alc@FreeBSD.org>
Wed, 11 Sep 2013 17:23:42 +0000 (17:23 +0000)
commit11b50ccc0ed63bbd99489f7131d095e1783c0e2e
treed79384abb53a6c7ff5c8c8388d4700c2c211d27f
parentaa68cbca5903957047a27c2717c554a984fe847d
Prior to r254304, we only began scanning the active page queue when the
amount of free memory was close to the point at which we would begin
reclaiming pages.  Now, we continuously scan the active page queue,
regardless of the amount of free memory.  Consequently, we are continuously
calling pmap_ts_referenced() on active pages.

Prior to this change, pmap_ts_referenced() would always demote superpage
mappings in order to obtain finer-grained reference information.  This made
sense because we were coming under memory pressure and would soon have to
begin reclaiming pages.  Now, however, with continuous scanning of the
active page queue, these demotions are taking a toll on performance.  To
address this problem, I have replaced the demotion with a heuristic for
periodically clearing the reference flag on superpage mappings.

Approved by: re (kib)
Sponsored by: EMC / Isilon Storage Division
sys/i386/i386/pmap.c