Linux 4.8+ compatibility fix for vm stats

vm_node_stat must be used instead of vm_zone_stat. Unfortunately the
old code still compiles potentially leading to silent failure of
arc_evictable_memory()

AKAMAI: CR 3816601: Regression in zfs dropcache test

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
Signed-off-by: Debabrata Banerjee <dbanerje@akamai.com>
Closes #6528
This commit is contained in:
dbavatar
2017-08-24 13:48:23 -04:00
committed by Tony Hutter
parent 4810a108e8
commit 89950722c6
3 changed files with 28 additions and 0 deletions
+5
View File
@@ -4387,8 +4387,13 @@ arc_evictable_memory(void)
* Scale reported evictable memory in proportion to page cache, cap
* at specified min/max.
*/
#ifdef ZFS_GLOBAL_NODE_PAGE_STATE
uint64_t min = (ptob(global_node_page_state(NR_FILE_PAGES)) / 100) *
zfs_arc_pc_percent;
#else
uint64_t min = (ptob(global_page_state(NR_FILE_PAGES)) / 100) *
zfs_arc_pc_percent;
#endif
min = MAX(arc_c_min, MIN(arc_c_max, min));
if (arc_dirty >= min)