On Tue, Nov 27, 2001 at 05:09:00PM -0800, Krishna Kondaka wrote: > I suspect that there are some memory leaks in the SMP MIPS linux 2.4.9. > I would like to know if any one found the root cause and fixed them. See patch below for fix. > I just ran the script for 3 hours are here is the diff between > the out put of /proc/meminfo and /proc/slabinfo before and > after the test run ( lines with "<" are before the test and > lines with ">" are after the test) (Try diff -u which generates much more human readable output.) > When I did some investigation, it looked like d_lookup() is > not finding /proc/meminfo and /proc/slabinfo in the dcache and > it is doing d_alloc() to add these to the cache every time > cat /proc/meminfo or cat /proc/slabinfo is done. This looked odd > and I ran the same script on x86 based linux (running 2.4.2) and > I did not see MemFree (or any other caches) changing after the > test was run for an hour. I am not sure how this is architecture > dependent. These caches essentially keep growing until you run out of memory which is when they'll be freed. Ralf --- linux.orig/include/asm-mips/mmu_context.h.orig Wed Nov 28 14:45:19 2001 +++ linux/include/asm-mips/mmu_context.h Wed Nov 28 14:47:37 2001 @@ -109,7 +109,10 @@ */ extern inline void destroy_context(struct mm_struct *mm) { - /* Nothing to do. */ +#ifdef CONFIG_SMP + if (mm->context) + kfree((void *)mm->context); +#endif } /*