Re: adding swap workarounds oom - was: Re: Out of Memory: Killed process 16498 (java).

From: Jens Axboe
Date: Tue Feb 28 2006 - 05:18:13 EST


On Tue, Feb 28 2006, Andy Chittenden wrote:
> With Andi's patch (and Jens' printk patch), I haven't seen a OOM but I'm
> now seeing lots of "hda: DMA table too small" messages in dmesg. Is that
> anything to worry about? Here's the complete output:

Oops, that's definitely _not_ a good thing. The IDE driver recovers by
using PIO for that case, but it's something that really should not
happen.

This usually happens because the block layer thinks the iommu will
coalesce certain segments which it then does not. Do the messages go
away if you do:

> Looks like a VIA chipset. Disabling IOMMU. Overwrite with
> "iommu=allowed"

like that suggests?

It might also be that a page gets bounced and thus forms a new segment
and we weren't conservative enough in gauging that. We do check for that
in blk_recount_segments(), though...

If the iommu work-around doesn't help, we probably need to add some
debug code in ide-dma.c to dump the scatterlist so we can see where it
went wrong.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/