Messages in this thread Patch in this message | | | Date | Wed, 1 Mar 2006 10:55:02 +0100 | From | Jens Axboe <> | Subject | Re: adding swap workarounds oom - was: Re: Out of Memory: Killed process 16498 (java). |
| |
On Wed, Mar 01 2006, Andy Chittenden wrote: > Jens > > > I guess that definitely doesn't work, then :-) > > Let me doctor up a quick debug patch for ide-dma, then. > > > How's that patch coming along?
Something like this.
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 0523da7..9ee8c5c 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c @@ -221,6 +221,20 @@ int ide_build_sglist(ide_drive_t *drive, EXPORT_SYMBOL_GPL(ide_build_sglist); +static void dump_dma_table(ide_drive_t *drive) +{ + ide_hwif_t *hwif = HWIF(drive); + request_queue_t *q = drive->queue; + int i; + + printk("ide dma table, %d entries, bounce pfn %lu\n", hwif->sg_nents, q->bounce_pfn); + for (i = 0; i < hwif->sg_nents; i++) { + struct scatterlist *sg = &hwif->sg_table[i]; + + printk("sg%d: dma=%llx, len=%u/%u, pfn=%lu\n", i, (unsigned long long) sg->dma_address, sg->length, sg->offset, page_to_pfn(sg->page)); + } +} + /** * ide_build_dmatable - build IDE DMA table * @@ -311,6 +325,7 @@ use_pio_instead: hwif->sg_table, hwif->sg_nents, hwif->sg_dma_direction); + dump_dma_table(drive); return 0; /* revert to PIO for this request */ } -- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |