Re: Q: blk_queue_bounce_limit

Jens Axboe (axboe@suse.de)
Mon, 14 Jan 2002 08:24:35 +0100


On Sun, Jan 13 2002, Manfred Spraul wrote:
> I think the selection of the ISA pool in blk_queue_bounce_limit is
> wrong:
> it switches to the ISA pool if the requested DMA address is equal to
> 16 MB. I think it must switch if the requested bounce limit is smaller
> than max_low_pfn.
>
> <<<<<<<
> - if (dma_addr == BLK_BOUNCE_ISA) {
> + if (bounce_pfn < blk_max_low_pfn) {
> + BUG_ON(dma_addr < BLK_BOUNCE_ISA);
> init_emergency_isa_pool();
> q->bounce_gfp = GFP_NOIO | GFP_DMA;
> } else
> q->bounce_gfp = GFP_NOHIGHIO;
> <<<
>
> Usually both lines are identical, except:
> - If only 16 MB are installed, then bouncing to ISA is never needed.
> - There could be broken devices that only support DMA to < 512 MB.
> For such a device no bounce it needed if less than 512 MB is installed,
> and if more is installed we must bounce to ISA. (since we don't have
> a 512MB zone).
> - Bouncing to less that 16 MB is not supported.

Yes it's a grey area, I'll add your patch.

-- 
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/