All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Helsley <matthltc@us.ibm.com>
To: Alexey Dobriyan <adobriyan@gmail.com>
Cc: xemul@parallels.com, containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, dave@linux.vnet.ibm.com,
	mingo@elte.hu, torvalds@linux-foundation.org,
	akpm@linux-foundation.org
Subject: Re: [PATCH 14/38] Remove struct mm_struct::exe_file et al
Date: Tue, 26 May 2009 04:36:18 -0700	[thread overview]
Message-ID: <20090526113618.GJ28083@us.ibm.com> (raw)

I don't see any mention in the changelog of the point brought up by Ingo:

http://lkml.org/lkml/2009/4/10/105

You also haven't responded to my comment about holding mmap
semaphore:

http://lkml.indiana.edu/hypermail/linux/kernel/0904.1/01417.html

Also, please consider combining with Ingo's point with mine: the mmap
semaphore will be held for the duration of that long VMA walk. Plus
any userspace task can trigger that walk as often as they like via
readlink.

It also appears you haven't responded to Eric and Andrew's suggestion
of a struct path in place of a file reference: 

http://lkml.indiana.edu/hypermail/linux/kernel/0904.1/01698.html

Lastly, please keep me on Cc for future revisions of this patch since
I am interested in following changes to the implementation of
/proc/*/exe.

Thanks,
	-Matt Helsley

----- Forwarded message from Alexey Dobriyan <adobriyan@gmail.com> -----

From: Alexey Dobriyan <adobriyan@gmail.com>
To: akpm@linux-foundation.org
Subject: [PATCH 14/38] Remove struct mm_struct::exe_file et al
Date: Fri, 22 May 2009 08:55:08 +0400
Cc: xemul@parallels.com, containers@lists.linux-foundation.org,
        linux-kernel@vger.kernel.org, dave@linux.vnet.ibm.com,
        mingo@elte.hu, torvalds@linux-foundation.org,
        Alexey Dobriyan <adobriyan@gmail.com>

Commit 925d1c401fa6cfd0df5d2e37da8981494ccdec07 aka "procfs task exe
symlink".
introduced struct mm_struct::exe_file and struct
mm_struct::num_exe_file_vmas.

The rationale is weak: unifying MMU and no-MMU version of /proc/*/exe
code.
For this a) struct mm_struct becomes bigger, b) mmap/munmap/exit become
slower,
c) patch adds more code than removes in fact.

After commit 8feae13110d60cc6287afabc2887366b0eb226c2 aka
"NOMMU: Make VMAs per MM as for MMU-mode linux" no-MMU kernels also
maintain list of VMAs in ->mmap, so we can switch back for MMU version
of /proc/*/exe.

This also helps C/R, no need to save and restore ->exe_file and to count
additional references to check if there is a leak of struct file outside
group of checkpointed resources.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
 fs/exec.c                |    2 -
 fs/proc/base.c           |  105
+++++++++++++---------------------------------
 include/linux/mm.h       |   12 -----
 include/linux/mm_types.h |    6 ---
 include/linux/proc_fs.h  |   20 ---------
 kernel/fork.c            |    3 -
 mm/mmap.c                |   22 ++--------
 mm/nommu.c               |   16 +------
 8 files changed, 36 insertions(+), 150 deletions(-)


             reply	other threads:[~2009-05-26 11:36 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-26 11:36 Matt Helsley [this message]
2009-05-26 23:24 ` [PATCH 14/38] Remove struct mm_struct::exe_file et al Andrew Morton
     [not found]   ` <20090526162415.fb9cefef.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-05-31 21:54     ` Alexey Dobriyan
2009-05-31 21:54       ` Alexey Dobriyan
2009-06-01 17:30       ` Matt Helsley
     [not found]       ` <20090531215427.GA29534-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-05-31 22:19         ` Andrew Morton
2009-05-31 22:19           ` Andrew Morton
     [not found]           ` <20090531151953.8f8b14b5.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-05-31 23:15             ` Linus Torvalds
2009-05-31 23:15               ` Linus Torvalds
     [not found]               ` <alpine.LFD.2.01.0905311613260.3435-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-05-31 23:50                 ` Andrew Morton
2009-05-31 23:50                   ` Andrew Morton
     [not found]                   ` <20090531165026.376a914c.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2009-06-01  0:02                     ` Linus Torvalds
2009-06-01  0:02                       ` Linus Torvalds
2009-06-03 23:04             ` [PATCH 1/9] exec_path 1/9: introduce ->exec_path and switch /proc/*/exe Alexey Dobriyan
2009-06-03 23:04               ` Alexey Dobriyan
2009-06-03 23:05               ` [PATCH 2/9] exec_path 2/9: switch audit to ->exec_path Alexey Dobriyan
2009-06-03 23:06               ` [PATCH 5/9] exec_path 5/9: make struct spu_context::owner task_struct Alexey Dobriyan
2009-06-03 23:07               ` [PATCH 7/9] exec_path 7/9: switch cell SPU thing to ->exec_path Alexey Dobriyan
2009-06-03 23:07               ` [PATCH 8/9] exec_path 8/9: remove ->exe_file et al Alexey Dobriyan
     [not found]               ` <20090603230422.GB853-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-06-03 23:05                 ` [PATCH 2/9] exec_path 2/9: switch audit to ->exec_path Alexey Dobriyan
2009-06-03 23:05                 ` [PATCH 3/9] exec_path 3/9: switch TOMOYO " Alexey Dobriyan
2009-06-03 23:05                   ` Alexey Dobriyan
2009-06-03 23:06                 ` [PATCH 4/9] exec_path 4/9: switch oprofile " Alexey Dobriyan
2009-06-03 23:06                   ` Alexey Dobriyan
2009-06-03 23:06                 ` [PATCH 5/9] exec_path 5/9: make struct spu_context::owner task_struct Alexey Dobriyan
2009-06-03 23:06                 ` [PATCH 6/9] exec_path 6/9: add struct spu::tsk Alexey Dobriyan
2009-06-03 23:06                   ` Alexey Dobriyan
2009-06-03 23:07                 ` [PATCH 7/9] exec_path 7/9: switch cell SPU thing to ->exec_path Alexey Dobriyan
2009-06-03 23:07                 ` [PATCH 8/9] exec_path 8/9: remove ->exe_file et al Alexey Dobriyan
2009-06-03 23:08                 ` [PATCH 9/9] exec_path 9/9: remove VM_EXECUTABLE Alexey Dobriyan
2009-06-03 23:36                 ` [PATCH 1/9] exec_path 1/9: introduce ->exec_path and switch /proc/*/exe Linus Torvalds
2009-06-04  7:55                 ` Matt Helsley
2009-06-05 10:45                 ` Christoph Hellwig
2009-06-06  7:22                 ` Al Viro
2009-06-03 23:08               ` [PATCH 9/9] exec_path 9/9: remove VM_EXECUTABLE Alexey Dobriyan
2009-06-04  7:24                 ` Matt Helsley
     [not found]                 ` <20090603230810.GJ853-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-06-04  7:24                   ` Matt Helsley
2009-06-03 23:36               ` [PATCH 1/9] exec_path 1/9: introduce ->exec_path and switch /proc/*/exe Linus Torvalds
2009-06-04  7:55               ` Matt Helsley
2009-06-04  8:10                 ` Matt Helsley
     [not found]                 ` <20090604075532.GU9285-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-06-04  8:10                   ` Matt Helsley
