* Q: blk_queue_bounce_limit
@ 2002-01-13 10:22 Manfred Spraul
2002-01-14 7:24 ` Jens Axboe
0 siblings, 1 reply; 2+ messages in thread
From: Manfred Spraul @ 2002-01-13 10:22 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-kernel
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.
--
Manfred
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: Q: blk_queue_bounce_limit
2002-01-13 10:22 Q: blk_queue_bounce_limit Manfred Spraul
@ 2002-01-14 7:24 ` Jens Axboe
0 siblings, 0 replies; 2+ messages in thread
From: Jens Axboe @ 2002-01-14 7:24 UTC (permalink / raw)
To: Manfred Spraul; +Cc: linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2002-01-14 7:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-13 10:22 Q: blk_queue_bounce_limit Manfred Spraul
2002-01-14 7:24 ` Jens Axboe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox