Re: [PATCH]x86: flush tlb if PGD entry is changed in i386 PAE mode

From: Shaohua Li
Date: Thu Mar 17 2011 - 22:19:22 EST


On Wed, 2011-03-16 at 21:03 +0800, Rik van Riel wrote:
> On 03/15/2011 11:37 PM, Shaohua Li wrote:
> > According to intel CPU manual, every time PGD entry is changed in i386 PAE mode,
> > we need do a full TLB flush. Current code follows this and there is comment
> > for this too in the code. But current code misses the multi-threaded case. A
> > changed page table might be used by several CPUs, every such CPU should flush
> > TLB.
> > Usually this isn't a problem, because we prepopulate all PGD entries at process
> > fork. But when the process does munmap and follows new mmap, this issue will be
> > triggered. When it happens, some CPUs will keep doing page fault.
> >
> > See: http://marc.info/?l=linux-kernel&m=129915020508238&w=2
> >
> > Reported-by: Yasunori Goto<y-goto@xxxxxxxxxxxxxx>
> > Signed-off-by: Shaohua Li<shaohua.li@xxxxxxxxx>
> > Tested-by: Yasunori Goto<y-goto@xxxxxxxxxxxxxx>
>
> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx>
Ingo & akpm,
can you pick this one?

Thanks,
Shaohua

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/