[CRIU] [PATCH v3 0/3] page-read: Add async mode

Mike Rapoport rppt at linux.vnet.ibm.com
Sat Nov 12 23:27:48 PST 2016


For lazy pages reading we need the ability to do ->read_pages callback
but not expect that it would return any data in the buffer.

Also, for regular restore, we don't need the data in memory immediately,
but agree to wait.

So here is the async page-read mode. For local case it's not truly async,
as it still calls blocking read() syscall. But in Linux kernel there's
no method for doing asynchronous read from page cache.

v2: 
* Lost limits.h in pagemap.c for IOV_MAX (compilation).

v3:
* Update the lseek patch to cope with random accesses
* Split asynchronous implementation into smaller functions

Pavel Emelyanov (3):
  page-read: Do not lseek pages*img file during sequential reads
  page-read: Add async arg to ->read_pages callback
  page-read: Implement asynchronous mode of reading pages (v2)

 criu/include/pagemap.h |  15 +++-
 criu/mem.c             |   7 +-
 criu/pagemap.c         | 187 ++++++++++++++++++++++++++++++++++++++++++++-----
 criu/shmem.c           |   2 +-
 criu/uffd.c            |   2 +-
 test/zdtm.py           |   2 +-
 6 files changed, 191 insertions(+), 24 deletions(-)

-- 
1.9.1



More information about the CRIU mailing list