- long unsigned num_pages = 0;
- const char *nr_hp_file;
-
- /* if secondary process, just look at the number of hugepages,
- * otherwise look at number of free hugepages */
- if (internal_config.process_type == RTE_PROC_SECONDARY)
- nr_hp_file = "nr_hugepages";
- else
- nr_hp_file = "free_hugepages";
+ long unsigned resv_pages, num_pages = 0;
+ const char *nr_hp_file = "free_hugepages";
+ const char *nr_rsvd_file = "resv_hugepages";
+
+ /* first, check how many reserved pages kernel reports */
+ snprintf(path, sizeof(path), "%s/%s/%s",
+ sys_dir_path, subdir, nr_rsvd_file);
+ if (eal_parse_sysfs_value(path, &resv_pages) < 0)
+ return 0;