Re: Note describing poor dcache utilization under high memory pressure
Daniel Phillips (phillips@bonn-fries.net)
Mon, 28 Jan 2002 23:26:47 +0100
On January 28, 2002 10:43 pm, Rik van Riel wrote:
> On Mon, 28 Jan 2002, Rick Stevens wrote:
> > Daniel Phillips wrote:
> > [snip]
> [page table COW description]
>
> > Perhaps I'm missing this, but I read that as the child gets a reference
> > to the parent's memory. If the child attempts a write, then new memory
> > is allocated, data copied and the write occurs to this new memory. As
> > I read this, it's only invoked on a child write.
> >
> > Would this not leave a hole where the parent could write and, since the
> > child shares that memory, the new data would be read by the child? Sort
> > of a hidden shm segment? If so, I think we've got problems brewing.
> > Now, if a parent write causes the same behaviour as a child write, then
> > my point is moot.
>
> Daniel and I discussed this issue when Daniel first came up with
> the idea of doing page table COW. He seemed a bit confused by
> fork semantics when we first discussed this idea, too ;)
Oh yes, I admit it, confused is me. That way I avoid heading off in
directions that people have already gone, and found nothing ;-)
> You're right though, both parent and child need to react in the
> same way, preferably _without_ having to walk all of the parent's
> page tables and mark them read-only ...
Yes, and look at the algorithm as I've stated it, it's symmetric with respect
to parent and child. Getting it into this simple and robust form took a lot
of work, and as you know, my initial attempts were complex and, yes, confused.
--
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/