Re: How to map high memory for block io

Jens Axboe
2006-01-28T19:17:10Z

On Fri, Jan 27 2006, Russell King wrote:
> On Fri, Jan 27, 2006 at 10:58:59PM +0100, Pierre Ossman wrote:
> > Test done here, few minutes ago. Added this to the wbsd driver in its
> > kmap routine:
> >
> > if ((host->cur_sg->offset + host->cur_sg->length) > PAGE_SIZE)
> > printk(KERN_DEBUG "wbsd: Big sg: %d, %d\n",
> > host->cur_sg->offset, host->cur_sg->length);
> >
> > got:
> >
> > [17385.425389] wbsd: Big sg: 0, 8192
> > [17385.436849] wbsd: Big sg: 0, 7168
> > [17385.436859] wbsd: Big sg: 0, 7168
> > [17385.454029] wbsd: Big sg: 2560, 5632
> > [17385.454216] wbsd: Big sg: 2560, 5632
>
> Jens - what's going on? These look like invalid sg entries to me.
>
> If they are supposed to be like that, there will be additional problems
> for block drivers ensuring cache coherency on PIO.

No freaking idea, must be coming out of the pci dma mapping. The IOMMU
doing funky stuff? How are these sg lists mapped?

--
Jens Axboe