On January 29, 2002 12:12 am, Rick Stevens wrote:
> Daniel Phillips wrote:
>
> > Since the page was copied to the child, the child's page table must be
> > altered, and since it is shared, it must first be instantiated by the child.
> > So after all the dust settles, the parent and child have their own copies of
> > a page table page, which differ only at a single location: the child's page
> > table points at its freshly made CoW copy, and the parent's page table points
> > at the original page.
>
> >
> > The beauty of this is, the page table could just as easily have been shared
> > by a sibling of the child, not the parent at all, in the case that the parent
> > had already instantiated its own copy of the page table page because of an
> > earlier CoW.
>
>
> Ok. Still seems like a bit more copying than necessary.
I think I can show that it's exactly as much copying as necessary, and no more.
Oh, the page directory could also be shared and, on a 3 level page table, so
could the mid level tables, but that's not a really big win because of the 1K/1
fanout. I.e, we already took care of 99.9% of the problem just by sharing the
bottom-level page tables.
> I'd have to look at it a bit more and do some noodling.
>
> > Confused yet? Welcome to the club ;-)
>
> Does my head exploding qualify for "confused"? If so, then I'm not
> yet "confused". I'm "concerned", since my ears are bleeding (a
> precursor to an explosion) ;-p
:-)
-- 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/
This archive was generated by hypermail 2b29 : Thu Jan 31 2002 - 21:00:55 EST