Re: Note describing poor dcache utilization under high memory pressure

Linus Torvalds (torvalds@transmeta.com)
Tue, 29 Jan 2002 13:08:12 -0800 (PST)


On Tue, 29 Jan 2002, Oliver Xymoron wrote:
>
> fork:
> detach page tables from parent

- leave the option ot just mark them read-only on architectures that
support it (ie x86, I think alpha does this too).

> retain pointer to "backing page tables" in parent and child
> update use count in page tables

You want to copy the top-level page table directory (with the "present
bit" disabled or something), not just retain a pointer to it. Otherwise
you just get really confused after two fork() calls, where you can have
multiple "backing page tables".

> "prefault" tables for current stack and instruction pages in both parent
> and child

Don't unconditionally prefault. There are many potentially useful things
that do _not_ want to do this, for example snapshot creation.

So the generic "do_fork()" thing should _not_ do prefaulting, although
"sys_fork()" may well choose to do it.

Linus

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