Subject: Re: cpu_switch (was Re: 1.5 Release documentation ...)
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: Reinoud Zandijk <imago@kabel065011.kabel.utwente.nl>
List: port-arm32
Date: 11/16/2000 00:39:33
On Wed, 15 Nov 2000, Bill Sommerfeld wrote:
> There was a verdict in a related case, though: there was a pmap_copy
> implementation in the i386 pmap; it turned out to be a net lose and
> was disabled.

Hmm... i can understand .... what about a forked design ? i.e. a tree or
forrest with pmap links ? i.e. record modifications on each other ? Or am
i really off the track here :)) hehe... i dont really understand the
internals of the `pmap' section that well yet... i'd better do soon!

> If you want to avoid predictable faults, it might be plausible to
> pre-COW the page that the stack pointer is pointed at, and pre-fault
> the page the program counter is pointed at..

Oh? isnt this done normally then allready ?? sounds very logical to me
.. maybe you could widen the range for pages to pre-COW in by say one or
two around it ? or the first few faulted pages in the last swap ? Just
mindstorming ....

> i also have a vague memory of seeing a paper which talked about a
> "bovophobic" (COW-avoidance) scheme where the system accumulated a
> history of which data pages of a process were typically modified
> between fork() and exec(), and precopied them at fork time..

Very nice term that `bovophobic' :) ... well isnt this in a way a
generalised version of the `first few faulted pages in the last swap' ?

Just my $0.01 ... food for thought or laughter :)

Cheers,
Reinoud