From: David Miller <davem@davemloft.net>
To: nickpiggin@yahoo.com.au
Cc: ralf@linux-mips.org, torvalds@osdl.org, akpm@osdl.org,
linux-kernel@vger.kernel.org, anemo@mba.ocn.ne.jp
Subject: Re: [PATCH 1/3] Fix COW D-cache aliasing on fork
Date: Fri, 20 Oct 2006 12:23:11 -0700 (PDT) [thread overview]
Message-ID: <20061020.122311.30184576.davem@davemloft.net> (raw)
In-Reply-To: <4538DFAC.1090206@yahoo.com.au>
From: Nick Piggin <nickpiggin@yahoo.com.au>
Date: Sat, 21 Oct 2006 00:39:40 +1000
> So moving the flush_cache_mm below the copy_page_range, to just
> before the flush_tlb_mm, would work then? This would make the
> race much smaller than with this patchset.
>
> But doesn't that still leave a race?
>
> What if another thread writes to cache after we have flushed it
> but before flushing the TLBs? Although we've marked the the ptes
> readonly, the CPU won't trap if the TLB is valid? There must be
> some special way for the arch to handle this, but I can't see it.
Also, it is actually the case that doing page-by-page cache flushes
can be cheaper than flush_mm_cache() on certain cpus. Very few cpus
that need this cache flushing provide a "context" based cache flush.
On cpus like the mentioned hypersparc, there is no way to do a
"context" flush of the cache, so we flush the entire multi-megabyte L2
cache. Actually, it allows to flush only "user" cache lines which
keeps the kernel cache lines in there, but still it's very expensive.
prev parent reply other threads:[~2006-10-20 19:23 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-19 16:35 Ralf Baechle
2006-10-19 16:35 ` [PATCH 2/3] Pass vma argument to copy_user_highpage() Ralf Baechle
2006-10-19 16:35 ` [PATCH 3/3] MIPS: Fix COW D-cache aliasing on fork Ralf Baechle
2006-10-22 2:32 ` Ralf Baechle
2006-10-19 17:46 ` [PATCH 1/3] " Nick Piggin
2006-10-19 18:13 ` Ralf Baechle
2006-10-19 18:48 ` Nick Piggin
2006-10-19 22:59 ` David Miller
2006-10-20 14:39 ` Nick Piggin
2006-10-20 15:49 ` Linus Torvalds
2006-10-20 15:57 ` Nick Piggin
2006-10-20 16:36 ` Linus Torvalds
2006-10-20 16:47 ` Nick Piggin
2006-10-20 17:16 ` Linus Torvalds
2006-10-20 17:37 ` Nick Piggin
2006-10-21 0:46 ` Ralf Baechle
2006-10-20 19:36 ` David Miller
2006-10-20 19:54 ` Linus Torvalds
2006-10-20 19:58 ` David Miller
2006-10-20 20:10 ` Linus Torvalds
2006-10-20 20:59 ` Russell King
2006-10-20 21:06 ` David Miller
2006-10-20 21:17 ` Russell King
2006-10-20 21:30 ` David Miller
2006-10-20 21:12 ` Linus Torvalds
2006-10-20 21:28 ` Russell King
2006-10-20 21:41 ` Ralf Baechle
2006-10-21 16:28 ` Atsushi Nemoto
2006-10-20 21:49 ` Ralf Baechle
2006-10-20 22:02 ` Linus Torvalds
2006-10-20 22:22 ` David Miller
2006-10-20 22:51 ` Ralf Baechle
2006-10-20 23:28 ` Linus Torvalds
2006-10-21 0:06 ` Ralf Baechle
2006-10-21 0:38 ` Linus Torvalds
2006-10-21 1:29 ` Paul Mackerras
2006-10-21 2:11 ` David Miller
2006-10-21 2:37 ` Linus Torvalds
2006-10-21 2:46 ` David Miller
2006-10-21 18:27 ` Ralf Baechle
2006-10-22 1:34 ` Ralf Baechle
2006-12-02 9:49 ` Russell King
2006-10-23 8:50 ` Martin Schwidefsky
2006-10-20 16:05 ` Ralf Baechle
2006-10-20 16:30 ` Nick Piggin
2006-10-20 19:23 ` David Miller [this message]
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=20061020.122311.30184576.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=akpm@osdl.org \
--cc=anemo@mba.ocn.ne.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=ralf@linux-mips.org \
--cc=torvalds@osdl.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
Powered by JetHome