Messages in this thread | | | Date | Fri, 10 Feb 2006 21:20:00 +0100 | From | Pavel Machek <> | Subject | vfork makes processes uninterruptible [was Re: [PATCH -mm] swsusp: freeze user space processes first] |
| |
Hi!
> > Can you produce userland testcase? If we have uninterruptible process for > > days... that's a bug in kernel, suspend or not. > > Sure, no problem. [Pretty scary, no?]
Yes, pretty scary. It will also raise system load for 300 seconds without any real load.
> The test code: > > #include <sys/types.h> > #include <unistd.h> > > int main(int argc, char *argv[]) > { > vfork(); > sleep(300); > > return 0; > } > > The result: > > rafael@albercik:~/programming/c> ./vfork_test & > [1] 12288 > rafael@albercik:~/programming/c> ps l > F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND > 0 500 6937 6931 17 0 10048 2368 read_c Ss+ pts/1 0:00 /bin/bash > 0 500 12139 12133 15 0 10052 2380 wait Ss pts/2 0:00 /bin/bash > 0 500 12288 12139 15 0 2420 304 fork D pts/2 0:00 ./vfork_tes > 1 500 12291 12288 18 0 2420 304 hrtime S pts/2 0:00 ./vfork_tes > 0 500 12372 12139 15 0 3596 820 - R+ pts/2 0:00 ps l > rafael@albercik:~/programming/c> kill 12288 > rafael@albercik:~/programming/c> ps l > F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND > 0 500 6937 6931 17 0 10048 2368 read_c Ss+ pts/1 0:00 /bin/bash > 0 500 12139 12133 15 0 10052 2380 wait Ss pts/2 0:00 /bin/bash > 0 500 12288 12139 15 0 2420 304 fork D pts/2 0:00 ./vfork_tes > 1 500 12291 12288 18 0 2420 304 hrtime S pts/2 0:00 ./vfork_tes > 0 500 12380 12139 17 0 3600 820 - R+ pts/2 0:00 ps l > rafael@albercik:~/programming/c> kill -9 12288 > rafael@albercik:~/programming/c> ps l > F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND > 0 500 6937 6931 17 0 10048 2368 read_c Ss+ pts/1 0:00 /bin/bash > 0 500 12139 12133 15 0 10052 2380 wait Ss pts/2 0:00 /bin/bash > 0 500 12288 12139 15 0 2420 304 fork D pts/2 0:00 ./vfork_tes > 1 500 12291 12288 18 0 2420 304 hrtime S pts/2 0:00 ./vfork_tes > 0 500 12387 12139 16 0 3596 816 - R+ pts/2 0:00 ps l > rafael@albercik:~/programming/c> > > Greetings, > Rafael
-- Web maintainer for suspend.sf.net (www.sf.net/projects/suspend) wanted... - 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/
| |