Re: [PATCH v6 0/6] ioctl()-based API to query VMAs from /proc//maps

Andrii Nakryiko
2024-06-27T20:50:35Z

On Thu, Jun 27, 2024 at 12:59 PM Andrew Morton
<akpm@linux-foundation.org> wrote:
>
> On Thu, 27 Jun 2024 10:08:52 -0700 Andrii Nakryiko <andrii@kernel.org> wrote:
>
> > Implement binary ioctl()-based interface to /proc/<pid>/maps file to allow
> > applications to query VMA information more efficiently than reading *all* VMAs
> > nonselectively through text-based interface of /proc/<pid>/maps file.
>
> I appreciate the usefulness for monitoring large fleets, so I'll add
> this version to mm-unstable. As we're almost at -rc6 I'll await
> further review before deciding on the next steps.
>
> Is it possible/sensible to make this feature Kconfigurable so that people who
> don't need it can omit it?

It's just a matter of #ifdef/#endif, so not hard, technically
speaking. But I'm wondering what's the concern? This is mostly newly
added code (except factoring out get_vma_name logic, which won't be
#ifdef'ed anyways), so if no one is using this new API, then it should
cause no issue.

Generally speaking, I'd say if we don't *have to* add the Kconfig
option, I'd prefer that. But if you feel strongly, it's not hard for
me to do, of course.

Or are you concerned with the vmlinux code size increase? It doesn't
seem to be large enough to warrant a Kconfig, IMO (from
bloat-o-meter):

do_procmap_query - 1308 +1308
get_vma_name - 283 +283
procfs_procmap_ioctl - 47 +47
show_map_vma 444 274 -170

But again, do let me know if you insist.