On 10 November 2016 at 12:52, Christophe Milard < christophe.mil...@linaro.org> wrote:
> Hi, > > My hope was that packet segments would all be smaller than one page > (either normal pages or huge pages) to guarantee physical memory > continuity which is needed by some drivers (read non vfio drivers for > PCI). > > Francois Ozog's experience (with dpdk)shows that this hope will fail > in some case: not all platforms support the required huge page size. > And it would be nice to be able to run even in the absence of huge > pages. > > I am therefore planning to expand drvshm to include a flag requesting > contiguous physical memory. But sadly, from user space, this is > nothing we can guarantee... So when this flag is set, the allocator > will allocate untill physical memory "happens to be continuous". > This is a bit like the DPDK approach (try & error), which I dislike, > but there aren't many alternatives from user space. This would be > triggered only in case huge page allocation failed, or if the > requested size exceed the HP size. > > Last alternative would be to have a kernel module to do this kind of > allocation, but I guess we don't really want to depend on that... > > Any comment? > Would that module be launched from the implementations global init, or be an independent expectation on some other support lib that existed and it had installed the module ? Feels like and external support lib would be reusable by all implementations and not need re coding. -- Mike Holmes Program Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs "Work should be fun and collaborative, the rest follows"