Re: [PATCH]: Handling spurious page fault for hugetlb region for2.6.14-rc4-git5

From: Hugh Dickins
Date: Wed Oct 19 2005 - 15:02:04 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/