From: Juan Quintela <quintela@mandrakesoft.com>
To: Ralf Baechle <ralf@linux-mips.org>
Cc: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>,
mipslist <linux-mips@linux-mips.org>
Subject: Re: [PATCH]: c-r4k.c 4/7 flush_cache_mm cleanup
Date: Sat, 29 Mar 2003 15:41:01 +0100 [thread overview]
Message-ID: <867kaii6bm.fsf@trasno.mitica> (raw)
In-Reply-To: <20030328195953.A17890@linux-mips.org> (Ralf Baechle's message of "Fri, 28 Mar 2003 19:59:53 +0100")
>>>>> "ralf" == Ralf Baechle <ralf@linux-mips.org> writes:
ralf> On Fri, Mar 28, 2003 at 06:51:57PM +0100, Maciej W. Rozycki wrote:
>> > flush_cache_mm can use __flush_cache_all.
>>
>> Wrong, it should use r4k_flush_pcache_all() unconditionally, but I'm told
>> such a setup triggers a bug somewhere, that needs to be tracked down
>> before committing that change to the CVS.
ralf> Now that the problem is mentioned on the list lemme elaborate a bit. The
ralf> problem mentioned only affects R4000SC and R4400SC processors.
ralf> Flush_cache_mm is only used when a mm is either copied on fork or when
ralf> it's finally destroyed. Because the S-cache is is physically indexed
ralf> and the P-cache is refilled from the S-cache if data should be still in
ralf> there we don't need to flush the S-cache ever for any of the mm's
ralf> cacheflushing functions. So the observation that things are only
ralf> working properly if we do flush the S-cache also suggest we're either
ralf> having a bug elsewhere in the cache code or we're hitting a hardware
ralf> problem.
Just to add some more data points. flush_cache_mm() is only called
from two places:
- kernel/fork.c::dup_mmap()
- mm/mmap.c::exit_mmap()
I just changed flush_cache_mm() to be r4k_flush_pcache_all() and put
after the two calls a __flush_cache_all(). As expected everything
worked :)
Now if I removed teh __flush_cache_all() for any of the callers,
everything goes well. But if I remove it for both of them things
crashed during boot. I am looking at the code of both functions, and
can't see a good reason for them to fail :(
Does that ring any bells on you?
I am still investigating that one.
Later, Juan.
--
In theory, practice and theory are the same, but in practice they
are different -- Larry McVoy
prev parent reply other threads:[~2003-03-29 14:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-28 0:52 [PATCH]: c-r4k.c 4/7 flush_cache_mm cleanup Juan Quintela
2003-03-28 17:51 ` Maciej W. Rozycki
2003-03-28 18:59 ` Ralf Baechle
2003-03-28 19:33 ` Juan Quintela
2003-03-29 14:41 ` Juan Quintela [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=867kaii6bm.fsf@trasno.mitica \
--to=quintela@mandrakesoft.com \
--cc=linux-mips@linux-mips.org \
--cc=macro@ds2.pg.gda.pl \
--cc=ralf@linux-mips.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