git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
arch
/
sparc
/
mm
/
highmem.c
diff --git
a/arch/sparc/mm/highmem.c
b/arch/sparc/mm/highmem.c
index
c85d492
..
01fc6c2
100644
(file)
--- a/
arch/sparc/mm/highmem.c
+++ b/
arch/sparc/mm/highmem.c
@@
-35,7
+35,7
@@
void *kmap_atomic(struct page *page, enum km_type type)
unsigned long vaddr;
/* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
unsigned long vaddr;
/* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */
-
inc_preempt_count
();
+
pagefault_disable
();
if (!PageHighMem(page))
return page_address(page);
if (!PageHighMem(page))
return page_address(page);
@@
-70,8
+70,7
@@
void kunmap_atomic(void *kvaddr, enum km_type type)
unsigned long idx = type + KM_TYPE_NR*smp_processor_id();
if (vaddr < FIXADDR_START) { // FIXME
unsigned long idx = type + KM_TYPE_NR*smp_processor_id();
if (vaddr < FIXADDR_START) { // FIXME
- dec_preempt_count();
- preempt_check_resched();
+ pagefault_enable();
return;
}
return;
}
@@
-88,7
+87,7
@@
void kunmap_atomic(void *kvaddr, enum km_type type)
* force other mappings to Oops if they'll try to access
* this pte without first remap it
*/
* force other mappings to Oops if they'll try to access
* this pte without first remap it
*/
- pte_clear(kmap_pte-idx);
+ pte_clear(
&init_mm, vaddr,
kmap_pte-idx);
/* XXX Fix - Anton */
#if 0
__flush_tlb_one(vaddr);
/* XXX Fix - Anton */
#if 0
__flush_tlb_one(vaddr);
@@
-97,8
+96,7
@@
void kunmap_atomic(void *kvaddr, enum km_type type)
#endif
#endif
#endif
#endif
- dec_preempt_count();
- preempt_check_resched();
+ pagefault_enable();
}
/* We may be fed a pagetable here by ptep_to_xxx and others. */
}
/* We may be fed a pagetable here by ptep_to_xxx and others. */