Received: by 10.223.176.46 with SMTP id f43csp543709wra; Wed, 24 Jan 2018 02:09:51 -0800 (PST) X-Google-Smtp-Source: AH8x225sryIHvxqWNSAZGk87x4Gb1WXHwoooUFvuY1RpfEb191JvjuB7zw2rNOBI6qMVQHZj/rr4 X-Received: by 10.98.192.134 with SMTP id g6mr12495572pfk.91.1516788591286; Wed, 24 Jan 2018 02:09:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516788591; cv=none; d=google.com; s=arc-20160816; b=UxE08aAfgolzO1Qu1JT7id00m1iRRLYceaRJief/oonV6ngIW1h0K/BDMpBs5mUrs6 smzTrvs7DXUJEQY+e+cSXkx0qVvcYc2q/SlSncUBy9epyqGvbBX5hjuU4EBWXflXg2NN PXafOKwpfFtNnDxGgwJEsBElKH+L1of7pyaJtKjKZIwh2jsgScG0j+4Cm95dByUU3+8f poXIqQzOy/kAeOyT7CnSi6fn1IyimVE4LuRTPhvl2S0XVASe3UOMIhSGpyx2dSevBu6c c+cfWvj+6DSEFuMPJwJAYuOVSqYj7rM13hHVRv0z8O1xPgrF8WcZ91zaYuKjlQxfvbQy TTuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date:from :references:cc:to:subject:arc-authentication-results; bh=0msi+vGIQEsB+tviIEafvW/QRFvtcxUqWawPiqpm4CE=; b=g1gihh1oZt/ijplsAnnutIXyZWvaz8ZqOhAbQFS6KoIs92pg1+2Q/R098tyVPVb3iV tNBBzQydvT/iL5x9lGkIKIhwwKCHw2VlZnSwDMEU3ErhC6Qq5fbITBqxG9xALEtPbVG3 fp4jj4Wqw8Btjw0CH6l2orb3NJBW90ygrISsuNW+KPGGnc41X++KROAZUfN1ZEezWpdV osh/0KIAhLBa7M0Gp1NZYmlIn7djv6EUH4LuxKQ9ReDUgBI6b/uwX7q8WprO1yZpxikk u1/l3+NEuCjPoUTQxhN62R4U552HMUpgSwg3eMoe3TxgIYWUgjgd27XRDOe4sP1mQ1Zs ZrKw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k9-v6si2918799pll.578.2018.01.24.02.09.37; Wed, 24 Jan 2018 02:09:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932982AbeAXKId (ORCPT + 99 others); Wed, 24 Jan 2018 05:08:33 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:57366 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932531AbeAXKIZ (ORCPT ); Wed, 24 Jan 2018 05:08:25 -0500 Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w0OA5fjo005935 for ; Wed, 24 Jan 2018 05:08:25 -0500 Received: from e33.co.us.ibm.com (e33.co.us.ibm.com [32.97.110.151]) by mx0b-001b2d01.pphosted.com with ESMTP id 2fpqxn8fk8-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 24 Jan 2018 05:08:24 -0500 Received: from localhost by e33.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 24 Jan 2018 03:08:23 -0700 Received: from b03cxnp07029.gho.boulder.ibm.com (9.17.130.16) by e33.co.us.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 24 Jan 2018 03:08:21 -0700 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp07029.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w0OA8KFP11469106; Wed, 24 Jan 2018 03:08:20 -0700 Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 929FEBE03A; Wed, 24 Jan 2018 03:08:20 -0700 (MST) Received: from [9.124.35.86] (unknown [9.124.35.86]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP id 5CAAABE038; Wed, 24 Jan 2018 03:08:18 -0700 (MST) Subject: Re: [PATCH v3 5/5] powerpc/mm: Fix growth direction for hugepages mmaps with slice To: Christophe LEROY , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Scott Wood Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org References: <6920f6efe2dcdabf59350b2d31ee6bd4bdef57f4.1516783089.git.christophe.leroy@c-s.fr> <362a93307a09b521878c47a8999a39a228184293.1516783089.git.christophe.leroy@c-s.fr> <9aea8b6f-0d1a-b700-efe4-8efcebc5d16d@linux.vnet.ibm.com> <47bbd8be-7b2e-245b-08d9-24958eec2ed2@linux.vnet.ibm.com> <03c7f5ce-c2ed-7038-3a8b-3bb7a9a4a2dc@c-s.fr> From: "Aneesh Kumar K.V" Date: Wed, 24 Jan 2018 15:38:16 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <03c7f5ce-c2ed-7038-3a8b-3bb7a9a4a2dc@c-s.fr> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 x-cbid: 18012410-0008-0000-0000-0000093746D8 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00008419; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000247; SDB=6.00979253; UDB=6.00496322; IPR=6.00758559; BA=6.00005792; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00019179; XFM=3.00000015; UTC=2018-01-24 10:08:23 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18012410-0009-0000-0000-000045AFFC00 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-01-24_04:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1801240136 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/24/2018 03:33 PM, Christophe LEROY wrote: > > > Le 24/01/2018 à 10:51, Aneesh Kumar K.V a écrit : >> >> >> On 01/24/2018 03:09 PM, Christophe LEROY wrote: >>> >>> >>> Le 24/01/2018 à 10:35, Aneesh Kumar K.V a écrit : >>>> >> >>>>> Did you try with HUGETLB_MORECORE_HEAPBASE=0x11000000 on PPC64 as I >>>>> suggested in my last email on this subject (22/01/2018 9:22) ? >>>> >>>> >>>> yes. The test ran fine for me >>> >>> You tried with 0x30000000, it works as well on PPC32. >>> >>> I'd really like you to try with 0x11000000 which is in the same slice >>> as the 10020000-10030000 range. >>> >>> >> >> Now that explains is better. But then the requested HEAPBASE was not >> free and hence topdown search got an address in the below range. >> >> 7efffd000000-7f0000000000 rw-p 00000000 00:0d 1082770 /anon_hugepage >> (deleted) >> >> >> The new range allocated is such that there is no scope for expansion >> of heap if we do a topdown search. But why should that require us to >> change from topdown/bottomup search? >> >> >> 10000000-10010000 r-xp 00000000 fc:00 9044312 /home/kvaneesh/a.out >> 10010000-10020000 r--p 00000000 fc:00 9044312 /home/kvaneesh/a.out >> 10020000-10030000 rw-p 00010000 fc:00 9044312 /home/kvaneesh/a.out >> 7efffd000000-7f0000000000 rw-p 00000000 00:0d 1082770 /anon_hugepage >> (deleted) >> 7ffff2d40000-7ffff7d60000 rw-p 00000000 00:00 0 >> 7ffff7d60000-7ffff7f10000 r-xp 00000000 fc:00 9250090 >> /lib/powerpc64le-linux-gnu/libc-2.23.so >> 7ffff7f10000-7ffff7f20000 r--p 001a0000 fc:00 9250090 >> /lib/powerpc64le-linux-gnu/libc-2.23.so >> 7ffff7f20000-7ffff7f30000 rw-p 001b0000 fc:00 9250090 >> /lib/powerpc64le-linux-gnu/libc-2.23.so >> 7ffff7f40000-7ffff7f60000 r-xp 00000000 fc:00 10754812 >> /usr/lib/libhugetlbfs.so.0 >> 7ffff7f60000-7ffff7f70000 r--p 00010000 fc:00 10754812 >> /usr/lib/libhugetlbfs.so.0 >> 7ffff7f70000-7ffff7f80000 rw-p 00020000 fc:00 10754812 >> /usr/lib/libhugetlbfs.so.0 >> 7ffff7f80000-7ffff7fa0000 r-xp 00000000 00:00 0 [vdso] >> 7ffff7fa0000-7ffff7fe0000 r-xp 00000000 fc:00 9250107 >> /lib/powerpc64le-linux-gnu/ld-2.23.so >> 7ffff7fe0000-7ffff7ff0000 r--p 00030000 fc:00 9250107 >> /lib/powerpc64le-linux-gnu/ld-2.23.so >> 7ffff7ff0000-7ffff8000000 rw-p 00040000 fc:00 9250107 >> /lib/powerpc64le-linux-gnu/ld-2.23.so >> 7ffffffd0000-800000000000 rw-p 00000000 00:00 0 [stack] >> >> >> For the specific test, one should pass the HEAPBASE value such that it >> can be expanded if required isn't it ? > > For the test, yes, it is dumb to pass an unusable HEAPBASE, but what > happens in real life: > * PPC32: No HEAPBASE, hugetlbfs defines a HEAPBASE at sbrk(0) + > PAGE_SIZE = 0x10800000 ==> This is in the same slice as already > allocated ==> the kernel does as if mmap() had been called with no hint > address and allocates something unusable instead. > * PPC64: No HEAPBASE, hugetlbfs seems to define a HEAPBASE at > 100000000000, which doesn't conflict with an already allocated mapping > ==> it works. > > Now, when we take the generic case, ie when slice is not activated, when > you call mmap() without a hint address, it allocates a suitable address > because it does bottom-up. Why do differently with slices ? > IIUC that is largely arch dependent, PPC64 always did topdown search. Even for regular non hugetlb mmap it did topdown search. If you set legacy mmap we selected bottom up approach. You can check arch_pick_mmap_layout() for more details. Now x86 is slightly different. For the default search if we can't find a mapping address it will try a bottomup search. Having said that if you think libhugetlbfs made assumptions with respect to 8xx and you don't want to break it make 8xx unmapped area search bottomup. -aneesh