From: Andi Kleen <ak@muc.de>
To: Terence Ripperda <tripperda@nvidia.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: problems with 2.6.12 and ioremap/iounmap
Date: Thu, 19 May 2005 01:29:01 +0200 [thread overview]
Message-ID: <m1zmusyuyq.fsf@muc.de> (raw)
In-Reply-To: <20050518224353.GL2596@hygelac> (Terence Ripperda's message of "Wed, 18 May 2005 17:43:53 -0500")
Terence Ripperda <tripperda@nvidia.com> writes:
> this appears to be the 'vmalloc guard page causing change_page_attr
> problems' bug. at one point, iounmap subtracted the guard page before
> calling change_page_attr, but I see this was reverted as part of a
> recent cleanup.
Hmm, yes looks like it was reintroduced.
> from looking at the implementation in 2.6.12-pre4, I'm not clear how
I suppose you mean rc4, not pre4?
> the guard page is accounted for in iounmap. in vmalloc.c, the guard
> page is subtracted from the vm_struct in remove_vm_area (which calls
> unmap_vm_area). but iounmap in ioremap.c calls unmap_vm_area directly
> rather than calling remove_vm_area, so the guard page is never
> subtracted and the wrong size is passed to change_page_attr.
Ok obviously needs to be fixed.
>
> 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.
>
> 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.
> perhaps iounmap should be calling ioremap_change_attr rather than
What is ioremap_change_attr?
> change_page_attr directly. I'll run some additional tests and send out
> a patch.
-Andi
next prev parent reply other threads:[~2005-05-18 23:29 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-18 22:43 problems with 2.6.12 and ioremap/iounmap Terence Ripperda
2005-05-18 23:29 ` Andi Kleen [this message]
2005-05-18 23:34 ` Terence Ripperda
2005-05-18 23:51 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m1zmusyuyq.fsf@muc.de \
--to=ak@muc.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tripperda@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.