* pte_offset_map for ppc assumes HIGHPTE
@ 2007-07-25 22:16 Satya
2007-07-25 23:10 ` Benjamin Herrenschmidt
2007-07-25 23:18 ` Andreas Schwab
0 siblings, 2 replies; 6+ messages in thread
From: Satya @ 2007-07-25 22:16 UTC (permalink / raw)
To: linuxppc-dev, linux-mm, linux-kernel
hello,
The implementation of pte_offset_map() for ppc assumes that PTEs are
kept in highmem (CONFIG_HIGHPTE). There is only one implmentation of
pte_offset_map() as follows (include/asm-ppc/pgtable.h):
#define pte_offset_map(dir, addr) \
((pte_t *) kmap_atomic(pmd_page(*(dir)), KM_PTE0) + pte_index(addr))
Shouldn't this be made conditional according to CONFIG_HIGHPTE is
defined or not (as implemented in include/asm-i386/pgtable.h) ?
the same goes for pte_offset_map_nested and the corresponding unmap functions.
thanks,
Satya Popuri
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pte_offset_map for ppc assumes HIGHPTE
2007-07-25 22:16 pte_offset_map for ppc assumes HIGHPTE Satya
@ 2007-07-25 23:10 ` Benjamin Herrenschmidt
2007-07-25 23:18 ` Andreas Schwab
1 sibling, 0 replies; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-07-25 23:10 UTC (permalink / raw)
To: Satya; +Cc: linuxppc-dev, linux-kernel, linux-mm
On Wed, 2007-07-25 at 17:16 -0500, Satya wrote:
> hello,
> The implementation of pte_offset_map() for ppc assumes that PTEs are
> kept in highmem (CONFIG_HIGHPTE). There is only one implmentation of
> pte_offset_map() as follows (include/asm-ppc/pgtable.h):
>
> #define pte_offset_map(dir, addr) \
> ((pte_t *) kmap_atomic(pmd_page(*(dir)), KM_PTE0) + pte_index(addr))
>
> Shouldn't this be made conditional according to CONFIG_HIGHPTE is
> defined or not (as implemented in include/asm-i386/pgtable.h) ?
>
> the same goes for pte_offset_map_nested and the corresponding unmap functions.
Do we have CONFIG_HIGHMEM without CONFIG_HIGHPTE ? If yes, then indeed,
we should change that. Though I'm not sure I see the point of splitting
those 2 options.
Ben.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pte_offset_map for ppc assumes HIGHPTE
2007-07-25 22:16 pte_offset_map for ppc assumes HIGHPTE Satya
2007-07-25 23:10 ` Benjamin Herrenschmidt
@ 2007-07-25 23:18 ` Andreas Schwab
2007-07-25 23:22 ` Benjamin Herrenschmidt
1 sibling, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2007-07-25 23:18 UTC (permalink / raw)
To: Satya; +Cc: linuxppc-dev, linux-kernel, linux-mm
Satya <satyakiran@gmail.com> writes:
> hello,
> The implementation of pte_offset_map() for ppc assumes that PTEs are
> kept in highmem (CONFIG_HIGHPTE). There is only one implmentation of
> pte_offset_map() as follows (include/asm-ppc/pgtable.h):
>
> #define pte_offset_map(dir, addr) \
> ((pte_t *) kmap_atomic(pmd_page(*(dir)), KM_PTE0) + pte_index(addr))
>
> Shouldn't this be made conditional according to CONFIG_HIGHPTE is
> defined or not
kmap_atomic is always defined with or without CONFIG_HIGHPTE.
> (as implemented in include/asm-i386/pgtable.h) ?
I don't think that needs it either.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pte_offset_map for ppc assumes HIGHPTE
2007-07-25 23:18 ` Andreas Schwab
@ 2007-07-25 23:22 ` Benjamin Herrenschmidt
2007-07-25 23:30 ` Dave McCracken
0 siblings, 1 reply; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-07-25 23:22 UTC (permalink / raw)
To: Andreas Schwab; +Cc: linuxppc-dev, linux-kernel, linux-mm
On Thu, 2007-07-26 at 01:18 +0200, Andreas Schwab wrote:
> Satya <satyakiran@gmail.com> writes:
>
> > hello,
> > The implementation of pte_offset_map() for ppc assumes that PTEs are
> > kept in highmem (CONFIG_HIGHPTE). There is only one implmentation of
> > pte_offset_map() as follows (include/asm-ppc/pgtable.h):
> >
> > #define pte_offset_map(dir, addr) \
> > ((pte_t *) kmap_atomic(pmd_page(*(dir)), KM_PTE0) + pte_index(addr))
> >
> > Shouldn't this be made conditional according to CONFIG_HIGHPTE is
> > defined or not
>
> kmap_atomic is always defined with or without CONFIG_HIGHPTE.
>
> > (as implemented in include/asm-i386/pgtable.h) ?
>
> I don't think that needs it either.
Depends... if you have CONFIG_HIGHMEM and not CONFIG_HIGHPTE, you are wasting
time going through kmap_atomic unnecessarily no ? it will probably not do anything
because the PTE page is in lowmem but still...
Ben.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pte_offset_map for ppc assumes HIGHPTE
2007-07-25 23:22 ` Benjamin Herrenschmidt
@ 2007-07-25 23:30 ` Dave McCracken
2007-07-26 0:18 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 6+ messages in thread
From: Dave McCracken @ 2007-07-25 23:30 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linux-mm, linux-kernel, linuxppc-dev
On Wednesday 25 July 2007, Benjamin Herrenschmidt wrote:
> Depends... if you have CONFIG_HIGHMEM and not CONFIG_HIGHPTE, you are
> wasting time going through kmap_atomic unnecessarily no ? it will probably
> not do anything because the PTE page is in lowmem but still...
Probably not much time. You still need to do the page to virtual translation,
which kmap_atomic does for you.
Dave McCracken
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: pte_offset_map for ppc assumes HIGHPTE
2007-07-25 23:30 ` Dave McCracken
@ 2007-07-26 0:18 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 6+ messages in thread
From: Benjamin Herrenschmidt @ 2007-07-26 0:18 UTC (permalink / raw)
To: Dave McCracken; +Cc: linux-mm, linux-kernel, linuxppc-dev
On Wed, 2007-07-25 at 18:30 -0500, Dave McCracken wrote:
> On Wednesday 25 July 2007, Benjamin Herrenschmidt wrote:
> > Depends... if you have CONFIG_HIGHMEM and not CONFIG_HIGHPTE, you are
> > wasting time going through kmap_atomic unnecessarily no ? it will probably
> > not do anything because the PTE page is in lowmem but still...
>
> Probably not much time. You still need to do the page to virtual translation,
> which kmap_atomic does for you.
Fair enough.
Ben.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-07-26 0:18 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-25 22:16 pte_offset_map for ppc assumes HIGHPTE Satya
2007-07-25 23:10 ` Benjamin Herrenschmidt
2007-07-25 23:18 ` Andreas Schwab
2007-07-25 23:22 ` Benjamin Herrenschmidt
2007-07-25 23:30 ` Dave McCracken
2007-07-26 0:18 ` Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).