On Don, 2010-01-07 at 20:34 +0530, Anand Raj Manickam wrote:
> I have a few doubts regarding Out of Memory .
>
> 1.Does memory leak in the kernel always lead to OOM ?
If the leaking code is occasionally used, it's just a question of time.
> 2. I wrote a kernel test module testing the memory leak , which on
> exit kmallocs
>
> exit_module ()
> {
> while(1)
> kmalloc((8*1024),GFP_KERNEL);
> }
>
> so when i rmmod test , the kernel never panicked on OOM , but it
> panicked on the page allocation stat (sorry for not attaching the
> dump)
Here you have the out-of-memory situation.
> Does the kernel differentiate between a Memory Leak and a Out of
> memory situation ?
>
> Google didnt help me in the releation between memory leak and OOM .
OOM (as used above) usually occurs if the userspace runs out of memory
(or one process or ...).
Memory management within the kernel is somewhat different because: If a
user process hits memory limits (or the systems memory runs out), that
process can (usually) be killed - just like a `kill -9` from user space
- and it's resources are freed. And the kernel can do this as he knows
everything of a user space process.
If kmalloc() in some kernel module (or core code) fails, that module
must cleanup and/or decide what to do (or the host will eventually
panic) - and such a module is plain simply buggy BTW.
Possible actions are e.g. failing sys-calls or the like.
Bernd
--
mobil: +43 664 4416156 http://bernd.petrovitsch.priv.at/
Linux Software Entwicklung, Beratung und Dienstleistungen
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