Re: pidns memory leak
From: Daniel Lezcano
Date:  Thu Oct 08 2009 - 04:13:54 EST
Sukadev Bhattiprolu wrote:
Still digging through some traces, but below I have some questions that 
I am still trying to answer.
I am not sure what you mean by 'struct pids' but what I observed is:
Ok, I see that too. If pids leak, then pid-namespace will leak too.
Do you see any leaks in proc_inode_cache ?
Yes, right. It leaks too.
pid_2 and pid_namespace (as they are named in /proc/slabinfo) are never  
decremented.
And the pid_namespace does not seem to reproduce for me, with out the
'ls -al /proc/...' above, or with the simpler 'ns_exec' approach to
creating pid namespace.
I tried to write a simpler program but I failed to reproduce it.
I am going through the code for lxc-execute, but does it remount /proc  
in the container ?
Right, the parent does a clone(NEWMNT|NEWPID|NEWIPC|NEWUTS), wait for  
the child while this one (pid 1) 'execs' the lxc-init process. This  
program mounts /proc and fork-exec the command passed as parameter (here  
'sleep 3600').
Without this intermediate process, the leak *seems* not happening.
If you don't access /proc/<pid>/<file>, the leak is not happening.
I could not see the code for that.  Does lxc-stop unmount /proc too ?
Or is the umount expected to happen automatically after all processes
in the container are killed ?
The umount is expected to happen automatically. I can not access the 
container from the outside to umount /proc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/