dwww Home | Manual pages | Find package

UFFDIO_CONTINUE(2const)                                 UFFDIO_CONTINUE(2const)

NAME
       UFFDIO_CONTINUE - resolve a minor page fault

LIBRARY
       Standard C library (libc, -lc)

SYNOPSIS
       #include <linux/userfaultfd.h>  /* Definition of UFFD* constants */
       #include <sys/ioctl.h>

       int ioctl(int fd, UFFDIO_CONTINUE, struct uffdio_continue *argp);

       #include <linux/userfaultfd.h>

       struct uffdio_continue {
           struct uffdio_range  range;
                            /* Range to install PTEs for and continue */
           __u64   mode;    /* Flags controlling the behavior of continue */
           __s64   mapped;  /* Number of bytes mapped, or negated error */
       };

DESCRIPTION
       Resolve a minor page fault by installing page table entries for existing
       pages in the page cache.

       The  following  value may be bitwise ORed in mode to change the behavior
       of the UFFDIO_CONTINUE operation:

       UFFDIO_CONTINUE_MODE_DONTWAKE
              Do not wake up the thread that waits for page-fault resolution.

       The mapped field is used by the kernel to return  the  number  of  bytes
       that  were  actually  mapped,  or  an  error  in the same manner as UFF-
       DIO_COPY.  If the value returned in the mapped field doesn't  match  the
       value  that was specified in range.len, the operation fails with the er-
       ror EAGAIN.  The mapped field is output-only; it is not read by the UFF-
       DIO_CONTINUE operation.

RETURN VALUE
       This ioctl(2) operation returns 0 on success.  In this case, the  entire
       area  was mapped.  On error, -1 is returned and errno is set to indicate
       the error.

ERRORS
       EAGAIN The number of bytes mapped  (i.e.,  the  value  returned  in  the
              mapped  field) does not equal the value that was specified in the
              range.len field.

       EEXIST One or more pages were already mapped in the given range.

       EFAULT No existing page could be found in the page cache for  the  given
              range.

       EINVAL Either  range.start or range.len was not a multiple of the system
              page size; or range.len was zero; or the range specified was  in-
              valid.

       EINVAL An invalid bit was specified in the mode field.

       ENOENT The faulting process has changed its virtual memory layout simul-
              taneously with an outstanding UFFDIO_CONTINUE operation.

       ENOMEM Allocating memory needed to setup the page table mappings failed.

       ESRCH  The  faulting process has exited at the time of a UFFDIO_CONTINUE
              operation.

STANDARDS
       Linux.

HISTORY
       Linux 5.13.

EXAMPLES
       See userfaultfd(2).

SEE ALSO
       ioctl(2), ioctl_userfaultfd(2), userfaultfd(2)

       linux.git/Documentation/admin-guide/mm/userfaultfd.rst

Linux man-pages 6.9.1              2024-06-17           UFFDIO_CONTINUE(2const)

Generated by dwww version 1.16 on Tue Dec 16 04:34:13 CET 2025.