Help needed debugging NTFS oops / memory problems

Steve Dodd (dirk@loth.demon.co.uk)
Fri, 22 Jan 1999 22:02:59 +0000


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/