> > it's not even possible - think about threads on different processors
> > running at once. Which fixed address? Page tables are shared.
> It certainly can be done, and it has been done.
>
> Only the page table containing the virt addr 0xc0000000 need be
> different between multiple threads.
>
> Page tables don't _have_ to be shared, either, they could,
> instead be duplicated.
>
> In this proposal, however, only the page directory need be
> different, the page tables for all user virtual address pages
> can be shared between threads which shared address spaces.
clone()ing costs go up immediately, from the current 10 usecs cost to
create a process to 50-100 usecs, plus MM handling gets more complicated.
Plus in PAE mode this would be even more complicated (because two levels
need to be private to the thread). I dont think this brings any good.
what you propose is not possible without destroying true threads.
-- mingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/