linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Pasha Tatashin <pasha.tatashin@soleen.com>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	 linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	 cgroups@vger.kernel.org, linux-kselftest@vger.kernel.org,
	 akpm@linux-foundation.org, corbet@lwn.net,
	derek.kiernan@amd.com,  dragan.cvetic@amd.com, arnd@arndb.de,
	gregkh@linuxfoundation.org,  viro@zeniv.linux.org.uk,
	brauner@kernel.org, jack@suse.cz, tj@kernel.org,
	 hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev,
	 shakeel.butt@linux.dev, muchun.song@linux.dev,
	Liam.Howlett@oracle.com,  vbabka@suse.cz, jannh@google.com,
	shuah@kernel.org, vegard.nossum@oracle.com,
	 vattunuru@marvell.com, schalla@marvell.com, david@redhat.com,
	 willy@infradead.org, osalvador@suse.de,
	usama.anjum@collabora.com,  andrii@kernel.org,
	ryan.roberts@arm.com, peterx@redhat.com, oleg@redhat.com,
	 tandersen@netflix.com, rientjes@google.com, gthelen@google.com
Subject: Re: [RFCv1 1/6] mm: Make get_vma_name() function public
Date: Mon, 18 Nov 2024 15:40:57 -0500	[thread overview]
Message-ID: <CA+CK2bBqi7+RExARBq5m91kaxC+w+nLYnLf4wyM_MJjaxr2rAw@mail.gmail.com> (raw)
In-Reply-To: <8871d4b3-0cd8-4499-afe6-38a9c3426527@lucifer.local>

On Mon, Nov 18, 2024 at 5:27 AM Lorenzo Stoakes
<lorenzo.stoakes@oracle.com> wrote:
>
> On Sat, Nov 16, 2024 at 05:59:17PM +0000, Pasha Tatashin wrote:
> > Page Detective will be using get_vma_name() that is currently used by
> > fs/proc to show names of VMAs in /proc/<pid>/smaps for example.
> >
> > Move this function to mm/vma.c, and make it accessible by modules.
>
> This is incorrect.
>
> mm/vma.c is for internal VMA implementation details, whose interface is
> explicitly mm/vma.h. This is so we can maintain the internal mechanism
> separate from interfaces and, importantly, are able to userland unit test
> VMA functionality.
>
> I think this _should_ be in mm/vma.c, but if it were to be exported it
> would need to be via a wrapper function in mm/mmap.c or somewhere like
> this.

Ok, I can do that in the next version.

>
> Also you broke the vma tests, go run make in tools/testing/vma/...

Hm interesting, I will take a look, this is surprising, as this patch
should not really change the behavior of anything. I guess it would be
because of the out of kernel vma.c build?

>
> Your patch also does not apply against Andrew's tree and the mm-unstable
> branch (i.e. against 6.13 in other words) which is what new mm patches
> should be based upon.
>
> Maybe I'll comment on the cover letter, but I don't agree you should be
> doing mm implementation details in a driver.
>
> The core of this should be in mm rather than exporting a bunch of stuff and
> have a driver do it. You're exposing internal implementation details
> unnecessarily.

This is not a problem, I will convert Page Detective to be in core mm.

