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 8D2A5D5CCB3 for ; Wed, 30 Oct 2024 14:31:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 222466B0098; Wed, 30 Oct 2024 10:31:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D2396B0099; Wed, 30 Oct 2024 10:31:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 09A356B009B; Wed, 30 Oct 2024 10:31:44 -0400 (EDT) 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 DDACE6B0098 for ; Wed, 30 Oct 2024 10:31:43 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 7E9CD40E69 for ; Wed, 30 Oct 2024 14:31:43 +0000 (UTC) X-FDA: 82730506320.06.1D381E8 Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) by imf15.hostedemail.com (Postfix) with ESMTP id 50971A0028 for ; Wed, 30 Oct 2024 14:31:15 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=l8K0Y0Ms; spf=pass (imf15.hostedemail.com: domain of 3TEMiZwYKCJsN95IE7BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--seanjc.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3TEMiZwYKCJsN95IE7BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730298540; 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=0C/7DnA/y8wAesZ1qIY7l4f44jX4OYQkU92X7kuhu9Q=; b=wO6zX2NH4c5X6TeGUdWTanPIAEWqztUNmsq/WBmjkzQx71MKa0Xmt4zCo+KS3SCFCHoFAE NFT77naUlQS4KBAyTkdDbavhwZJBKPx9wgcGHHlku5Nln2zBZYmjdeIYFhb+JBXu34Ia/x aT71QUJpXSNCXGh6OSqXaNVAniGST4I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730298540; a=rsa-sha256; cv=none; b=jxrIXW9TTUklckLm0MqZ/YkTfHEMarIZi/sBJlD14L5cBe8Dv0bwN1kU9YtNwVYP4iNQGW wJsD5tNxsvpgD1Ms7f5Htjv32+YvLbK5SSG1Es3Y7hl+MJhxvXd94i5u9dtP5Rw/Qpworr CGFzfDmEI8MSJMJEaDSSdGBsby+UBBQ= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=l8K0Y0Ms; spf=pass (imf15.hostedemail.com: domain of 3TEMiZwYKCJsN95IE7BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--seanjc.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3TEMiZwYKCJsN95IE7BJJBG9.7JHGDIPS-HHFQ57F.JMB@flex--seanjc.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-71e49ae1172so6429784b3a.2 for ; Wed, 30 Oct 2024 07:31:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1730298700; x=1730903500; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=0C/7DnA/y8wAesZ1qIY7l4f44jX4OYQkU92X7kuhu9Q=; b=l8K0Y0MscIMz0KuBa96pbzjbUso24Oinb/A3T9Z76ES5+feC02sG3LOtUs6uW28G4p PNDKYaW476u3MghsgnT8kokkH0FKfUyQrpHuWl+wBsXTr2JzHDP/ZGx/YFFlfW4BoHmU GxIeogbeOA3YLstPQwd/5mhY7T0mcWcAG+d0Y6IJWJCqpYGOOhME8P0uO98eQIE79mTG ak3dpSSuvz59aoQklxV8jQUwgZYA6PjcV7F3XHYkSWNE58hiRrY1OSTo7PO2vWEtXsfH ldwf+SokS+otsAjS91T2i2FX3o+fISXtJK/x/hHk4TBQd4VweK2VfZikFHaYbmVo3QfV FS6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730298700; x=1730903500; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0C/7DnA/y8wAesZ1qIY7l4f44jX4OYQkU92X7kuhu9Q=; b=r8eK84vq4tvcKY8XMu1qGckvoFstkjX7OwJN+BCF27wQUNVK5AXiUxzO5YgVrm3c2q qfuFKzLGASlffOwZHTxEoafdu6pM3cgWZfjYxj0Uqd7HjVZ/YDpDD73Krfj2uWP3aICC Jh+hGplJ2L7ORWdnR/2tMVaaTgoR0oJ4/wRuO51+2pB6qJMXopcxB6SbvB/h+yDZ+imz JmQye1z/Dqm53vQt4sWWxE3MiGnJoqlw7yUKOP3IitS7xhxGvZ9rflgKMoleQf9KtU1q PRU0G4TGo8Pj3l98T8MdBlWTDkfT6qqOQOmbCcUwmhqH8N9bK23U5Bqi26IlW3pbyjco XDZg== X-Forwarded-Encrypted: i=1; AJvYcCVKg3mI6kLgJq2cgBdqrCASXtSPJh3I3gg9UTqSwFQeULC+LTMsNHQqS1npOEWNZv6B5UCUVMO3Lg==@kvack.org X-Gm-Message-State: AOJu0Yyhl8wdT5dCvsTmyZwcIWROts8nSgs+ngyh1TBOQ4g8N2aGddE1 Mb3NOTHVZWm0o4/MNnj7gzENDMSnM84cIPDaO1zHIqqv6H/+dMoQcPiXdU1Oh+AnlUuga9FRTck meg== X-Google-Smtp-Source: AGHT+IF8rMp2gxMuCaV/iHlOaeyvVg3V14dw5/CmY/hotCMcZb9W2xqvA/5krrLvEDL/BlsrKLqEQCxvGLg= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:9d:3983:ac13:c240]) (user=seanjc job=sendgmr) by 2002:a62:e708:0:b0:71e:5580:f456 with SMTP id d2e1a72fcca58-7206306de0fmr28754b3a.3.1730298700012; Wed, 30 Oct 2024 07:31:40 -0700 (PDT) Date: Wed, 30 Oct 2024 07:31:38 -0700 In-Reply-To: Mime-Version: 1.0 References: Message-ID: Subject: Re: [RFC PATCH 1/3] mm: hugetlb: Simplify logic in dequeue_hugetlb_folio_vma() From: Sean Christopherson To: Ackerley Tng Cc: muchun.song@linux.dev, peterx@redhat.com, akpm@linux-foundation.org, rientjes@google.com, fvdl@google.com, jthoughton@google.com, david@redhat.com, isaku.yamahata@intel.com, zhiquan1.li@intel.com, fan.du@intel.com, jun.miao@intel.com, tabba@google.com, quic_eberman@quicinc.com, roypat@amazon.co.uk, jgg@nvidia.com, jhubbard@nvidia.com, pbonzini@redhat.com, erdemaktas@google.com, vannapurve@google.com, pgonda@google.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="us-ascii" X-Stat-Signature: eaqrmxtqwkmkwaep6obmu3zq4n6wpcko X-Rspamd-Queue-Id: 50971A0028 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1730298675-888747 X-HE-Meta: U2FsdGVkX1/bogsCELACtRGOaPbIGRD7lAhB+VPHj0YoTeEJYHUVEJaxOf+yISKL1orVPCaIEycDNxvdHOxqvXDBDwI9cHahWpf79f08UCGA7rvbcUovAzbfMoRXoCPF4rVcpb5whrcdT3zEJKkl9Qn3Peu0Bsi5q3GYJfjsj7Jp+dvENTQQTk5NGlY8n8SmLzofndpVlBnhVhyTBnOH4Y8Nb9QcX50unHkUjxmztpCW5ZtVrKNZBm3wAXLOwlc17CcANVsZIKdoq0KYM9coEZxkunwlMHV2dMUeMLLeZWrVWWIyH4Od81kcjBvQt+GSXZmrDXaJLZSM+jSTX4RakFav83sK8lx0KoDijZQtZoSYGVUPz98jHBz5RtBBxIlkNzMOBDlf2ev6HJoMnIT1lkM3yoDw/mP37XftbBkKtfaHMdsjSAJM6Km/HnCCJdj3mOZlmEc3+1cH2srO7D8Q8itgI6JKd70wNUn4FVic1hxxKmKjpUrYzyVV7cjZtHUuQ01AtKQU8QNdnQm/dmhmItW3Z1h4z1HEBfkQre8NwvWA2Pqpn+QGQtiv5JZRCP9ISA2ziLYGSk0/U/RabXaRoUecr8gBe6mVRyj3ilSblBwGedwMaZR3why+youjjXDmAlBvdIfXbgPjR+5xihfzW2pU/oVJxf5XkjtIFT152IKA6aooGcJjgEC7V32czl24VTXNfWPYdcBpWwP9WCY/jjE0cqDo0qgHXrDy+Cc1WQJXScoti0SGdp0gZnst8BykfsyhQtJA3oPyuHy/QYCJCo0skF2b1QEX9Al8QFmsKr4NyJMYhN8x88DYw926w00PVRUKW3RPixo7QDSR5LwzDa/XGxLVVLBNKKmHSFsfrvH7Ad9d56opEuK0VoQLrSc/5GESzNsD1A+etc4SY6sT3cDWuCs4lcRyBRfgN/a07ZnLJGczkqAv0xLPfIjKSD0nIxyQ7sOi33NAA01PMjn oqKIFrHi RCbqnTguCqENSIFZ91LPGcoDcjzGZTvkBd0b5Encm8DIifIeOLHgikTMlCy6A7ftVOMZKUKVf2jHEIohFlwzQM39Uqtl3mwzngsN55ccJmABYV35dPKnBl6XoplZlTfziua/AKLp1NU6R4HtpuK3WXu7Na6YgHqEwZNXE5GTx16m7POqPyao/X2TjnspgZvDefzDTlFpxjncRcMTcxYrHZI9neBZJHRDvumtNI4PEt65WuY9cYkmb7t4hzmzRquT+lpuf/r34DTdarEKZfJpo57ms43B5JOhlspKrPIvyGYmuxmYopE96F8t8/DXRZr4OiKKJkdnArcuMBVhHuOcPPKj4nZONokqj+FSZsZFSpgSpDyt8o09xlxGfIk+ZKdlHlZ9tYZto1cvXXs7gbxpvvXh4MOLYe4hDEK1VLnpVeB2s6YcPW32zZaA5Xr1TW+X2tUSsNFJ7j8VmJH1hWVPSI/Oh2pQfhfGhoRQK4VOZMSdCs0kv/NRfypdhju0NFDy5ANJFpPtOqlMRZZlZfKmO28klrFlPXA4tOBAT6sUhIP/lSgZuSN5jHiWLmxiogAbiWVrCR0ChZkwHX74MBvemb009UTgBzs02ilEXj00H66JpsL0oMdqVjdeuAimXkukPuf4V X-Bogosity: Ham, tests=bogofilter, spamicity=0.063369, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Fri, Oct 11, 2024, Ackerley Tng wrote: > Replace arguments avoid_reserve and chg in dequeue_hugetlb_folio_vma() > so dequeue_hugetlb_folio_vma() is more understandable. > > The new argument, use_hstate_resv, indicates whether the folio to be > dequeued should be taken from reservations in hstate. > > If use_hstate_resv is true, the folio to be dequeued should be taken > from reservations in hstate and hence h->resv_huge_pages is > decremented, and the folio is marked so that the reservation is > restored. > > If use_hstate_resv is false, then a folio needs to be taken from the > pool and hence there must exist available_huge_pages(h), failing > which, goto err. > > The bool use_hstate_resv can be reused within > dequeue_hugetlb_folio_vma()'s caller, alloc_hugetlb_folio(). > > No functional changes are intended. > > As proof, the original two if conditions > > !vma_has_reserves(vma, chg) && !available_huge_pages(h) > > and > > avoid_reserve && !available_huge_pages(h) > > can be combined into > > (avoid_reserve || !vma_has_reserves(vma, chg)) > && !available_huge_pages(h). The period here, and the comma later, are weird. > Applying de Morgan's theorem on > > avoid_reserve || !vma_has_reserves(vma, chg) > > yields > > !avoid_reserve && vma_has_reserves(vma, chg), > > hence the simplification is correct. Whitespace exists for a reason :-) --- As proof, the original two if conditions !vma_has_reserves(vma, chg) && !available_huge_pages(h) and avoid_reserve && !available_huge_pages(h) can be combined into (avoid_reserve || !vma_has_reserves(vma, chg)) && !available_huge_pages(h) Applying de Morgan's theorem on avoid_reserve || !vma_has_reserves(vma, chg) yields !avoid_reserve && vma_has_reserves(vma, chg) hence the simplification is correct. ---