On Mon, 19 Sep 2005, Linus Torvalds wrote:
>
> We hold the page_table_lock when doing the fork(), so T2 can't actually be
> copying the page until we've done the TLB flush, no? And once the TLB
> flush is done, all the writes by T3 should be in the page, so we copy the
> right thing at that point, and there is no consistency problems?
I was totally overlooking the page_table_lock during the fork.
But no matter, it's not good enough: src_mm->page_table_lock is acquired
and dropped at the inner level, in copy_pte_range (looking at latest 2.6):
it cannot be held across allocating page tables for dst_mm.
So each time T1 drops it, there's a window for the T2 vs. T3 problem.
Yet we don't much want to flush TLB each time we leave copy_pte_range.
Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|