Messages in this thread | | | Date | Sun, 2 Aug 2009 23:35:28 +0200 | From | Oleg Nesterov <> | Subject | Re: Possible memory leak via alloc_pid() |
| |
On 07/31, Catalin Marinas wrote: > > On Thu, 2009-07-30 at 23:29 +0200, Oleg Nesterov wrote: > > > > Since you can reproduce the problem easily, perhaps you can use the > > hack above to track get/put ? > > > > $ echo pid_of_Xorg > /proc/sys/kernel/xxx > > Below is the minicom capture. By the time Xorg dies, the count is 2.
Thanks a lot Catalin.
> When logging out, there are two counter incrementing events via > sys_wait4 and sys_ioctl, thoush I'm not sure whether they are > unbalanced.
wait4() is right, ioctl() looks fine too.
> pgrep Xorg > 1519 > 10:~# pgrep Xorg > /proc/sys/kernel/xxx > XXXXX(1519) ==22
Unfortunately there is nothing which looks like a leak. I gueess it is too late to start the tracking.
I'm afraid this won't really help too, but since nobody has a better idea for now, perhaps you can do another test?
Pleas rename Xorg to Xorg.origin, and make a simple Xorg script which does something like
#!/bin/sh
echo $$ >> /proc/sys/kernel/xxx exec /path/to/Xorg.origin $*
perhaps even this is too late, gdm can do a lot before execing.
Please avoid pgrep/ps/etc, proc adds a lot of noise. Better yet, it would be nice to start/stop Xorg with /proc unmounted, but I don't know is this can work without /proc.
Oleg.
| |