diff options
| author | Dave Jones <davej@redhat.com> | 2005-12-06 22:14:09 -0500 |
|---|---|---|
| committer | Dave Jones <davej@redhat.com> | 2005-12-06 22:14:09 -0500 |
| commit | fc457fa7c0cdbfe96812ba377e508880d600298f (patch) | |
| tree | 514049d61cf8b1587141a375ba3ec4f71e09a9db /arch/arm/mm/flush.c | |
| parent | cc6e8de8f0fab61760bb7091fb19eef1406e17be (diff) | |
| parent | e4f5c82a92c2a546a16af1614114eec19120e40a (diff) | |
Merge ../linus/
Diffstat (limited to 'arch/arm/mm/flush.c')
| -rw-r--r-- | arch/arm/mm/flush.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c index c9a03981b785..330695b6b19d 100644 --- a/arch/arm/mm/flush.c +++ b/arch/arm/mm/flush.c | |||
| @@ -155,14 +155,19 @@ static void __flush_dcache_aliases(struct address_space *mapping, struct page *p | |||
| 155 | * space mappings, we can be lazy and remember that we may have dirty | 155 | * space mappings, we can be lazy and remember that we may have dirty |
| 156 | * kernel cache lines for later. Otherwise, we assume we have | 156 | * kernel cache lines for later. Otherwise, we assume we have |
| 157 | * aliasing mappings. | 157 | * aliasing mappings. |
| 158 | * | ||
| 159 | * Note that we disable the lazy flush for SMP. | ||
| 158 | */ | 160 | */ |
| 159 | void flush_dcache_page(struct page *page) | 161 | void flush_dcache_page(struct page *page) |
| 160 | { | 162 | { |
| 161 | struct address_space *mapping = page_mapping(page); | 163 | struct address_space *mapping = page_mapping(page); |
| 162 | 164 | ||
| 165 | #ifndef CONFIG_SMP | ||
| 163 | if (mapping && !mapping_mapped(mapping)) | 166 | if (mapping && !mapping_mapped(mapping)) |
| 164 | set_bit(PG_dcache_dirty, &page->flags); | 167 | set_bit(PG_dcache_dirty, &page->flags); |
| 165 | else { | 168 | else |
| 169 | #endif | ||
| 170 | { | ||
| 166 | __flush_dcache_page(mapping, page); | 171 | __flush_dcache_page(mapping, page); |
| 167 | if (mapping && cache_is_vivt()) | 172 | if (mapping && cache_is_vivt()) |
| 168 | __flush_dcache_aliases(mapping, page); | 173 | __flush_dcache_aliases(mapping, page); |
