Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264359AbUDORUb (ORCPT ); Thu, 15 Apr 2004 13:20:31 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264360AbUDORUa (ORCPT ); Thu, 15 Apr 2004 13:20:30 -0400 Received: from fmr04.intel.com ([143.183.121.6]:54674 "EHLO caduceus.sc.intel.com") by vger.kernel.org with ESMTP id S264359AbUDORU0 (ORCPT ); Thu, 15 Apr 2004 13:20:26 -0400 Message-Id: <200404151716.i3FHGjF08464@unix-os.sc.intel.com> From: "Chen, Kenneth W" To: "'David Gibson'" Cc: , , , , "'Andy Whitcroft'" , "'Andrew Morton'" Subject: RE: hugetlb demand paging patch part [3/3] Date: Thu, 15 Apr 2004 10:16:45 -0700 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 In-Reply-To: <20040415072535.GF25560@zax> Thread-Index: AcQjBNmwdgiS0H8YTH+oy43nQObKgQAB55Ow X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1175 Lines: 34 >>>>> David Gibson wrote on Thursday, April 15, 2004 12:26 AM > > > @@ -175,7 +132,6 @@ struct page *follow_huge_addr(struct mm_ > > return NULL; > > page = pte_page(*ptep); > > page += ((addr & ~HPAGE_MASK) >> PAGE_SHIFT); > > - get_page(page); > > return page; > > } > > As far as I can tell, the removal of these get_page()s is also > unrelated to the demand paging per se. But afaict removing them is > correct - the corresponding logic in follow_page() for normal pages > doesn't appear to do a get_page(), nor do all archs do a get_page(). > > Does that sound right to you? It's a bug in the code that was never exercised with prefaulting. See get_user_pages() that short circuits the rest of faulting code with is_vm_hugetlb_page() test. > If so, the patch below ought to be safe (and indeed a bugfix) to > apply now: Yep, that's correct, I already did x86 and ia64 in one of the three patches posted. ;-) - 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/