[CRIU] [PATCH] pagemap: add an ability to disable pagemap cache
Cyrill Gorcunov
gorcunov at gmail.com
Wed Aug 24 12:23:14 PDT 2016
On Wed, Aug 24, 2016 at 10:17:06PM +0300, Andrei Vagin wrote:
> From: Andrei Vagin <avagin at virtuozzo.com>
>
> We found that the 3.19 Ubuntu kernel has a bug and
> the pagemap cache doesn't work properly on this kernel.
>
> Unfortunately Travis-CI allows to create intancies only with this kernel,
> so we need to add this workaround.
>
> https://github.com/xemul/criu/issues/207
>
> Cc: Cyrill Gorcunov <gorcunov at openvz.org>
> Cc: Dmitry Safonov <dsafonov at virtuozzo.com>
> Signed-off-by: Andrei Vagin <avagin at virtuozzo.com>
> ---
> @@ -107,7 +117,8 @@ static int pmc_fill_cache(pmc_t *pmc, const struct vma_area *vma)
> * The benefit (apart redusing the number of read() calls)
> * is to walk page tables less.
> */
> - if (len < PMC_SIZE && (vma->e->start - low) < PMC_SIZE_GAP) {
> + if (!pagemap_cache_disabled &&
> + len < PMC_SIZE && (vma->e->start - low) < PMC_SIZE_GAP) {
> size_t size_cov = len;
> size_t nr_vmas = 1;
>
> @@ -174,3 +185,8 @@ void pmc_fini(pmc_t *pmc)
> xfree(pmc->map);
> pmc_reset(pmc);
> }
Wait. I don't understand this moment. If pagemap_cache_disabled then
we need to fill pagecache with present values, so criu would dump
all the pages?
More information about the CRIU
mailing list