Linux Container Development
 help / color / mirror / Atom feed
  • [parent not found: <20090526162415.fb9cefef.akpm@linux-foundation.org>]
  • * Re: [PATCH 14/38] Remove struct mm_struct::exe_file et al
    @ 2009-05-26 11:36 Matt Helsley
      0 siblings, 0 replies; 34+ messages in thread
    From: Matt Helsley @ 2009-05-26 11:36 UTC (permalink / raw)
      To: Alexey Dobriyan
      Cc: xemul-bzQdu9zFT3WakBO8gow8eQ,
    	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
    	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
    	dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, mingo-X9Un+BFzKDI,
    	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
    	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b
    
    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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> -----
    
    From: Alexey Dobriyan <adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org
    Subject: [PATCH 14/38] Remove struct mm_struct::exe_file et al
    Date: Fri, 22 May 2009 08:55:08 +0400
    Cc: xemul-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
            linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org,
            mingo-X9Un+BFzKDI@public.gmane.org, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
            Alexey Dobriyan <adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    
    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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    ---
     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(-)
    
    ^ permalink raw reply	[flat|nested] 34+ messages in thread
    * [PATCH 01/38] cred: #include init.h in cred.h
    @ 2009-05-22  4:54 Alexey Dobriyan
           [not found] ` <1242968132-1044-1-git-send-email-adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
      0 siblings, 1 reply; 34+ messages in thread
    From: Alexey Dobriyan @ 2009-05-22  4:54 UTC (permalink / raw)
      To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b
      Cc: xemul-bzQdu9zFT3WakBO8gow8eQ,
    	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
    	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
    	dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, mingo-X9Un+BFzKDI,
    	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b, Alexey Dobriyan
    
    cred.h can't be included as first header because it uses __init and
    doesn't include init.h which is enough to break compilation on at least
    ia64.
    
    Signed-off-by: Alexey Dobriyan <adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    ---
     include/linux/cred.h |    1 +
     1 files changed, 1 insertions(+), 0 deletions(-)
    
    diff --git a/include/linux/cred.h b/include/linux/cred.h
    index 3282ee4..4fa9996 100644
    --- a/include/linux/cred.h
    +++ b/include/linux/cred.h
    @@ -13,6 +13,7 @@
     #define _LINUX_CRED_H
     
     #include <linux/capability.h>
    +#include <linux/init.h>
     #include <linux/key.h>
     #include <asm/atomic.h>
     
    -- 
    1.5.6.5
    
    ^ permalink raw reply related	[flat|nested] 34+ messages in thread

    end of thread, other threads:[~2009-06-15 22:10 UTC | newest]
    
    Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <20090526113618.GJ28083@us.ibm.com>
         [not found] ` <20090526113618.GJ28083-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
    2009-05-26 23:24   ` [PATCH 14/38] Remove struct mm_struct::exe_file et al Andrew Morton
         [not found] ` <20090526162415.fb9cefef.akpm@linux-foundation.org>
         [not found]   ` <20090526162415.fb9cefef.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
    2009-05-31 21:54     ` Alexey Dobriyan
         [not found]       ` <20090531215427.GA29534-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
    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
         [not found]               ` <alpine.LFD.2.01.0905311613260.3435-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
    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-03 23:04             ` [PATCH 1/9] exec_path 1/9: introduce ->exec_path and switch /proc/*/exe Alexey Dobriyan
         [not found]               ` <20090603230810.GJ853@x200.localdomain>
         [not found]                 ` <20090603230810.GJ853-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
    2009-06-04  7:24                   ` [PATCH 9/9] exec_path 9/9: remove VM_EXECUTABLE Matt Helsley
         [not found]               ` <20090604075532.GU9285@us.ibm.com>
         [not found]                 ` <20090604075532.GU9285-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
    2009-06-04  8:10                   ` [PATCH 1/9] exec_path 1/9: introduce ->exec_path and switch /proc/*/exe Matt Helsley
    2009-06-04 15:07                   ` Linus Torvalds
         [not found]                 ` <alpine.LFD.2.01.0906040803410.4880@localhost.localdomain>
         [not found]                   ` <alpine.LFD.2.01.0906040803410.4880-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
    2009-06-04 21:30                     ` Matt Helsley
         [not found]                   ` <20090604213033.GZ9285@us.ibm.com>
         [not found]                     ` <20090604213033.GZ9285-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
    2009-06-04 22:42                       ` 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:06                 ` [PATCH 4/9] exec_path 4/9: switch oprofile " 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: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
         [not found]               ` <20090605104517.GA11713@infradead.org>
         [not found]                 ` <20090605104517.GA11713-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
    2009-06-05 15:10                   ` Linus Torvalds
         [not found]                 ` <alpine.LFD.2.01.0906050808551.6847@localhost.localdomain>
         [not found]                   ` <alpine.LFD.2.01.0906050808551.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
    2009-06-05 15:41                     ` Alexey Dobriyan
         [not found]                   ` <20090605154147.GA16766@x200.localdomain>
         [not found]                     ` <20090605154147.GA16766-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
    2009-06-05 15:49                       ` Linus Torvalds
         [not found]                     ` <alpine.LFD.2.01.0906050848520.6847@localhost.localdomain>
         [not found]                       ` <alpine.LFD.2.01.0906050848520.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
    2009-06-05 16:09                         ` Alexey Dobriyan
         [not found]                       ` <20090605160943.GA5262@x200.localdomain>
         [not found]                         ` <20090605160943.GA5262-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
    2009-06-05 16:48                           ` Linus Torvalds
         [not found]                             ` <alpine.LFD.2.01.0906050942450.6847-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
    2009-06-05 17:46                               ` Alexey Dobriyan
         [not found]               ` <20090606072244.GA13497@ZenIV.linux.org.uk>
         [not found]                 ` <20090606072244.GA13497-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
    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
    2009-05-26 11:36 Matt Helsley
      -- strict thread matches above, loose matches on Subject: below --
    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
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox