[dpdk-dev] [PATCH 2/4] mem: add API to obstain memory-backed file info
Tan, Jianfeng
jianfeng.tan at intel.com
Tue Jan 12 10:12:13 CET 2016
Hi!
On 1/12/2016 4:26 AM, Rich Lane wrote:
> On Sun, Jan 10, 2016 at 3:43 AM, Jianfeng Tan <jianfeng.tan at intel.com
> <mailto:jianfeng.tan at intel.com>> wrote:
>
> @@ -1157,6 +1180,20 @@ rte_eal_hugepage_init(void)
> mcfg->memseg[0].len = internal_config.memory;
> mcfg->memseg[0].socket_id = socket_id;
>
> + hugepage =
> create_shared_memory(eal_hugepage_info_path(),
> + sizeof(struct hugepage_file));
> + hugepage->orig_va = addr;
> + hugepage->final_va = addr;
> + hugepage->physaddr = rte_mem_virt2phy(addr);
> + hugepage->size = pagesize;
>
>
> Should this be "hugepage->size = internal_config.memory"? Otherwise
> the vhost-user
> memtable entry has a size of only 2MB.
I don't think so. See the definition:
47 struct hugepage_file {
48 void *orig_va; /**< virtual addr of first mmap() */
49 void *final_va; /**< virtual addr of 2nd mmap() */
50 uint64_t physaddr; /**< physical addr */
51 size_t size; /**< the page size */
52 int socket_id; /**< NUMA socket ID */
53 int file_id; /**< the '%d' in HUGEFILE_FMT */
54 int memseg_id; /**< the memory segment to which page
belongs */
55 #ifdef RTE_EAL_SINGLE_FILE_SEGMENTS
56 int repeated; /**< number of times the page size
is repeated */
57 #endif
58 char filepath[MAX_HUGEPAGE_PATH]; /**< path to backing file
on filesystem */
59 };
size stands for the page size instead of total size.
Thanks,
Jianfeng
More information about the dev
mailing list