[dpdk-stable] patch 'mem: mark pages as not accessed when reserving VA' has been queued to stable release 19.11.3
Kevin Traynor
ktraynor at redhat.com
Tue Jun 9 15:45:19 CEST 2020
On 19/05/2020 13:53, luca.boccassi at gmail.com wrote:
> Hi,
>
> FYI, your patch has been queued to stable release 19.11.3
>
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 05/21/20. So please
> shout if anyone has objections.
>
> Also note that after the patch there's a diff of the upstream commit vs the
> patch applied to the branch. This will indicate if there was any rebasing
> needed to apply to the stable branch. If there were code changes for rebasing
> (ie: not only metadata diffs), please double check that the rebase was
> correctly done.
>
> Thanks.
>
> Luca Boccassi
>
> ---
> From d0e456e9b1af8594ed22382e33bc6e1d5acec994 Mon Sep 17 00:00:00 2001
> From: David Marchand <david.marchand at redhat.com>
> Date: Mon, 9 Mar 2020 15:54:42 +0100
> Subject: [PATCH] mem: mark pages as not accessed when reserving VA
>
> [ upstream commit 8a4baf06c17a806696fb10aba36fce7471983028 ]
>
> When the memory allocator reserves virtual addresses, it still does not
> know what they will be used for.
> Besides, huge areas are reserved for memory hotplug in multiprocess
> setups. But most of the pages are unused in the whole life of the
> processes.
>
> Change protection mode to PROT_NONE when only reserving VA.
> The memory allocator already switches to the right mode when making use
> of it.
>
> It also has the nice effect of getting those pages skipped by the kernel
> when calling mlockall() or when a coredump gets generated.
>
Hi, discussed this patch for 18.11 with David and he pointed out that
there is a fix for it on master:
commit 76e91e3f14fc13f31608167d698682790be45cba
Author: Li Feng <fengli at smartx.com>
Date: Fri Apr 24 18:42:05 2020 +0800
mem: mark pages as not accessed when freeing memory
Commit 8a4baf06c17a ("mem: mark pages as not accessed when reserving
VA")
has mapped the initialized memory with PROT_NONE, and when it's
unmapped,
eal_memalloc.c should remmap the anonymous memory with PROT_NONE too.
Fixes: 8a4baf06c17a ("mem: mark pages as not accessed when reserving
VA")
Cc: stable at dpdk.org
Signed-off-by: Li Feng <fengli at smartx.com>
Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
> Suggested-by: Andrea Arcangeli <aarcange at redhat.com>
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
> Acked-by: Aaron Conole <aconole at redhat.com>
> Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
> ---
> lib/librte_eal/common/eal_common_memory.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/eal_common_memory.c b/lib/librte_eal/common/eal_common_memory.c
> index 4a9cc1f19a..cc7d54e0c7 100644
> --- a/lib/librte_eal/common/eal_common_memory.c
> +++ b/lib/librte_eal/common/eal_common_memory.c
> @@ -97,7 +97,7 @@ eal_get_virtual_area(void *requested_addr, size_t *size,
> return NULL;
> }
>
> - mapped_addr = mmap(requested_addr, (size_t)map_sz, PROT_READ,
> + mapped_addr = mmap(requested_addr, (size_t)map_sz, PROT_NONE,
> mmap_flags, -1, 0);
> if (mapped_addr == MAP_FAILED && allow_shrink)
> *size -= page_sz;
>
More information about the stable
mailing list