Re: [PATCH] processes with shared vm

From: Terje Eggestad (terje.eggestad@scali.no)
Date: Fri Aug 17 2001 - 03:04:04 EST


OK

Den 17 Aug 2001 03:56:49 -0400, skrev Robert Love:
> On 17 Aug 2001 09:50:06 +0200, Terje Eggestad wrote:
> > I figured out that it's difficult to find out from /proc
> > which processes that share VM (created with clone(CLONE_VM)).
>
> good idea, but use diff -u
>
> --
> Robert M. Love
> rml at ufl.edu
> rml at tech9.net

--- array.c Thu Aug 16 16:33:56 2001
+++ array.c.orig Mon Mar 19 21:34:55 2001
@@ -50,12 +50,6 @@
  * Al Viro & Jeff Garzik : moved most of the thing into base.c and
  * : proc_misc.c. The rest may eventually go into
  * : base.c too.
- *
- * Terje Eggestad : added in /proc/<pid>/status a VmClones: n
- * : that tells how many proc that uses the same VM
(mm_struct).
- * : if there are clones add another field
VmFirstClone with the
- * : clone with the lowest pid. Needed for things
like gtop that adds
- * : mem usage of groups of proc, or else they add
up the usage of threads.
  */
 
 #include <linux/config.h>
@@ -184,7 +178,7 @@
 static inline char * task_mem(struct mm_struct *mm, char *buffer)
 {
        struct vm_area_struct * vma;
- unsigned long data = 0, stack = 0;
+ unsigned long data = 0, stack = 0;
        unsigned long exec = 0, lib = 0;
 
        down_read(&mm->mmap_sem);
@@ -212,24 +206,12 @@
                "VmData:\t%8lu kB\n"
                "VmStk:\t%8lu kB\n"
                "VmExe:\t%8lu kB\n"
- "VmLib:\t%8lu kB\n"
- "VmClones:\t%d\n",
+ "VmLib:\t%8lu kB\n",
                mm->total_vm << (PAGE_SHIFT-10),
                mm->locked_vm << (PAGE_SHIFT-10),
                mm->rss << (PAGE_SHIFT-10),
                data - stack, stack,
- exec - lib, lib,
- mm->mm_users.counter-2);
- /* if we've vm clones, find the lowest/first pid of the clones
*/
- if (mm->mm_users.counter > 2) {
- struct task_struct *p;
- read_lock(&tasklist_lock);
- for_each_task(p) {
- if (p->mm == mm) break;
- };
- buffer += sprintf(buffer, "VmFirstClone:\t%d\n", p->pid);
- read_unlock(&tasklist_lock);
- };
+ exec - lib, lib);
        up_read(&mm->mmap_sem);
        return buffer;
 }

-- 
_________________________________________________________________________

Terje Eggestad terje.eggestad@scali.no Scali Scalable Linux Systems http://www.scali.com

Olaf Helsets Vei 6 tel: +47 22 62 89 61 (OFFICE) P.O.Box 70 Bogerud +47 975 31 574 (MOBILE) N-0621 Oslo fax: +47 22 62 89 51 NORWAY _________________________________________________________________________


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:21 EST