mbox series

[0/2] fs/proc: extend the PAGEMAP_SCAN ioctl to report

Message ID 20250320063903.2685882-1-avagin@google.com (mailing list archive)
Headers show
Series fs/proc: extend the PAGEMAP_SCAN ioctl to report | expand

Message

Andrei Vagin March 20, 2025, 6:39 a.m. UTC
Introduce the PAGE_IS_GUARD flag in the PAGEMAP_SCAN ioctl to expose
information about guard regions. This allows userspace tools, such as
CRIU, to detect and handle guard regions.

This series should be applied on top of "[PATCH 0/2] fs/proc/task_mmu:
add guard region bit to pagemap":
https://lore.kernel.org/all/2025031926-engraved-footer-3e9b@gregkh/T/

The series includes updates to the documentation and selftests to
reflect the new functionality.

Andrei Vagin (2):
  fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions
  selftests/mm: add PAGEMAP_SCAN guard region test

 Documentation/admin-guide/mm/pagemap.rst   |  1 +
 fs/proc/task_mmu.c                         |  8 +++-
 include/uapi/linux/fs.h                    |  1 +
 tools/testing/selftests/mm/guard-regions.c | 53 ++++++++++++++++++++++
 4 files changed, 61 insertions(+), 2 deletions(-)

Comments

Lorenzo Stoakes March 20, 2025, 10:57 a.m. UTC | #1
Well I guess it couldn't wait ;) we're (very!) late in the cycle and
immediately pre-LSF (will you be there btw?) so this is 6.16 for sure.

Kinda wish you'd mentioned you wanted to do it as I'd rearranged my
schedule to tackle this as a priority post-LSF, but you've done a good job
so we're all good! Just a little heads up would have been nice ;)

Some nits and you need to fix the test header thing but otherwise good.

On Thu, Mar 20, 2025 at 06:39:01AM +0000, Andrei Vagin wrote:
> Introduce the PAGE_IS_GUARD flag in the PAGEMAP_SCAN ioctl to expose
> information about guard regions. This allows userspace tools, such as
> CRIU, to detect and handle guard regions.

Might be worth underlining why it is so crucial for CRIU, and what
advantages PAGEMAP_SCAN confers.

>
> This series should be applied on top of "[PATCH 0/2] fs/proc/task_mmu:
> add guard region bit to pagemap":
> https://lore.kernel.org/all/2025031926-engraved-footer-3e9b@gregkh/T/

No need for this, this applies fine against mm-unstable, though we're
looking at 6.16 for this now obviously.

>
> The series includes updates to the documentation and selftests to
> reflect the new functionality.

I love to see it! :>)

Please also, once this moves along, send an update to the manpage please.

>
> Andrei Vagin (2):
>   fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions
>   selftests/mm: add PAGEMAP_SCAN guard region test
>
>  Documentation/admin-guide/mm/pagemap.rst   |  1 +
>  fs/proc/task_mmu.c                         |  8 +++-
>  include/uapi/linux/fs.h                    |  1 +
>  tools/testing/selftests/mm/guard-regions.c | 53 ++++++++++++++++++++++
>  4 files changed, 61 insertions(+), 2 deletions(-)
>
> --
> 2.49.0.rc1.451.g8f38331e32-goog
>

Cheers, Lorenzo
Andrei Vagin March 20, 2025, 3 p.m. UTC | #2
On Thu, Mar 20, 2025 at 4:04 AM Lorenzo Stoakes
<lorenzo.stoakes@oracle.com> wrote:
>
> Well I guess it couldn't wait ;) we're (very!) late in the cycle and
> immediately pre-LSF (will you be there btw?) so this is 6.16 for sure.
>
> Kinda wish you'd mentioned you wanted to do it as I'd rearranged my
> schedule to tackle this as a priority post-LSF, but you've done a good job
> so we're all good! Just a little heads up would have been nice ;)
>
> Some nits and you need to fix the test header thing but otherwise good.

I wasn't rushing these changes. Just trying to help and save you some
time:). We'd like to backport this to older releases, but that's a separate
task. I'll submit backport requests to the stable branches and hope
(fingers crossed) the maintainers approve them. Sorry I didn't let you know
I could help with this.

Thanks for the review.

P.S. I don't think I made the CRIU urgency clear enough earlier. We're not
in panic mode, and we do have time to handle this. The lightweight guard
regions are in glibc, but aren't in any distro releases yet. We found the
problem when CRIU tests started failing on Fedora Rawhide. We probably have
a few months before the new glibc hits official distros and becomes a real
issue for CRIU users.

Thanks,
Andrei
Lorenzo Stoakes March 21, 2025, 9:49 a.m. UTC | #3
On Thu, Mar 20, 2025 at 08:00:36AM -0700, Andrei Vagin wrote:
> On Thu, Mar 20, 2025 at 4:04 AM Lorenzo Stoakes
> <lorenzo.stoakes@oracle.com> wrote:
> >
> > Well I guess it couldn't wait ;) we're (very!) late in the cycle and
> > immediately pre-LSF (will you be there btw?) so this is 6.16 for sure.
> >
> > Kinda wish you'd mentioned you wanted to do it as I'd rearranged my
> > schedule to tackle this as a priority post-LSF, but you've done a good job
> > so we're all good! Just a little heads up would have been nice ;)
> >
> > Some nits and you need to fix the test header thing but otherwise good.
>
> I wasn't rushing these changes. Just trying to help and save you some
> time:). We'd like to backport this to older releases, but that's a separate
> task. I'll submit backport requests to the stable branches and hope
> (fingers crossed) the maintainers approve them. Sorry I didn't let you know
> I could help with this.

Please don't submit any backport requests yet, let me handle that for
both. I mean I'm a maintainer of memory mapping bits, at least, so I
approve from my side :)

Andrew's input is necessary for rest, but let me handle that just so we
don't step on each other's toes here too much!

>
> Thanks for the review.
>
> P.S. I don't think I made the CRIU urgency clear enough earlier. We're not
> in panic mode, and we do have time to handle this. The lightweight guard
> regions are in glibc, but aren't in any distro releases yet. We found the
> problem when CRIU tests started failing on Fedora Rawhide. We probably have
> a few months before the new glibc hits official distros and becomes a real
> issue for CRIU users.

Good! I am eager to avoid any issues here. You'll find us in mm to be
responsive :)

>
> Thanks,
> Andrei

Cheers, Lorenzo