All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Avi Kivity <avi@qumranet.com>, Ingo Molnar <mingo@elte.hu>,
	Xen Devel <xen-devel@lists.xensource.com>,
	Andi Kleen <andi@firstfloor.org>,
	linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [Xen-devel] Re: [PATCH 1 of 7] x86: add _PAGE_IOMAP pte flag for IO mappings
Date: Wed, 10 Sep 2008 10:27:39 -0700	[thread overview]
Message-ID: <48C8038B.40107@goop.org> (raw)
In-Reply-To: <200809110255.03580.nickpiggin@yahoo.com.au>

Nick Piggin wrote:
> 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 :)
>   

Not really.  Normal is normal, but "special" doesn't tell us what kind
of special it is.

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

To the extent that the struct page may as well not exist?  Does it
contain any meaningful state?  Are they always IO mappings?  Could we
just use _PAGE_IOMAP as the name for _PAGE_SPECIAL?

>>>   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
> addresses.
>   

Right.  But if we fold _PAGE_SPECIAL and _PAGE_IOMAP together, it would
start getting used on kernel addresses (and obviously we'd need to
rearrange _PAGE_CPA_TEST).

>> 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.
>   

OK.  If we were to fold these two together, then pte_mkspecial() would
have to go, since it wouldn't possible to use correctly in my use case.

    J

  reply	other threads:[~2008-09-10 17:27 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-07 22:21 [PATCH 0 of 7] x86: lay groundwork for Xen domain 0 support Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 1 of 7] x86: add _PAGE_IOMAP pte flag for IO mappings Jeremy Fitzhardinge
2008-09-09 13:32   ` Avi Kivity
2008-09-09 13:32     ` Avi Kivity
2008-09-09 14:47     ` Jeremy Fitzhardinge
2008-09-09 14:47       ` Jeremy Fitzhardinge
2008-09-09 14:56       ` Avi Kivity
2008-09-09 14:56         ` Avi Kivity
2008-09-09 15:29         ` [Xen-devel] " Keir Fraser
2008-09-09 15:29           ` Keir Fraser
2008-09-09 15:48           ` [Xen-devel] " Jeremy Fitzhardinge
2008-09-09 15:48             ` Jeremy Fitzhardinge
2008-09-09 16:05             ` [Xen-devel] " Keir Fraser
2008-09-09 16:05               ` Keir Fraser
2008-09-10  9:55         ` [Xen-devel] " Avi Kivity
2008-09-10  9:55           ` Avi Kivity
2008-09-10 16:38           ` [Xen-devel] " Jeremy Fitzhardinge
2008-09-10 16:38             ` Jeremy Fitzhardinge
2008-09-10 16:55             ` [Xen-devel] " Nick Piggin
2008-09-10 17:27               ` Jeremy Fitzhardinge [this message]
2008-09-07 22:21 ` [PATCH 2 of 7] x86: remove duplicate early_ioremap declarations Jeremy Fitzhardinge
2008-09-07 22:21   ` Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 3 of 7] x86: add early_memremap() Jeremy Fitzhardinge
2008-09-07 22:21   ` Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 4 of 7] x86: use early_memremap() in setup.c Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 5 of 7] x86-64: don't check for map replacement Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 6 of 7] x86: use early_ioremap in __acpi_map_table Jeremy Fitzhardinge
2008-09-07 23:44   ` Andi Kleen
2008-09-08  0:03     ` Jeremy Fitzhardinge
2008-09-08  0:03       ` Jeremy Fitzhardinge
2008-09-08 14:26       ` Ingo Molnar
2008-09-08 14:26         ` Ingo Molnar
2008-09-08 16:29         ` Jeremy Fitzhardinge
2008-09-08 16:29           ` Jeremy Fitzhardinge
2008-09-08 19:41         ` Jeremy Fitzhardinge
2008-09-08 19:41           ` Jeremy Fitzhardinge
2008-09-10 11:55         ` Ingo Molnar
2008-09-10 16:49           ` Jeremy Fitzhardinge
2008-09-11  7:33             ` Ingo Molnar
2008-09-11 18:36               ` Jeremy Fitzhardinge
2008-09-11 18:56                 ` Ingo Molnar
2008-09-11 20:34             ` Yinghai Lu
2008-09-11 21:07               ` Jeremy Fitzhardinge
2008-09-12  9:49                 ` Ingo Molnar
2008-09-12 17:31                   ` Yinghai Lu
     [not found]             ` <20080911125748.GA14698@elte.hu>
2008-09-11 21:33               ` [PATCH] acpi: remove final __acpi_map_table mapping before setting acpi_gbl_permanent_mmap Jeremy Fitzhardinge
2008-09-07 22:21 ` [PATCH 7 of 7] x86: always explicitly map acpi memory Jeremy Fitzhardinge
2008-09-07 23:35   ` [Xen-devel] " Yinghai Lu
2008-09-07 23:35     ` Yinghai Lu
2008-09-08  0:02     ` [Xen-devel] " Jeremy Fitzhardinge
2008-09-08  0:02       ` Jeremy Fitzhardinge
2008-09-08  0:14       ` [Xen-devel] " Yinghai Lu
2008-09-08  0:14         ` Yinghai Lu

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=48C8038B.40107@goop.org \
    --to=jeremy@goop.org \
    --cc=andi@firstfloor.org \
    --cc=avi@qumranet.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=xen-devel@lists.xensource.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.