I will make it short. I have a program in 2.0.36 who work all
the time. My special config that I think is important is that in my
rc.S I invoke "update -f 30" rather than the default (i think 5sec)
My program create 8 thousands directories and 8 thousands files
in a few seconds, (may be 120).
On 2.0.36 kernel, he create about 1300, then he goes to sleep while the
"/sbin/update" update the write-thru cache to disk, and then resume
working as he supposed to do, and complete the job, a step at a time.
On 2.2.* (*=any), when he goes first to sleep (ps show STAT 'D'), update
does the work, but after that, the cpu goes to 0% and my program never
resume the work.
In that state (ps show STAT 'D') he cannot even be killed -TERM nor kill -9
Only reboot can get rid of that process.
I removed the "-f 30" on /sbin/update, and now the program work ok
but obviously there may be a bug somewhere.
The important thing should be: When "update" is invoked by his
own timeout, everything is fine. When "update" is invoked
because of a starving of write cache process, he forgot to resume
the process who where stopped by the starving and waiting on him.
Christian Robert,
Polytechnique of Montreal.
[root@email:/usr/src/linux] # sh scripts/ver_linux
-- Versions installed: (if some fields are empty or looks
-- unusual then possibly you have very old versions)
Linux email 2.2.6 #2 Tue Apr 27 22:02:55 EDT 1999 i686 unknown
Kernel modules 2.1.121
Gnu C 2.8.1
Binutils 2.8.1.0.23
Linux C Library 5.4.46
Dynamic linker ldd: version 1.9.9
Linux C++ Library 2.8.
Procps 1.2.7
Mount 2.7l
Net-tools 1.50
Kbd 0.94
Sh-utils 1.16
Modules Loaded
[root@email:/usr/src/linux] #
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/