Re: [RFC] Page table sharing

Linus Torvalds (torvalds@transmeta.com)
Tue, 19 Feb 2002 09:30:46 -0800 (PST)


On 18 Feb 2002, Eric W. Biederman wrote:
> > [1] I think that's a big, broad hint.
>
> Something like:
> struct mm_share {
> spinlock_t page_table_lock;
> struct list_head mm_list;
> };
>
> struct mm {
> struct list_head mm_list;
> struct mm_share *mm_share;
> .....
> };
>
> So we have an overarching structure for all of the shared mm's.

No, but the mm's aren't shared, only the pmd's are.

So one mm can share one pmd with mm2, and another with mm3.

Sure, you could have a list of "all mm's that _could_ share, and that
might work out well enough. An execve() removes a process from the list,
so usually the list is quite small.

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/