@@ -1773,7 +1773,7 @@ inline bool HugePageFiller<TrackerType>::TryUserspaceCollapse(
17731773template <class TrackerType >
17741774inline void HugePageFiller<TrackerType>::TryHugepageCollapse(
17751775 PageFlagsBase* pageflags, Residency* residency) {
1776- // Trying to collapse the pages invoves three steps:
1776+ // Trying to collapse the pages involves three steps:
17771777 // 1. Collect up to kTotalTrackersToScan trackers that may be collapsed.
17781778 // Eligible pages here include:
17791779 // a. The trackers that manage pages that either were hugepage backed or
@@ -1799,6 +1799,8 @@ inline void HugePageFiller<TrackerType>::TryHugepageCollapse(
17991799
18001800 // Collect all the addresses under pageheap lock that aren't likely hugepage
18011801 // backed, and that were last scanned more than kRecordInterval ago.
1802+ const double now = clock_.now ();
1803+ const double frequency = clock_.freq ();
18021804 auto CollectNonHugePageAddresses =
18031805 [&](TrackerType& pt) GOOGLE_MALLOC_SECTION {
18041806 if (num_valid_addresses >= kTotalTrackersToScan ) return ;
@@ -1812,8 +1814,6 @@ inline void HugePageFiller<TrackerType>::TryHugepageCollapse(
18121814 pt.SetMaybeCollapse (/* value=*/ true );
18131815 return ;
18141816 }
1815- double now = clock_.now ();
1816- double frequency = clock_.freq ();
18171817 double elapsed = std::max<double >(now - state.record_time , 0 );
18181818 if (elapsed > absl::ToDoubleSeconds (kRecordInterval ) * frequency) {
18191819 page_trackers[num_valid_addresses] = &pt;
@@ -1866,7 +1866,7 @@ inline void HugePageFiller<TrackerType>::TryHugepageCollapse(
18661866 bool is_hugepage =
18671867 pageflags->IsHugepageBacked (tracker->location ().start_addr ());
18681868 state.entry_valid = true ;
1869- state.record_time = clock_. now () ;
1869+ state.record_time = now;
18701870 bool collapsed = false ;
18711871 size_t total_swapped_pages = 0 ;
18721872 size_t total_unbacked_pages = 0 ;
0 commit comments