public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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

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