linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Paul Mackerras <paulus@linuxcare.com.au>
To: mlan@cpu.lu
Cc: linuxppc-dev@lists.linuxppc.org
Subject: Re: zeroing pages in the idle task?
Date: Thu, 14 Sep 2000 15:44:42 +1100 (EST)	[thread overview]
Message-ID: <14784.22458.21233.588776@argo.linuxcare.com.au> (raw)
In-Reply-To: <200009131951.VAA00816@piglet.grunz.lu>


Michel Lanners writes:

> > - if not, would it be a good idea to enable it by default?
>
> What do you think, Paul, Cort?

As I recall, it was necessary to disable the cache in the idle task so
that the idle task's clearing of pages didn't trash the cache for
other tasks.  This introduces its own set of complexities, for example
you have to make sure the cache is reenabled on all exception entries
and also before you call schedule in the idle task.  You also have to
make sure that you don't get any inconsistencies in the cache, which
means you would have to flush the cache for the page before starting
to clear it with the cache disabled.

It would be cleaner to have the page mapped with a non-cacheable
mapping while the idle task is clearing it but you still have to be
careful about cache inconsistencies, particularly if the page is
mapped twice and one mapping is cacheable and the other isn't.

I'm not sure that the current code still addresses all those issues
correctly and completely.  Unused things tend to be subject to
bitrot. :-)

Paul.

--
Paul Mackerras, Senior Open Source Researcher, Linuxcare, Inc.
+61 2 6262 8990 tel, +61 2 6262 8991 fax
paulus@linuxcare.com.au, http://www.linuxcare.com.au/
Linuxcare.  Support for the revolution.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2000-09-14  4:44 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-09-12 20:18 zeroing pages in the idle task? Michel Lanners
2000-09-13  3:46 ` Paul Mackerras
2000-09-13  6:08   ` Michel Lanners
2000-09-13 10:45     ` Benjamin Herrenschmidt
2000-09-13  7:13   ` Takashi Oe
2000-09-13 16:23     ` David A. Gatwood
2000-09-13 19:32       ` Geert Uytterhoeven
2000-09-15  2:28         ` ld bug? Takashi Oe
2000-09-15  3:00           ` Kaoru Fukui
2000-09-15  3:16           ` Paul Mackerras
2000-09-15  3:44             ` Takashi Oe
2000-09-15  2:35         ` zeroing pages in the idle task? Takashi Oe
2000-09-15  4:50           ` Timothy A. Seufert
2000-09-15 13:50             ` Holger Bettag
2000-09-15 15:29               ` Michael Schmitz
2000-09-15 15:30                 ` Takashi Oe
2000-09-15 10:49           ` Geert Uytterhoeven
2000-09-26 10:18   ` Gabriel Paubert
2000-09-13 19:51 ` Michel Lanners
2000-09-14  4:21   ` Cort Dougan
2000-09-14  4:44   ` Paul Mackerras [this message]
2000-09-18 14:26     ` Adrian Cox
2000-09-18 14:41       ` Benjamin Herrenschmidt
2000-09-18 14:58         ` Adrian Cox
2000-09-18 17:56           ` Matt Porter
2000-09-26 10:38     ` Gabriel Paubert
2000-09-27  5:24       ` Paul Mackerras

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=14784.22458.21233.588776@argo.linuxcare.com.au \
    --to=paulus@linuxcare.com.au \
    --cc=linuxppc-dev@lists.linuxppc.org \
    --cc=mlan@cpu.lu \
    /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).