Messages in this thread | | | Date | Fri, 24 May 2013 09:06:35 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH] mm: fix up a spurious page fault whenever it happens |
| |
On 05/24/2013 04:29 AM, Stanislav Meduna wrote: > On 23.05.2013 14:19, Rik van Riel wrote: > >>>> static inline void __native_flush_tlb_single(unsigned long addr) >>>> { >>>> __flush_tlb(); >>>> } >> >>> I will give it some more testing time. >> >> That is a good idea. > > Still no crash, so this one indeed seems to change things. > > If I understand it correctly, these patches fix the problem > when it happens and we still don't know why the TLB is stale > in the first place - whether there is (also) a genuine bug > or whether we are hitting some chip errata, right?
Just to rule something out, are you using transparent huge pages on those systems?
That could result in a mix of 4MB and 4kB mappings, sometimes of the same memory. The page tables would only ever contain one of those mappings, but if we have some kind of TLB problem, we might preserve a large mapping across a page breakup, or a small one across a page collapse...
| |