Re: problems with 2.6.12 and ioremap/iounmap

From: Terence Ripperda
Date: Wed May 18 2005 - 18:37:26 EST


On Thu, May 19, 2005 at 01:29:01AM +0200, ak@xxxxxx wrote:
> > from looking at the implementation in 2.6.12-pre4, I'm not clear how
>
> I suppose you mean rc4, not pre4?

yes, just confused.

> > is the intent that iounmap should call remove_vm_area rather than
> > unmap_vm_area (with additional changes to not unlink the vma itself)?
> > or that the guard page should be removed by unmap_ rather than
> > remove_?
>
> There doesn't seem to be a clear rule, that is where the confusion
> comes from I guess. I would consider it cleaner to handle it in
> the higher level vmalloc code.

that certainly sounds reasonable. I'll try putting together a patch
that does this and send it to our end user to see if it fixes his
problem.

> > when debugging this issue, I also ran into problems with iounmap using
> > virt_to_page on a pci IO region. this problem went away when I tried
> > calling change_page_attr_addr with the virtual address instead. but
>
> A patch for that already went into mainline.

ok, great.


> > perhaps iounmap should be calling ioremap_change_attr rather than
>
> What is ioremap_change_attr?

a static function in ioremap.c that is called by __ioremap. it's a
wrapper function around change_page_attr. I only see it in the x86_64
architecture, not i386.

Thanks,
Terence
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/