From: Randolph Chung <randolph@tausq.org>
To: linux-kernel@vger.kernel.org, parisc-linux@lists.parisc-linux.org
Subject: [parisc-linux] Question about cache flushing and fork
Date: Mon, 15 Dec 2003 20:40:33 -0800 [thread overview]
Message-ID: <20031216044033.GT533@tausq.org> (raw)
Hi,
Can someone please explain why it is necessary to flush the cache
during fork()? (i.e. call to flush_cache_mm() in dup_mmap)
It seems that after fork, the parent and child have access to the same
vm, so it should be sufficient to flush the tlb, and create two pte's
for the processes. I can see that during COW processing there can be
kernel/user cache aliasing issues on virtually indexed caches, but
that seems to be taken care of by copy_cow_page().
I've read through cachetlb.txt, but it just says:
This interface is used to handle whole address space
page table operations such as what happens during
fork, exit, and exec.
I can see why this is needed for exit(), but why fork()? and i don't see
this used for exec() ?
Also is there an updated version of the "Linux Cache Flush Architecture"
document? (http://en.tldp.org/LDP/khg/HyperNews/get/memory/flush.html)
This is a very nicely written doc, but it seems a bit out of date for
2.6 (e.g. flush_page_to_ram is gone)
thanks
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
WARNING: multiple messages have this Message-ID (diff)
From: Randolph Chung <randolph@tausq.org>
To: linux-kernel@vger.kernel.org, parisc-linux@lists.parisc-linux.org
Subject: Question about cache flushing and fork
Date: Mon, 15 Dec 2003 20:40:33 -0800 [thread overview]
Message-ID: <20031216044033.GT533@tausq.org> (raw)
Hi,
Can someone please explain why it is necessary to flush the cache
during fork()? (i.e. call to flush_cache_mm() in dup_mmap)
It seems that after fork, the parent and child have access to the same
vm, so it should be sufficient to flush the tlb, and create two pte's
for the processes. I can see that during COW processing there can be
kernel/user cache aliasing issues on virtually indexed caches, but
that seems to be taken care of by copy_cow_page().
I've read through cachetlb.txt, but it just says:
This interface is used to handle whole address space
page table operations such as what happens during
fork, exit, and exec.
I can see why this is needed for exit(), but why fork()? and i don't see
this used for exec() ?
Also is there an updated version of the "Linux Cache Flush Architecture"
document? (http://en.tldp.org/LDP/khg/HyperNews/get/memory/flush.html)
This is a very nicely written doc, but it seems a bit out of date for
2.6 (e.g. flush_page_to_ram is gone)
thanks
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
next reply other threads:[~2003-12-16 3:46 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-16 4:40 Randolph Chung [this message]
2003-12-16 4:40 ` Question about cache flushing and fork Randolph Chung
2003-12-16 4:48 ` [parisc-linux] " David S. Miller
2003-12-16 4:48 ` David S. Miller
2003-12-16 15:53 ` [parisc-linux] " LaMont Jones
2003-12-16 15:53 ` LaMont Jones
2003-12-16 4:48 ` David S. Miller
2003-12-16 4:56 ` Linus Torvalds
2003-12-16 4:56 ` Linus Torvalds
2003-12-16 4:56 ` [parisc-linux] " Linus Torvalds
2003-12-16 5:06 ` [parisc-linux] " John David Anglin
2003-12-16 16:03 ` LaMont Jones
2003-12-16 22:51 ` John David Anglin
2003-12-16 23:23 ` Stan Sieler
2003-12-17 0:30 ` LaMont Jones
2003-12-17 1:03 ` Stan Sieler
2003-12-17 0:36 ` James Bottomley
2003-12-17 0:57 ` John David Anglin
2003-12-17 1:16 ` LaMont Jones
2003-12-17 1:46 ` John David Anglin
-- strict thread matches above, loose matches on Subject: below --
2003-12-16 4:40 Randolph Chung
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=20031216044033.GT533@tausq.org \
--to=randolph@tausq.org \
--cc=linux-kernel@vger.kernel.org \
--cc=parisc-linux@lists.parisc-linux.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.