• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xemul / criu / 968
64%
master: 66%

Build:
Build:
LAST BUILD BRANCH: criu-dev
DEFAULT BRANCH: master
Ran 13 May 2017 12:33AM UTC
Jobs 1
Files 216
Run time 12s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
968

push

travis-ci

avagin
mem: Delayed vma/pr restore (v2)

Performance experiments show, that we spend (relatively) a lot of time
mremap-ing areas from premap area into their proper places. This time
depends on the task being restored, but for those with many vmas this
can be up to 20%.

The thing is that premapping is only needed to restore cow pages since
we don't have any API in the kernel to share a page between two or more
anonymous vmas. For non-cowing areas we map mmap() them directly in
place. But for such cases we'll also need to restore the page's contents
also from the pie code.

Doing the whole page-read code from PIE is way too complex (for now), so
the proposal is to optimize the case when we have a single local pagemap
layer. This is what pr.pieok boolean stands for.

v2:
* Fixed ARM compiling (vma addresses formatting)
* Unused tail of premapped area was left in task after restore
* Preadv-ing pages in restorer context worked on corrupted iovs
  due to mistakes in pointer arithmetics
* AIO mapping skipped at premap wasn't mapped in pie
* Growsdown VMAs should sometimes (when they are "guarded" by
  previous VMA and guard page's contents cannot be restored in
  place) be premmaped
* Always premmap for lazy-pages restore

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>

19427 of 30230 relevant lines covered (64.26%)

87157.59 hits per line

Jobs
ID Job ID Ran Files Coverage
1 968.1 (TR_ARCH=local GCOV=1) 13 May 2017 12:33AM UTC 0
64.26
Travis Job 968.1
Source Files on build 968
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #968
  • 83407e21 on github
  • Prev Build on criu-dev (#967)
  • Next Build on criu-dev (#970)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc