I hoped such a kernel module would already exist, but I am surprised
that DPDK would not rely on it. Maybe there is a limitation I cannot
see. I'll keep searching. Francois, maybe you know the answer?

On 10 November 2016 at 19:10, Mike Holmes <mike.hol...@linaro.org> wrote:
>
>
> 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 │ Open source software for ARM SoCs
> "Work should be fun and collaborative, the rest follows"
>
>

Reply via email to