From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E8A6C46467 for ; Wed, 11 Jan 2023 22:58:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4C07F8E0002; Wed, 11 Jan 2023 17:58:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4704F8E0001; Wed, 11 Jan 2023 17:58:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 311578E0002; Wed, 11 Jan 2023 17:58:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 1F4868E0001 for ; Wed, 11 Jan 2023 17:58:14 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BEFE61205CD for ; Wed, 11 Jan 2023 22:58:13 +0000 (UTC) X-FDA: 80344033266.27.DF8EB1C Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf10.hostedemail.com (Postfix) with ESMTP id B8D2EC000B for ; Wed, 11 Jan 2023 22:58:11 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=aahLQBw6; spf=pass (imf10.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1673477891; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Q6X8VPVf8lP5s93B2M9ByDvI3FcsPMNaVjgr5rIK13I=; b=FsHnmFnios+WFq3BKldy4R9A4feGJJmeayQO1nYGl1aEdLfjGRqV2S09WHDN7ogBwes34n 8ygbiITs315nsdq/LCxgddWJc/QR969g6EZvqDvsl3Rd2FgYF2yxGzlwocC3m7pcDkR72W AHdU+36Pn9pxFUdoCbh2L44OXtVHsa8= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=aahLQBw6; spf=pass (imf10.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673477891; a=rsa-sha256; cv=none; b=X8YpyGf9cHYeiyt0e86Fc4A2sTlekRAZuHwzls/GyZyIh1J8mzOo62px+vxpCJXxh8WARO 9v1V1wcVrFsK8Wb4rLIr9xk6axbzP4OoXQq8gIbM1HGvbTcqRcHdSHRwvKPhrbHO2obo2R FVcdrtSZ35+kDDYCz8pX2K1U10DlY5M= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1673477891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Q6X8VPVf8lP5s93B2M9ByDvI3FcsPMNaVjgr5rIK13I=; b=aahLQBw6kI2qwDMYTK+Q2i/ZZMxYKxwJGQTTx8/A7fRynaBAVTjwvLobe8OdqLR9pGaY3X 2g/XgE7+i6XXw6poQm/O9UlYuh/Ka8+fQRF6Ox96oRDCoP8jOcewN7gXqtfOCeQDsGhFjF ZnF91MHy0PGe8bV8wq/pNBcTYiYTX3Y= Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-557-zv9uCfg3PU2ZTnReJdzehA-1; Wed, 11 Jan 2023 17:58:10 -0500 X-MC-Unique: zv9uCfg3PU2ZTnReJdzehA-1 Received: by mail-qt1-f198.google.com with SMTP id fp22-20020a05622a509600b003ab920c4c89so7904007qtb.1 for ; Wed, 11 Jan 2023 14:58:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q6X8VPVf8lP5s93B2M9ByDvI3FcsPMNaVjgr5rIK13I=; b=ziuF+j8pJUgBxeKSWNF9bRArWgTjDVwRDBc6YaRA8Q7LaosVZqW02iMg1mJ+kifbi1 4T6KUj4jR8/BT8DR8sw87KyHMePoNTcGXt7pi0VMRzPvg/ROyRsweJQAgKSZ0xRU3QTi hh0PZOHX5uMYtHxeidWXoEM0b+6scHmidVQWOH58yJdlC//+NJAbhPHhjg9GJKVOjygg 9MnBZU94fIkjvDioL6EfTP9DjOd5IKCwxCH3lxq4HcWlbZkn9vR4Cb10SO2CVja+SlLa u2Ob3MvrjNbs9SXtAPtlYl0EyU7MXg6uRBnvEWOl/2g8sIDC3VOe/v2Q7+ZkUsneeWgR eFOA== X-Gm-Message-State: AFqh2ko/5b+72nmC46i038qMKAN8JBWDsFcUW2jDXyK+pXXk/XERuNP9 6+dfU/fwjeW2DaVuJOcC2IshSTTPoH/33kC4Jdxwp5m48MH2DEmnpkbsGjoZImIDjgq4Mk5jmNz 052RFKNSaESI= X-Received: by 2002:a0c:e9cb:0:b0:532:3af0:136e with SMTP id q11-20020a0ce9cb000000b005323af0136emr5165330qvo.11.1673477889602; Wed, 11 Jan 2023 14:58:09 -0800 (PST) X-Google-Smtp-Source: AMrXdXsi2eFq9SqZp1mBl0cPsVyu20iG40mfSHvyWQpbgkoaDhXWdJ7ycJYWoytG+5kIZojWheqXXQ== X-Received: by 2002:a0c:e9cb:0:b0:532:3af0:136e with SMTP id q11-20020a0ce9cb000000b005323af0136emr5165301qvo.11.1673477889366; Wed, 11 Jan 2023 14:58:09 -0800 (PST) Received: from x1n (bras-base-aurron9127w-grc-56-70-30-145-63.dsl.bell.ca. [70.30.145.63]) by smtp.gmail.com with ESMTPSA id y2-20020a05620a44c200b006f87d28ea3asm9710811qkp.54.2023.01.11.14.58.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 14:58:08 -0800 (PST) Date: Wed, 11 Jan 2023 17:58:07 -0500 From: Peter Xu To: James Houghton Cc: Mike Kravetz , Muchun Song , David Hildenbrand , David Rientjes , Axel Rasmussen , Mina Almasry , Zach O'Keefe , Manish Mishra , Naoya Horiguchi , "Dr . David Alan Gilbert" , "Matthew Wilcox (Oracle)" , Vlastimil Babka , Baolin Wang , Miaohe Lin , Yang Shi , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 21/46] hugetlb: use struct hugetlb_pte for walk_hugetlb_range Message-ID: References: <20230105101844.1893104-1-jthoughton@google.com> <20230105101844.1893104-22-jthoughton@google.com> MIME-Version: 1.0 In-Reply-To: <20230105101844.1893104-22-jthoughton@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: B8D2EC000B X-Stat-Signature: uq4qsxeu37cbx3og71fhg6xsppugtyqp X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1673477891-902323 X-HE-Meta: U2FsdGVkX1/7NgcxOfiGrIn4R+nLr839TASQs31oiEC1Ug+OYKXs9w5JAOrs3E8QtQNrtizWChSya1O6rGQ+6K0+qDDtdSE15eA4i3HInu39vw00HE2cF6Po+Ver8OYD5D1DA+dL+FTTiKWldYDZPS/oMtuXx9eFgDolA9xYdnIIjpTWBZVqWUQ3+UdQONuykEOujevhTzn66tjCG7YZX76eOdhNUzUWBgDPkLJxN7mfa7yiZ32aFmvgIv9fCMQ3LISoU5HjdZsS32I3Kmc9TgM3XzythGWVMO5lCDD6NFrFsd1MKXKWIQsuKfjwqicQuWYGkxyE0jVhteIYLwmLrtuqlGwVYUcNQ+pDGiNbSgqY1j5XAw8bXyv6/II39W6lUvcYSU5FfcgSscYfQcOymeTlRYQ1q/zpMVpVkQsQd5z6Wf+G5OuNMqS3s1BlIy/qIuzSyfIFnnRuppGSQhcoflk8AGjrcEJNR+HXNaU4s1daeZctA3VntMiTElRXoIAx1+Z1hFy0VJBiiPsoSGHLLSaCu5luqp3DKhHZPstsYKfNpYx9P6nAM+mj4rX/LHnU5HznBbkpeXoLYaVuK9/lN1gmC54iDKWAMUcsrnZYmSUmNjV5/ga9Mn3m+T499MZWY6XboNoTTlVijVtFybzVkVm5d6JDk9dBT23TSEPD+GUNXDG3H+BuU9WsYqnn98rpdPYKjkeiKNMhzCDYHnNCuhIlV+nzb3FayHMrSG0LuF9wUBQDcuEZOdh5X7N/FggF4Q3WWpSqsEGQpxQAm3XdekQDwSTBo8+mrCXcQCWx3heHK+pRUaythNZAIl9ucrwcCW9Txl8iXHFTrngz123Fqxuqpzmy4saYW1g6qzY13H1wyAZleBhztrUEotqGo3bLxfFbjKjb5wNvZFh3d52/6xbZS/FjCLsDJJbjVE0OUWA+9wMSvedsZnoHjZqXMIjDTkHuarKJrY44XOwOHGu p7WTTNkT WdeapIjei6QaJ/Zi69E5q3LmqBDMWq3DWw228CTiplDhv7YAqoLPZQzo6X1LH+f5uCdOhGIiCwCNnFsLEcq9ZMEmTw94te1fjvjeI/ZmhIB3TQJjnvCwis0rHrjUU4++AQM+vc6AFozFpQJ3f7uv0jWDizA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: James, On Thu, Jan 05, 2023 at 10:18:19AM +0000, James Houghton wrote: > @@ -751,9 +761,9 @@ static int smaps_hugetlb_range(pte_t *pte, unsigned long hmask, > int mapcount = page_mapcount(page); > > if (mapcount >= 2) > - mss->shared_hugetlb += huge_page_size(hstate_vma(vma)); > + mss->shared_hugetlb += hugetlb_pte_size(hpte); > else > - mss->private_hugetlb += huge_page_size(hstate_vma(vma)); > + mss->private_hugetlb += hugetlb_pte_size(hpte); > } > return 0; One thing interesting I found with hgm right now is mostly everything will be counted as "shared" here, I think it's because mapcount is accounted always to the huge page even if mapped in smaller sizes, so page_mapcount() to a small page should be huge too because the head page mapcount should be huge. I'm curious the reasons behind the mapcount decision. For example, would that risk overflow with head_compound_mapcount? One 1G page mapping all 4K takes 0.25M counts, while the limit should be 2G for atomic_t. Looks like it's possible. Btw, are the small page* pointers still needed in the latest HGM design? Is there code taking care of disabling of hugetlb vmemmap optimization for HGM? Or maybe it's not needed anymore for the current design? Thanks, -- Peter Xu