From: rmk+kernel@arm.linux.org.uk (Russell King)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 00/11] Cache handling updates
Date: Tue, 27 Oct 2009 22:40:30 +0000 [thread overview]
Message-ID: <cover.1256683230.git.rmk+kernel@arm.linux.org.uk> (raw)
For RFC, this series of patches cleans up and updates various aspects
of the kernel's cache handling. The 'fix errata 411920' patch is one
which I'm intending pushing to mainline once the current set has been
pulled.
A few things of note from this:
1. flush flush_dcache_page, on VIPT aliasing caches, we ended up
flushing the I-cache multiple times. This has been fixed.
2. we now avoid flush_dcache_page operating on the ZERO_PAGE (for bss)
3. ZERO_PAGE can now be allocated from highmem
4. reinforced I-cache handling for VIVT ASID-tagged caches (to be more
like VIVT caches were)
5. fix the RX->RW->RX issue by flushing the I-cache in flush_cache_range()
6. it seems pointless flushing the I-cache of VIPT caches in flush_cache_mm
Russell King (11):
ARM: Reduce __flush_dcache_page() visibility
ARM: Fix errata 411920 workarounds
ARM: move __flush_icache_all() out of flush_pfn_alias()
ARM: Remove __flush_icache_all() from __flush_dcache_page()
ARM: Avoid flush_dcache_page() for zero page
ARM: Avoid duplicated implementation for VIVT cache flushing
ARM: Allocate ZERO_PAGE from highmem
ARM: Avoid evaluating page_address() multiple times
ARM: Add I-cache invalidation for VIVT ASID tagged caches
ARM: arrange for flush_cache_range() to always flush the I-cache
ARM: avoid flushing I-cache in flush_cache_mm()
arch/arm/include/asm/cacheflush.h | 27 ++++++++++---
arch/arm/mm/context.c | 4 +-
arch/arm/mm/fault-armv.c | 9 ++++
arch/arm/mm/flush.c | 74 ++++++++++++++++---------------------
arch/arm/mm/init.c | 9 ++++
arch/arm/mm/mm.h | 2 +
arch/arm/mm/mmu.c | 10 -----
7 files changed, 74 insertions(+), 61 deletions(-)
next reply other threads:[~2009-10-27 22:40 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-27 22:40 Russell King [this message]
2009-10-24 13:11 ` [RFC 01/11] ARM: Reduce __flush_dcache_page() visibility Russell King
2009-10-24 21:36 ` [RFC 02/11] ARM: Fix errata 411920 workarounds Russell King
2009-10-28 15:31 ` Catalin Marinas
2009-10-28 17:32 ` Russell King - ARM Linux
2009-10-29 18:32 ` Catalin Marinas
2009-10-29 19:11 ` Russell King - ARM Linux
2009-10-30 17:59 ` Catalin Marinas
2009-10-24 21:58 ` [RFC 03/11] ARM: move __flush_icache_all() out of flush_pfn_alias() Russell King
2009-10-24 22:05 ` [RFC 04/11] ARM: Remove __flush_icache_all() from __flush_dcache_page() Russell King
2009-10-25 10:23 ` [RFC 05/11] ARM: Avoid flush_dcache_page() for zero page Russell King
2009-10-25 10:40 ` [RFC 06/11] ARM: Avoid duplicated implementation for VIVT cache flushing Russell King
2009-10-25 10:59 ` [RFC 07/11] ARM: Allocate ZERO_PAGE from highmem Russell King
2009-12-04 14:57 ` Russell King - ARM Linux
2009-10-25 11:25 ` [RFC 08/11] ARM: Avoid evaluating page_address() multiple times Russell King
2009-10-25 13:35 ` [RFC 09/11] ARM: Add I-cache invalidation for VIVT ASID tagged caches Russell King
2009-10-28 15:49 ` Catalin Marinas
2009-10-28 17:35 ` Russell King - ARM Linux
2009-10-29 17:23 ` Catalin Marinas
2009-10-25 14:12 ` [RFC 10/11] ARM: arrange for flush_cache_range() to always flush the I-cache Russell King
2009-10-28 15:51 ` Catalin Marinas
2009-10-28 17:37 ` Russell King - ARM Linux
2009-10-29 17:51 ` Catalin Marinas
2009-11-16 10:46 ` Catalin Marinas
2009-11-16 10:58 ` Russell King - ARM Linux
2009-11-22 20:28 ` Nicolas Pitre
2009-11-23 20:28 ` Russell King - ARM Linux
2009-11-24 13:05 ` [RFC 10/11] ARM: arrange for flush_cache_range() to alwaysflush " Catalin Marinas
2009-11-24 14:46 ` Russell King - ARM Linux
2009-11-24 16:52 ` [RFC 10/11] ARM: arrange for flush_cache_range() toalwaysflush " Catalin Marinas
2009-11-24 16:56 ` Russell King - ARM Linux
2009-11-16 11:06 ` [RFC 10/11] ARM: arrange for flush_cache_range() to always flush " Dirk Behme
2009-10-25 14:31 ` [RFC 11/11] ARM: avoid flushing I-cache in flush_cache_mm() Russell King
2009-11-13 15:01 ` Gilles Chanteperdrix
2009-11-13 15:12 ` Russell King
2009-11-13 15:15 ` Gilles Chanteperdrix
2009-10-28 15:53 ` [RFC 00/11] Cache handling updates Catalin Marinas
2009-10-28 16:17 ` Laurent Pinchart
2009-10-28 16:28 ` Catalin Marinas
2009-11-05 19:19 ` Pavel Machek
2009-10-28 17:41 ` Russell King - ARM Linux
2009-10-28 19:25 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1256683230.git.rmk+kernel@arm.linux.org.uk \
--to=rmk+kernel@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).