Kernel memory leak in ATAPI/CAM or ATAng?

Robert Watson rwatson at freebsd.org
Thu Nov 6 08:25:40 PST 2003


On Thu, 6 Nov 2003, Kevin Oberman wrote:

> I have learned a bit more about the problems I have been having with
> the DVD drive on my T30 laptop. When I have run the drive for an
> extended time (like 2 or 3 hours), I invariably have my system lock up
> because it can't malloc kernel memory for the ATAPI/CAM or ATA
> device. (Usually it's both.)
> 
> The only recovery seems to be to reboot the system.

Is it possible to drop to DDB and generate a coredump at that point?  If
so, you can run vmstat on the core to look at memory use statistics in a
post-mortem way.  As to what to look for: "big numbers" is about the limit
of what I can suggest, I'm afraid :-).  Usually the activity of choice is
to compare vmstat statistics (with -m and -z) during normal operation and
when the leak has occurred, and look for any marked differences.  It's
worth observing that there are two failure modes here that appear almost
identical: (1) a memory leak resulting in address space exhaustion for the
kernel, and (2) a tunable maximum allocation being too high for the
available address space.  Note that (2) isn't a leak, simply a poorly
tuned value.  We've noticed a number of tuned memory limits were set when
memory sizes on systems were much lower, and so we've had to readjust the
tuning parameters for large memory systems.  Likewise, a number of
problems were observed when PAE was introduced, as some of the tuning
parameters scaled with the amount of physical memory, not with the
addressable space for the kernel.  So we probably want to be on the look
out for both of these possibilities.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Network Associates Laboratories



More information about the freebsd-current mailing list