2009-06-04 15:07                   ` Linus Torvalds
2009-06-04 15:07                 ` Linus Torvalds
2009-06-04 21:30                   ` Matt Helsley
     [not found]                     ` <20090604213033.GZ9285-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-06-04 22:42                       ` Alexey Dobriyan
2009-06-04 22:42                     ` Alexey Dobriyan
     [not found]                       ` <20090604224239.GA10666-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-06-05  3:49                         ` Matt Helsley
2009-06-05  3:49                       ` Matt Helsley
     [not found]                   ` <alpine.LFD.2.01.0906040803410.4880-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-06-04 21:30                     ` Matt Helsley
2009-06-05 10:45               ` Christoph Hellwig
     [not found]                 ` <20090605104517.GA11713-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-06-05 15:10                   ` Linus Torvalds
2009-06-05 15:10                 ` Linus Torvalds
     [not found]                   ` <alpine.LFD.2.01.0906050808551.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-06-05 15:41                     ` Alexey Dobriyan
2009-06-05 15:41                   ` Alexey Dobriyan
2009-06-05 15:49                     ` Linus Torvalds
     [not found]                       ` <alpine.LFD.2.01.0906050848520.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-06-05 16:09                         ` Alexey Dobriyan
2009-06-05 16:09                       ` Alexey Dobriyan
     [not found]                         ` <20090605160943.GA5262-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-06-05 16:48                           ` Linus Torvalds
2009-06-05 16:48                             ` Linus Torvalds
2009-06-05 17:46                             ` Alexey Dobriyan
     [not found]                             ` <alpine.LFD.2.01.0906050942450.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-06-05 17:46                               ` Alexey Dobriyan
     [not found]                     ` <20090605154147.GA16766-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-06-05 15:49                       ` Linus Torvalds
2009-06-06  7:22               ` Al Viro
     [not found]                 ` <20090606072244.GA13497-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2009-06-15 22:10                   ` Alexey Dobriyan
2009-06-15 22:10                 ` Alexey Dobriyan
2009-06-01 17:30         ` [PATCH 14/38] Remove struct mm_struct::exe_file et al Matt Helsley
     [not found] ` <20090526113618.GJ28083-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-05-26 23:24   ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2009-05-26 11:36 Matt Helsley
2009-05-22  4:54 [PATCH 01/38] cred: #include init.h in cred.h Alexey Dobriyan
     [not found] ` <1242968132-1044-1-git-send-email-adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-05-22  4:55   ` [PATCH 14/38] Remove struct mm_struct::exe_file et al Alexey Dobriyan
2009-05-22  4:55 ` Alexey Dobriyan

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=20090526113618.GJ28083@us.ibm.com \
    --to=matthltc@us.ibm.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=xemul@parallels.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.