Re: Note describing poor dcache utilization under high memory pressure

Rick Stevens (rstevens@vitalstream.com)
Mon, 28 Jan 2002 14:00:23 -0800


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 ;)
>
> 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 ...

Ah, good! I wasn't losing it then. That's a relief!

I've gotta read up on the kernel's VM system. I use to write them
for a certain three-letter-acronymed company--many, many moons ago.
Maybe I'd have some ideas. Then again, perhaps not.

----------------------------------------------------------------------
- Rick Stevens, SSE, VitalStream, Inc. rstevens@vitalstream.com -
- 949-743-2010 (Voice) http://www.vitalstream.com -
- -
- Veni, Vidi, VISA: I came, I saw, I did a little shopping. -
----------------------------------------------------------------------

-
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/