This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] Re: [PATCH 1 of 7] x86: add _PAGE_IOMAP pte flag for IO

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: Re: [Xen-devel] Re: [PATCH 1 of 7] x86: add _PAGE_IOMAP pte flag for IO mappings
From: Nick Piggin <nickpiggin@xxxxxxxxxxxx>
Date: Thu, 11 Sep 2008 02:55:03 +1000
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, Avi Kivity <avi@xxxxxxxxxxxx>, Andi Kleen <andi@xxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>
Delivery-date: Wed, 10 Sep 2008 09:55:46 -0700
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com.au; h=Received:X-YMail-OSG:X-Yahoo-Newman-Property:From:To:Subject:Date:User-Agent:Cc:References:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-Disposition:Message-Id; b=6uxxVdzwAQkeKs/KK4DN4cZlZkok9fenVpBNa5rEChM/ZJnDMJkbSsjqs1sB2ICyW2u1cUX2S+LWEyLqfIt3yn8EdVozc0LMG+KQwesjrvdqsHnSwe9hlmm4lBVLf2R/MCB/Pmc+H2IuEvyQpUCftUW0r0nTOK66FdkTWbJQSyw= ;
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <48C7F80C.6000807@xxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4d93ba619c716c45cca0.1220826073@localhost> <48C7998D.1030408@xxxxxxxxxxxx> <48C7F80C.6000807@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.5
On Thursday 11 September 2008 02:38, Jeremy Fitzhardinge wrote:
> Avi Kivity wrote:
> > Actually it's more of a "no struct page" flag, which implies no
> > refcounting.
> Hm, is that actually true enough to define it?  Could we rename it
> something like _PAGE_NOSTRUCTPAGE or something a bit more specific than
> "special"?

It complements vm_normal_page, which was there first (and coined by
Linus). It is the opposite of normal. This question always comes up
and my answer is always yes, if you can convince Linus to rename
vm_normal_page to the corresponding term :)

It's not exactly _PAGE_NOSTRUCTPAGE. There can be struct pages under
there, but you're not to touch them.

> >   And not having a struct page should correspond well to a pte not
> > requiring pfn->mfn conversion and being an I/O page.
> But _PAGE_SPECIAL is only set in a few places.  It's not set in ioremap
> mappings and so on.  Should it be?

Kernel address space, you mean? No, it is only ever used on user

> There's also the hiccup that it gets set in a pte with pte_mkspecial() -
> but at that point its too late because you've already constructed the
> pte and done the pfn->mfn conversion.  _PAGE_IOMAP can only be set when
> you initially construct the pte out of a frame number and a pgprot.

I don't see this would be any problem because the pte is always constructed
in a single line in both places where it is used.

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>