> > @@ -3474,6 +3474,9 @@ void setattr_copy(struct mnt_idmap *, struct inode *inode,
> >
> >  extern int file_update_time(struct file *file);
> >
> > +void get_vma_name(struct vm_area_struct *vma, const struct path **path,
> > +               const char **name, const char **name_fmt);
> > +
>
> You're putting something in an mm/ C-file and the header in fs.h? Eh?

This is done so we do not have to include struct path into vma.h. fs.h
already has some vma functions like: vma_is_dax() and vma_is_fsdax().


  reply	other threads:[~2024-11-18 20:41 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-16 17:59 [RFCv1 0/6] Page Detective Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 1/6] mm: Make get_vma_name() function public Pasha Tatashin
2024-11-18 10:26   ` Lorenzo Stoakes
2024-11-18 20:40     ` Pasha Tatashin [this message]
2024-11-18 20:44       ` Matthew Wilcox
2024-11-18 22:26         ` Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 2/6] pagewalk: Add a page table walker for init_mm page table Pasha Tatashin
2024-11-18  6:49   ` Christoph Hellwig
2024-11-18 10:32     ` Lorenzo Stoakes
2024-11-18 20:42     ` Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 3/6] mm: Add a dump_page variant that accept log level argument Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 4/6] misc/page_detective: Introduce Page Detective Pasha Tatashin
2024-11-16 22:20   ` Jonathan Corbet
2024-11-18 20:43     ` Pasha Tatashin
2024-11-18 11:11   ` Lorenzo Stoakes
2024-11-18 21:55   ` Jann Horn
2024-11-16 17:59 ` [RFCv1 5/6] misc/page_detective: enable loadable module Pasha Tatashin
2024-11-16 17:59 ` [RFCv1 6/6] selftests/page_detective: Introduce self tests for Page Detective Pasha Tatashin
2024-11-17  6:25   ` Muhammad Usama Anjum
2024-11-18 20:27     ` Pasha Tatashin
2024-11-18 11:17 ` [RFCv1 0/6] " Lorenzo Stoakes
2024-11-18 12:53   ` Jann Horn
2024-11-18 22:24     ` Pasha Tatashin
2024-11-19  0:39       ` Jann Horn
2024-11-19  1:29         ` Pasha Tatashin
2024-11-19 12:52           ` Jann Horn
2024-11-19 15:14             ` Pasha Tatashin
2024-11-19 15:53               ` Jann Horn
2024-11-19 18:51             ` Matthew Wilcox
2024-11-18 19:11 ` Roman Gushchin
2024-11-18 22:08   ` Pasha Tatashin
2024-11-19  1:09     ` Greg KH
2024-11-19 15:08       ` Pasha Tatashin
2024-11-19 18:23         ` Roman Gushchin
2024-11-19 19:30           ` Pasha Tatashin
2024-11-19 19:35             ` Yosry Ahmed
2024-11-19 20:57               ` Roman Gushchin
2024-11-20 16:13               ` Pasha Tatashin
2024-11-20 17:33                 ` Yosry Ahmed
2024-11-20 17:46                   ` Pasha Tatashin
2024-11-20 15:29 ` Andi Kleen
2024-11-20 16:40   ` Pasha Tatashin
2024-11-20 19:14     ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+CK2bBqi7+RExARBq5m91kaxC+w+nLYnLf4wyM_MJjaxr2rAw@mail.gmail.com \
    --to=pasha.tatashin@soleen.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=andrii@kernel.org \
    --cc=arnd@arndb.de \
    --cc=brauner@kernel.org \
    --cc=cgroups@vger.kernel.org \
    --cc=corbet@lwn.net \
    --cc=david@redhat.com \
    --cc=derek.kiernan@amd.com \
    --cc=dragan.cvetic@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gthelen@google.com \
    --cc=hannes@cmpxchg.org \
    --cc=jack@suse.cz \
    --cc=jannh@google.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=mhocko@kernel.org \
    --cc=muchun.song@linux.dev \
    --cc=oleg@redhat.com \
    --cc=osalvador@suse.de \
    --cc=peterx@redhat.com \
    --cc=rientjes@google.com \
    --cc=roman.gushchin@linux.dev \
    --cc=ryan.roberts@arm.com \
    --cc=schalla@marvell.com \
    --cc=shakeel.butt@linux.dev \
    --cc=shuah@kernel.org \
    --cc=tandersen@netflix.com \
    --cc=tj@kernel.org \
    --cc=usama.anjum@collabora.com \
    --cc=vattunuru@marvell.com \
    --cc=vbabka@suse.cz \
    --cc=vegard.nossum@oracle.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox