Messages in this thread |  | | | Date | Wed, 19 Oct 2005 21:00:47 +0100 (BST) | | From | Hugh Dickins <> | | Subject | Re: [PATCH]: Handling spurious page fault for hugetlb region for 2.6.14-rc4-git5 |
| |
Many thanks for your helpful answers in other mail: much appreciated.
On Wed, 19 Oct 2005, Rohit Seth wrote: > On Wed, 2005-10-19 at 16:48 +0100, Hugh Dickins wrote: > > > > What happens when the hugetlb file is truncated down and back up after > > the mmap? Truncating down will remove a page from the mmap and flush TLB. > > Truncating up will let accesses to the gone page pass the valid...off test. > > But we've no support for hugetlb faulting in this version: so won't it get > > get stuck in a tight loop? > > First of all, there is currently no support of extending the hugetlb > file size using truncate in 2.6.14. (I agree that part is broken). So > the above scenario can not happen.
I was forgetting that extending ftruncate wasn't supported in 2.6.14 and earlier, yes. But I'm afraid the above scenario can still happen there: extending is done, not by ftruncate, but by (somewhere else) mmapping the larger size. So your fix may still cause a tight infinite fault loop.
> For the prefaulting hugepage case that exist today, I would assume that > (if someone does extend ) using truncate to extend the hugetlb file size > support, would update the PTEs of all the processes that have those > hugepages mapped (just like when truncating it down currently kernel > clear the ptes from all the processes PT).
Sorry, no, you're dreaming there. And I very much doubt we'd want to implement such a behaviour! (But yes, it's a good example of why several of us are quite unhappy with the extend-to-fill-mmap behaviour.)
> > If it's decided that this issue is actually an ia64 one, and does need to > > be fixed right now, then I'd have thought your idea of fixing it at the > > ia64 end better: arch/ia64/mm/fault.c already has code for discarding > > faults on speculative loads, and ia64 has an RGN_HPAGE set aside for > > hugetlb, so shouldn't it just discard speculative loads on that region? > > This has nothing to do with speculative load fault on IA-64.
As you made clear in your other mail: sorry for wasting your time with my ignorant confusions!
Hugh - 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/
|  |