* using PageForeign for pte allocation vs. shortcutting __pte_free_tlb()
@ 2007-01-09 10:21 Jan Beulich
2007-01-09 10:51 ` Gerd Hoffmann
0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2007-01-09 10:21 UTC (permalink / raw)
To: xen-devel
In the course of trying to get CONFIG_HIGHPTE to work I stumbled across this
inconsistency between i386 and x86-64 Linux: i386 uses SetPageForeign() in
(one the non-highpte) case of pte_alloc_one(), and leaves intact native's
definition of __pte_free_tlb(), whereas x86-64 doesn't use the former but
shortcuts the latter to just invoke pte_free(). Obviously it would be nice for
these two to be consistent, the question just is which of the two behaviors
is more desirable: Obviously, performance wise using the PageForeign
mechanism would be preferable, but delta-to-native-wise I would think this
is the less desirable solution.
Thanks for any thoughts or suggestions,
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: using PageForeign for pte allocation vs. shortcutting __pte_free_tlb()
2007-01-09 10:21 using PageForeign for pte allocation vs. shortcutting __pte_free_tlb() Jan Beulich
@ 2007-01-09 10:51 ` Gerd Hoffmann
2007-01-09 10:58 ` Jan Beulich
0 siblings, 1 reply; 5+ messages in thread
From: Gerd Hoffmann @ 2007-01-09 10:51 UTC (permalink / raw)
To: Jan Beulich; +Cc: xen-devel
Jan Beulich wrote:
> In the course of trying to get CONFIG_HIGHPTE to work I stumbled across this
> inconsistency between i386 and x86-64 Linux: i386 uses SetPageForeign() in
> (one the non-highpte) case of pte_alloc_one(), and leaves intact native's
> definition of __pte_free_tlb(), whereas x86-64 doesn't use the former but
> shortcuts the latter to just invoke pte_free(). Obviously it would be nice for
> these two to be consistent,
x86-64 has no HIGHMEM zone, thus CONFIG_HIGHPTE has no effect (I'm
surprised it exists in the first place ...).
cheers,
Gerd
--
Gerd Hoffmann <kraxel@suse.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: using PageForeign for pte allocation vs. shortcutting __pte_free_tlb()
2007-01-09 10:51 ` Gerd Hoffmann
@ 2007-01-09 10:58 ` Jan Beulich
2007-01-09 11:11 ` Gerd Hoffmann
0 siblings, 1 reply; 5+ messages in thread
From: Jan Beulich @ 2007-01-09 10:58 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: xen-devel
>>> Gerd Hoffmann <kraxel@suse.de> 09.01.07 11:51 >>>
>Jan Beulich wrote:
>> In the course of trying to get CONFIG_HIGHPTE to work I stumbled across this
>> inconsistency between i386 and x86-64 Linux: i386 uses SetPageForeign() in
>> (one the non-highpte) case of pte_alloc_one(), and leaves intact native's
>> definition of __pte_free_tlb(), whereas x86-64 doesn't use the former but
>> shortcuts the latter to just invoke pte_free(). Obviously it would be nice for
>> these two to be consistent,
>
>x86-64 has no HIGHMEM zone, thus CONFIG_HIGHPTE has no effect (I'm
>surprised it exists in the first place ...).
Of course (and no, such a config option doesn't exist for x86-64), but what
relation does this have to the question asked?
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: using PageForeign for pte allocation vs. shortcutting __pte_free_tlb()
2007-01-09 10:58 ` Jan Beulich
@ 2007-01-09 11:11 ` Gerd Hoffmann
2007-01-09 11:27 ` Jan Beulich
0 siblings, 1 reply; 5+ messages in thread
From: Gerd Hoffmann @ 2007-01-09 11:11 UTC (permalink / raw)
To: Jan Beulich; +Cc: xen-devel
Jan Beulich wrote:
>>>> Gerd Hoffmann <kraxel@suse.de> 09.01.07 11:51 >>>
>> Jan Beulich wrote:
>>> In the course of trying to get CONFIG_HIGHPTE to work I stumbled across this
>>> inconsistency between i386 and x86-64 Linux: i386 uses SetPageForeign() in
>>> (one the non-highpte) case of pte_alloc_one(), and leaves intact native's
>>> definition of __pte_free_tlb(), whereas x86-64 doesn't use the former but
>>> shortcuts the latter to just invoke pte_free(). Obviously it would be nice for
>>> these two to be consistent,
>> x86-64 has no HIGHMEM zone, thus CONFIG_HIGHPTE has no effect (I'm
>> surprised it exists in the first place ...).
>
> Of course (and no, such a config option doesn't exist for x86-64), but what
> relation does this have to the question asked?
guess (not having looked at the code at all) i386 does that because it
needs disturgish high and non-high ptes, whereas x86-64 simply has no
need for that, so I don't see the point in trying to make them
consistent ...
cheers,
Gerd
--
Gerd Hoffmann <kraxel@suse.de>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: using PageForeign for pte allocation vs. shortcutting __pte_free_tlb()
2007-01-09 11:11 ` Gerd Hoffmann
@ 2007-01-09 11:27 ` Jan Beulich
0 siblings, 0 replies; 5+ messages in thread
From: Jan Beulich @ 2007-01-09 11:27 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: xen-devel
>>> Gerd Hoffmann <kraxel@suse.de> 09.01.07 12:11 >>>
>Jan Beulich wrote:
>>>>> Gerd Hoffmann <kraxel@suse.de> 09.01.07 11:51 >>>
>>> Jan Beulich wrote:
>>>> In the course of trying to get CONFIG_HIGHPTE to work I stumbled across this
>>>> inconsistency between i386 and x86-64 Linux: i386 uses SetPageForeign() in
>>>> (one the non-highpte) case of pte_alloc_one(), and leaves intact native's
>>>> definition of __pte_free_tlb(), whereas x86-64 doesn't use the former but
>>>> shortcuts the latter to just invoke pte_free(). Obviously it would be nice for
>>>> these two to be consistent,
>>> x86-64 has no HIGHMEM zone, thus CONFIG_HIGHPTE has no effect (I'm
>>> surprised it exists in the first place ...).
>>
>> Of course (and no, such a config option doesn't exist for x86-64), but what
>> relation does this have to the question asked?
>
>guess (not having looked at the code at all) i386 does that because it
>needs disturgish high and non-high ptes, whereas x86-64 simply has no
>need for that, so I don't see the point in trying to make them
>consistent ...
I'm pretty sure that's not the reason, partly because CONFIG_HIGHPTE (as
indicated here and earlier) isn't being an option for Xen kernels so far at all,
but mostly because as I understand it both mechanisms are ways to
remove the write protection before handing a former page table page back
to the page allocator (and this requirement is clearly the same on both i386
and x86-64).
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-01-09 11:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-09 10:21 using PageForeign for pte allocation vs. shortcutting __pte_free_tlb() Jan Beulich
2007-01-09 10:51 ` Gerd Hoffmann
2007-01-09 10:58 ` Jan Beulich
2007-01-09 11:11 ` Gerd Hoffmann
2007-01-09 11:27 ` Jan Beulich
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.