System paging parameters no longer calculated at boot after 13097
After system boot,
schedpaging() kicks off a full scan of all memory pages until
pageout_sample_cnt >= pageout_sample_lim, in order to calibrate the speed at which memory pages can be scanned. Once this is determined, the initial paging parameters are set and
setupclock() is called again.
However, #13097 inadvertently changed this so that the parameters are not set until pageout is woken up for a real memory shortage.
Updated by Andy Fiddaman 12 months ago
Before the change, a freshly booted system (one which has never woken up the page scanner thread) shows that four sample runs have been done but
pageout_rate has not been set:
> pageout_sample_cnt/x pageout_sample_cnt: pageout_sample_cnt: 4 > pageout_rate/x pageout_rate: pageout_rate: 0 > pageout_new_spread/x pageout_new_spread: pageout_new_spread: 0
After, the values are properly set based on the initial sampling passes:
> pageout_sample_cnt/x pageout_sample_cnt: pageout_sample_cnt: 4 > pageout_new_spread/X pageout_new_spread: pageout_new_spread: 35a5f2 > pageout_rate/X pageout_rate: pageout_rate: 2187b75
Updated by Electric Monk 12 months ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit d12ea28fc42fd800e7bac951f1fd7607dc8e3afd Author: Andy Fiddaman <firstname.lastname@example.org> Date: 2021-02-12T20:24:19.000Z 13499 System paging parameters no longer calculated at boot after 13097 Reviewed by: Dan McDonald <email@example.com> Reviewed by: Joshua M. Clulow <firstname.lastname@example.org> Approved by: Robert Mustacchi <email@example.com>