Thread (196 messages) 196 messages, 20 authors, 2016-06-24

Re: [PATCH 2/4] mem: add API to obstain memory-backed file info

From: Tan, Jianfeng <hidden>
Date: 2016-01-12 09:12:18

Hi!

On 1/12/2016 4:26 AM, Rich Lane wrote:
On Sun, Jan 10, 2016 at 3:43 AM, Jianfeng Tan <jianfeng.tan@intel.com 
<mailto:jianfeng.tan@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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help