Messages in this thread | | | Date | Fri, 22 Jan 1999 22:02:59 +0000 | From | Steve Dodd <> | Subject | Help needed debugging NTFS oops / memory problems |
| |
Hi all,
Over the last few days, Joseph Malicki and I have been trying to debug an oops in the NTFS driver. Some simple printk insertions indicated that it was trying to kmalloc something and failing to check the return code. As the kmalloc failed I assumed that there were memory leaks that were causing the system to run out of memory.
It turns out there was a memory leak, but fixing it didn't fix the problem - so now I need help! The problem is generally shown up by doing a find on an NTFS partition or an 'updatedb' (my system does this at 7.40am which is how I first noticed the problem).
So what I need help with is this -- why is kmalloc() failing? Presumably because the kernel is out of memory :) I don't understand why though. NTFS allocates a few structures per inode and stores pointers in the inode struct. I was wondering if maybe the inode cache wasn't being shrunk properly - I found that free_inode_memory() was only called from d_alloc(), so I added a call to it inside shrink_dcache_memory() - this doesn't make a difference (I don't pretend to know much about kernel internals).
I did chuck some debug into __kmem_cache_alloc and it indicates that it is failing to grow the appropriate cache - presumably because __get_free_pages is failing.
I'm happy to work on this myself, but as I'm not a kernel person (so far) and have run into a bit of a brick wall, I'd like to know how to proceed from here.
BTW this is all wrt to kernel 2.2.0-pre9/final. I have 64 meg RAM & 128 meg swap, and the problems generally happen when there should be plenty of memory free - generally X, WindowMaker, and a few rxvts open.
Feel free to whinge if I haven't provided enough information!
S.
-- Fortune: You will be attacked next Wednesday at 3:15 p.m. by six samuri sword wielding purple fish glued to Harley-Davidson motorcycles.
- 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/
| |