I've looked a bit further into the NTFS oops reported by a few over the last
few weeks. By the time updatedb dies on my machine, NTFS has allocated ~3 MiB
of memory through kmalloc(); it then fails to allocate a 1024 byte chunk
because kmem_cache_grow fails.
There are 200 odd 4KiB page blocks kicking around but nothing else, and
the slab stuff seems to want a larger block of pages. This brings me to my
first question; could the slab allocator be made to fall back on smaller
page blocks in low memory situations?
In this case, however, I think even that would only be deferring the
inevitable. I guess ultimately the solution is to try and change the
NTFS driver not to allocate so much memory, but as a 'quick fix' for
2.2.0/1, what are the implications of using vmalloc rather than kmalloc
(is this even allowable in a filesystem? I know very little about kernel
internals - I only started looking at this as no-one else seemed interested :)
I'd love some feed back on this -- other loose ends for 2.2.0 seem to be
coming together nicely, and as this seems relatively simple compared to
some of the other problems noted, it would be nice to have it fixed before
2.2.0 final -- especially as the draft press releases I've seen make a
thing about NTFS support!
S.
-- There was a young man of St. John's Who wanted to bugger the swans. But the loyal hall porter Said, "Pray take my daughter! Those birds are reserved for the dons."- 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/