Hi, Thank you for your reply, - There are no zombies, however sometimes there are one or two processes that remain in the running state even after being killed (i.e. they must hang in some kernel function). They continue spending CPU time, and they even continue to run after I forcibly remove the module (by decrementing 'manually' it's usage count). These processes do however not explain the module's usage count, which remains higher than could be explained by the one or two remaining users. - I am quite sure that there are no memory leaks - I ran the driver with lower load/ lower memory consumption (i.e. less processes competing for access to the driver and the driver accepting only 16 rather than 32 processes simultaneously). I could run it for over 12 hours, and after (successfully) killing all processes, everything was OK - i.e. the driver's usage count dropped back to 0 and the amount of free memory (seen by free -b) was the same as before running the test. So the problem really seems to be linked to the high CPU load / low memory situation. regards Martin Venu Vadapalli wrote: > Do you see any zombies? Did you make sure there are no memory leaks in the > driver? > > ----- Original Message ----- > From: Martin Maletinsky <maletinsky@scs.ch> > To: <kernelnewbies@nl.linux.org> > Sent: Monday, February 18, 2002 3:41 PM > Subject: Linux under high load > > > Hi, > > > > I am writing a device driver. While testing the driver, I run it under > high load (i.e. most of the physical memory is allocated by the driver, > hundreds of processes > > competing for access to the driver interface, which allows 32 processes at > a time only). In that situation, the machine 'almost hangs', i.e. input on > the terminal is > > processed extremly slowly (dozens of seconds up to more than a minute, for > a /sbin/lsmod) - this is not surprising, due to both, the lack of available > memory as well as the > > high number of running processes (moreover the machine is diskless, > booting over the network, and has no swap space). > > When I kill all the processes that use the driver (with killall), I > sometimes observe, that the driver's > > usage count does not drop to 0, and that the driver does not release the > memory it had allocated (the driver allocates memory on behalf of a process > when the process opens > > the driver - it releases that memory in the release() method). The > symptoms look as if some of the processes would have vanished, without > invoking the release() method. > > Since I don't observe any such problems or inconsistencies unless running > with excessively high load, I was wondering, if that problem might be > related to the Linux OS, > > rather than to my driver (one possiblity would be that Linux removes some > processes under high load, without properly calling the release method for > all open files). > > Has anyone made similar observations? > > > > regards > > Martin > > > > -- > > Supercomputing System AG email: maletinsky@scs.ch > > Martin Maletinsky phone: +41 (0)1 445 16 05 > > Technoparkstrasse 1 fax: +41 (0)1 445 16 10 > > CH-8005 Zurich > > > > > > -- > > Kernelnewbies: Help each other learn about the Linux kernel. > > Archive: http://mail.nl.linux.org/kernelnewbies/ > > IRC Channel: irc.openprojects.net / #kernelnewbies > > Web Page: http://www.kernelnewbies.org/ > > > > -- Supercomputing System AG email: maletinsky@scs.ch Martin Maletinsky phone: +41 (0)1 445 16 05 Technoparkstrasse 1 fax: +41 (0)1 445 16 10 CH-8005 Zurich -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/