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