All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64: kill flush_cache_all()
Date: Mon, 20 Apr 2015 10:42:23 +0100	[thread overview]
Message-ID: <5534C9FF.2030703@arm.com> (raw)
In-Reply-To: <1429521875-16893-1-git-send-email-mark.rutland@arm.com>

Hi Mark,

On 20/04/15 10:24, Mark Rutland wrote:
> The documented semantics of flush_cache_all are not possible to provide
> for arm64 (short of flushing the entire physical address space by VA),
> and there are currently no users; KVM uses VA maintenance exclusively,
> cpu_reset is never called, and the only two users outside of arch code
> cannot be built for arm64.
> 
> While cpu_soft_reset and related functions (which call flush_cache_all)
> were thought to be useful for kexec, their current implementations only
> serve to mask bugs. For correctness kexec will need to perform
> maintenance by VA anyway to account for system caches, line migration,
> and other subtleties of the cache architecture. As the extent of this
> cache maintenance will be kexec-specific, it should probably live in the
> kexec code.

I assume you mean that kexec will perform VA maintenance as part of its
private cpu_soft_reset implementation, not that it will reimplement
flush by S/W as a private method...

> This patch removes flush_cache_all, and related unused components,
> preventing further abuse.

Excellent. I'm pleased we're getting rid of this code which could only
be (ab)used by broken code. Hopefully this will send a clear message
that maintenance by VA is the only way we can *safely* deal with caches
on arm64.

> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Geoff Levand <geoff@infradead.org>
> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>

Acked-by: Marc Zyngier <marc.zyngier@arm.com>

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2015-04-20  9:42 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-20  9:24 [PATCH] arm64: kill flush_cache_all() Mark Rutland
2015-04-20  9:42 ` Marc Zyngier [this message]
2015-04-20  9:46   ` Mark Rutland
2015-04-20 10:03     ` Marc Zyngier
2015-04-20  9:59 ` Will Deacon
2015-04-20 10:06 ` Catalin Marinas
2015-04-20 10:21 ` Lorenzo Pieralisi
2015-04-20 17:23 ` Ard Biesheuvel
2015-04-20 18:02   ` Mark Rutland
2015-04-20 18:42     ` Ard Biesheuvel
2015-04-20 19:22       ` Mark Rutland
2015-04-20 19:29         ` Ard Biesheuvel

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=5534C9FF.2030703@arm.com \
    --to=marc.zyngier@arm.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.