public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Question about cache flushing and fork
@ 2003-12-16  4:40 Randolph Chung
  2003-12-16  4:48 ` David S. Miller
  2003-12-16  4:56 ` Linus Torvalds
  0 siblings, 2 replies; 4+ messages in thread
From: Randolph Chung @ 2003-12-16  4:40 UTC (permalink / raw)
  To: linux-kernel, parisc-linux

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/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-12-16 15:53 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-16  4:40 Question about cache flushing and fork Randolph Chung
2003-12-16  4:48 ` David S. Miller
2003-12-16 15:53   ` [parisc-linux] " LaMont Jones
2003-12-16  4:56 ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox