[dpdk-dev] Unlinking hugepage backing file after initialiation

shesha Sreenivasamurthy (shesha) shesha at cisco.com
Tue Sep 29 16:03:59 CEST 2015


What do you mean by secondary process attaching to primary process (Master-slave setup ?) ? The first process crashed, how can we be sure that memory is not half written ?

--
- Thanks
char * (*shesha) (uint64_t cache, uint8_t F00D)
{ return 0x0000C0DE; }

From: Bruce Richardson <bruce.richardson at intel.com<mailto:bruce.richardson at intel.com>>
Organization: Intel Shannon Ltd.
Date: Tuesday, September 29, 2015 at 4:14 AM
To: "Ananyev, Konstantin" <konstantin.ananyev at intel.com<mailto:konstantin.ananyev at intel.com>>
Cc: Cisco Employee <shesha at cisco.com<mailto:shesha at cisco.com>>, "dev at dpdk.org<mailto:dev at dpdk.org>" <dev at dpdk.org<mailto:dev at dpdk.org>>
Subject: Re: [dpdk-dev] Unlinking hugepage backing file after initialiation

On Tue, Sep 29, 2015 at 09:03:15AM +0000, Ananyev, Konstantin wrote:
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of shesha Sreenivasamurthy (shesha)
> Sent: Tuesday, September 29, 2015 1:04 AM
> To: dev at dpdk.org<mailto:dev at dpdk.org>
> Subject: [dpdk-dev] Unlinking hugepage backing file after initialiation
>
> Hello,
> As of DPDK2.1, backing files are created in hugetablefs during mapping (in eal_memory.c::rte_eal_hugepage_init()) and these files are
> not cleaned up (unlinked) after initialization (mmap-ing). This means, when the application crashes or stopped, the memory is still
> consumed. Therefore, is there any reason not to unlink backing files after initialization
For secondary process(es) to be able to open/map them too?
Konstantin

Exactly. The hugepages are kept present on the file system so that secondary
processes can use them to attach to a primary process memory in a multi-process
setup.
What is done instead is that any old hugepage files are cleaned up when the
application starts (or restarts).

Regards,
/Bruce

>? If no, I will send a patch for the change.
>
> --
> - Thanks
> char * (*shesha) (uint64_t cache, uint8_t F00D)
> { return 0x0000C0DE; }



More information about the dev mailing list