Re: pte_offset_map for ppc assumes HIGHPTE

4 messages, 3 authors, 2007-07-26 · open the first message on its own page

Re: pte_offset_map for ppc assumes HIGHPTE

From: Andreas Schwab <hidden>
Date: 2007-07-25 23:18:58

Satya [off-list ref] 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."

Re: pte_offset_map for ppc assumes HIGHPTE

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-07-25 23:23:14

On Thu, 2007-07-26 at 01:18 +0200, Andreas Schwab wrote:
Satya [off-list ref] writes:
quoted
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.
quoted
(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.

Re: pte_offset_map for ppc assumes HIGHPTE

From: Dave McCracken <hidden>
Date: 2007-07-25 23:32:23

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

Re: pte_offset_map for ppc assumes HIGHPTE

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2007-07-26 00:18:41

On Wed, 2007-07-25 at 18:30 -0500, Dave McCracken wrote:
On Wednesday 25 July 2007, Benjamin Herrenschmidt wrote:
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help