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 AABADD49780 for ; Sun, 1 Dec 2024 17:59:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0174D6B0082; Sun, 1 Dec 2024 12:59:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F099B6B0083; Sun, 1 Dec 2024 12:59:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DAA6C6B0085; Sun, 1 Dec 2024 12:59:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BDD1E6B0082 for ; Sun, 1 Dec 2024 12:59:48 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 12682C0F03 for ; Sun, 1 Dec 2024 17:59:48 +0000 (UTC) X-FDA: 82847153004.16.22FD84D Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf17.hostedemail.com (Postfix) with ESMTP id 982424106F for ; Sun, 1 Dec 2024 17:59:36 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="EF/Oqtkn"; spf=pass (imf17.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.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=1733075975; a=rsa-sha256; cv=none; b=hHE8n8Wgpp4tKF8puQi8nclAhbRJNJfhFxaxVdoAxxj1ko6q21/+A6awKxdFrvJxsEcwJ5 z4D9mfQLFiuDIiWa72fQGOCqLe6szumDQRPCLzgbS0F4FVc0YVfd6OK5b0dK3ENstaXfiM MwH8399DKcE1wdmm1aBhF+MlODlegGw= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b="EF/Oqtkn"; spf=pass (imf17.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.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=1733075975; 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=0A+hdS0S9TZs4FCHTCUNfBMXeoZLW6DBQh4uakYhdW8=; b=w/8dkjbbWPZlF66fSBTLqi/FdZHs79/ct3mRx6LdRoIJPNFo3lotUxx/fqEZHLJl9Qx6pk XLc+6WF3wkWrRppcJhHH0W/k098CqjO6IVzfaf51yK4C2Yf5U6NWuHJDL7FgEiIaK9flv4 9og4dYsUfJs6VcZG2Npad9W9T1ZO8Yk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1733075982; 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=0A+hdS0S9TZs4FCHTCUNfBMXeoZLW6DBQh4uakYhdW8=; b=EF/OqtknB/y+Y9FrHp0Qmi00eklfeYkIClSW4OTz/Qmx3aDvn16SK5dBB4IbF9vNK6vRwr h+Af2GXza00GBGHiHz8kmCbdu5WO2Xuw6j2FRFsWTG8tdC1fjCkTc/h0PYH4IAKkWGWNdU aYj+K0jzPeiSbZJzkeS6VicDmB+DgnI= Received: from mail-io1-f72.google.com (mail-io1-f72.google.com [209.85.166.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-154-isYaqY71Mj2csuwZ8cMLTg-1; Sun, 01 Dec 2024 12:59:39 -0500 X-MC-Unique: isYaqY71Mj2csuwZ8cMLTg-1 X-Mimecast-MFC-AGG-ID: isYaqY71Mj2csuwZ8cMLTg Received: by mail-io1-f72.google.com with SMTP id ca18e2360f4ac-841963a1fb4so330916739f.2 for ; Sun, 01 Dec 2024 09:59:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733075977; x=1733680777; 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=0A+hdS0S9TZs4FCHTCUNfBMXeoZLW6DBQh4uakYhdW8=; b=t4s3IlRb7dWjN3rqJvB8gpF/H7ae0TesMPPaWHDZCSevNsvWrY58FRj2dLnRmPf1nT DQW0oExUKla/c/KASCBXQoUuj10Ty01LR/phzxqGwjnQ7UmFVtX3CPXuzgXBWB3Ntqj9 JV86pCEl4dl8KOSZHyOmsZlqlrqGblb03Pgx6fp/p+SyeXLK6F48RUm6/ZO72DNXIWsD /MWCb6m63/8KZHw6OkNdraTXq9JtXBhILWpjHV5ac1/3W6+TJXg3khFA2wZ98yMlHK9N wSSHzmzSG5KLd3QkZGB0h6KAv27LLQHShIHdSvTCkmGR6RlG0JsMo1QjkrxPXZc05ngr c5eg== X-Forwarded-Encrypted: i=1; AJvYcCWrW7jbUxGaO8BECQv4mJqm5vNoBn7mu5pm1rZyVlMYkV7rfGKycOM+M6Kbs0WlGvpj60OdQcPXIQ==@kvack.org X-Gm-Message-State: AOJu0YwSFN3A6FgLzbejxWjoC4OFxyDqSuNJ88Wk5C8UhDdnE5t7eBxW DWfT//urrG05/zPZyMXFSee2iXcr2WqHYsWkzU4IuYLfA8wBO32+wn02gapJd232O9MAYs544Ra 88B3isB1T5oCfAXUSVNz9hc6yDxIA26Afgrmghuh/XOCPIvKU X-Gm-Gg: ASbGncvPQu3g/E86Axr10CTVWoOM/n2WwsbQny40zkMHdSK/CzW2X4SXSiYCg3vjPhW RKxW7dQKnYBtnp8+8nECAt16m2dGegvoK0Me8+lVjfrgSq7yvV8qPUTJtTxJyFMduljuXGcrcZ/ 1LclK4GepGuS3Fd3pE5vgcCrsn9g2ojmhwtto0DaVHpvdZ332JLu+/RzWA1tkYYK23L5IWVsupU qS6SXtnvH/GjYfCFuklpz21b6zs1wWYM4jJDl2VcX3lfbtyj/XGeKjQ3eTrQ9ZLHxjiKqWCHcfD a5pjALUJInk= X-Received: by 2002:a05:6e02:2192:b0:3a7:dd45:bca1 with SMTP id e9e14a558f8ab-3a7dd45c5e2mr85506605ab.17.1733075977454; Sun, 01 Dec 2024 09:59:37 -0800 (PST) X-Google-Smtp-Source: AGHT+IHry52UnkIwNHPlxMfjuNJbz0kuNzIn+XivMrF6Q+kiRWIeU+o9LVgyCqSYZICKYohcFcyI2w== X-Received: by 2002:a05:6e02:2192:b0:3a7:dd45:bca1 with SMTP id e9e14a558f8ab-3a7dd45c5e2mr85506025ab.17.1733075977146; Sun, 01 Dec 2024 09:59:37 -0800 (PST) Received: from x1n (pool-99-254-114-190.cpe.net.cable.rogers.com. [99.254.114.190]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3a7ccc0b987sm18690775ab.34.2024.12.01.09.59.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 01 Dec 2024 09:59:36 -0800 (PST) Date: Sun, 1 Dec 2024 12:59:33 -0500 From: Peter Xu To: Ackerley Tng Cc: tabba@google.com, quic_eberman@quicinc.com, roypat@amazon.co.uk, jgg@nvidia.com, david@redhat.com, rientjes@google.com, fvdl@google.com, jthoughton@google.com, seanjc@google.com, pbonzini@redhat.com, zhiquan1.li@intel.com, fan.du@intel.com, jun.miao@intel.com, isaku.yamahata@intel.com, muchun.song@linux.dev, mike.kravetz@oracle.com, erdemaktas@google.com, vannapurve@google.com, qperret@google.com, jhubbard@nvidia.com, willy@infradead.org, shuah@kernel.org, brauner@kernel.org, bfoster@redhat.com, kent.overstreet@linux.dev, pvorel@suse.cz, rppt@kernel.org, richard.weiyang@gmail.com, anup@brainfault.org, haibo1.xu@intel.com, ajones@ventanamicro.com, vkuznets@redhat.com, maciej.wieczor-retman@intel.com, pgonda@google.com, oliver.upton@linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-fsdevel@kvack.org Subject: Re: [RFC PATCH 14/39] KVM: guest_memfd: hugetlb: initialization and cleanup Message-ID: References: <3fec11d8a007505405eadcf2b3e10ec9051cf6bf.1726009989.git.ackerleytng@google.com> MIME-Version: 1.0 In-Reply-To: <3fec11d8a007505405eadcf2b3e10ec9051cf6bf.1726009989.git.ackerleytng@google.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: _C1JfYr_rjOcSLDfCuLBlsSHdb6iUzG3RIi7SVX-q0U_1733075977 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: 982424106F X-Stat-Signature: or995w3g6ie31qusc3hcci5op3wdxccd X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1733075976-956936 X-HE-Meta: U2FsdGVkX19hHjOYJrEbeSCCLYW+X7AG3mMJG9WOcXGdVqrXQv69HR81zld6Ap+ybGwaJYjxogbwTJ+2bmPbpOwaUWH7VvVrJo7xcYldBwX9nRoZ2Ie/pyu8uFrOiTT2IhKt9lM2TWUvkSERA5l6i2Vn3e6kZb8M7H4VFuYe8+McmZ/+Yf5Hk5GSRW1KYZ+1M6zIeJU6AxxkJ0h0Xif7J26qyPmP650CwQ/57jLw1FDFZXgWeSQt+CdlVM1hNmwNOQ59A1uruBdxuHjV7YXi9U9oAEC+bGxKvSdKvjQBvezmTnujy7JL3hL3Ok1LlcOqoNiU87giARLFgzyrR5jsNaI+aKBp8PIbFT1xpZozoHzPdVuDKQAeQhOoIrJNi3LNaBylXWIOwp3qHnKNM+OoWOsKXlMhMj3ReRTPriXH+6925OXBcIZAlskeDRM88jN3m74ywBtgszREhMahJokWE7vpvb3HtYJZahwZ3dNrBb9FCDn60CSl4n0Enbl+qffvtdmKzY00rHXc8zE2VVxJSDg0N0C/Qb0kxymHoapLE+DVnoXZ7PySv5jOS1ZHg83y7fwu5eg45zAX1AnU8FZCZGXueTe4rYtdxpSMx0GZidrY1B6Dn0gcKYNBcFpNlcgqY8cWjH/KL0e4imng6nVxicUQdpZ42zimFj8SvAuCLMutDn6AnszOfmXfie4iUx4hb89VxsxoJXIMhHPWwLW2ard+Jyg9bPFFVV95ZaXuYyKOq6kXJP4KKU7yJllSNKMXlKKwlSMxXkchcS7AQuGHV5xdTJbss/R8eDmELUX7U8b5S0mc8gWJpSeEpuabBs/eTK+omXumKvtrhHFNhd1cTqoLp4z/j09UpCvHBZoW8gfWsBgaFsxVuo7IvQC+P4zXtfJjdY6GEnYPj7i3IH5uqywdBAqcmya6JqW0I9RZIOCglNVUhBPW0E/qhZp9RkzCDHNsM22LWbJ6lXVyptu poHIxfz2 bN/pkiOdVZLET25iO4+swEB3/yxENfD7t2VeO6t2pXqPr2aFVo0QRRGT1bqkR305Y16w23Ka6if7R7/1ySANtiErn48t2NBpO9k998N863vW7iAQz/0NCpOi0b+VO7JFI6dyJoqgurxjngq9DGwc7swm6/wBEOJEYKnL8x2IzIhZDcwLrg3TgpOh3SN5KccAl+MfE50UirVeHm0IBsHgrtAM7YU/YjZSxH9cYfUNdd+EjNephYYm4/OtGcsF3iC8+zNnQgCPu3I64FF/ODagEpYA5795dje9nSt1omKGWPSkQthutpw+yZvDDSu/qfir1VxpOPV16EsupwP0nsusb7KufZUVu/cGaEKkKGDkJlqH10daSkhduGL3Vrn/pZ8F05OlUtlDHi9pf6c5EV+eIpzEuoeIKEKOS6BR+ykqAoJfHkrJWWBEndUWaq2VJVjBsrXTDLAy3praXt3zJtDD2OQvzbPzSjpDnc1ULnCTakrOJv3s= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000196, 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 Tue, Sep 10, 2024 at 11:43:45PM +0000, Ackerley Tng wrote: > +/** > + * Removes folios in range [@lstart, @lend) from page cache of inode, updates > + * inode metadata and hugetlb reservations. > + */ > +static void kvm_gmem_hugetlb_truncate_folios_range(struct inode *inode, > + loff_t lstart, loff_t lend) > +{ > + struct kvm_gmem_hugetlb *hgmem; > + struct hstate *h; > + int gbl_reserve; > + int num_freed; > + > + hgmem = kvm_gmem_hgmem(inode); > + h = hgmem->h; > + > + num_freed = kvm_gmem_hugetlb_filemap_remove_folios(inode->i_mapping, > + h, lstart, lend); > + > + gbl_reserve = hugepage_subpool_put_pages(hgmem->spool, num_freed); > + hugetlb_acct_memory(h, -gbl_reserve); I wonder whether this is needed, and whether hugetlb_acct_memory() needs to be exported in the other patch. IIUC subpools manages the global reservation on its own when min_pages is set (which should be gmem's case, where both max/min set to gmem size). That's in hugepage_put_subpool() -> unlock_or_release_subpool(). > + > + spin_lock(&inode->i_lock); > + inode->i_blocks -= blocks_per_huge_page(h) * num_freed; > + spin_unlock(&inode->i_lock); > +} -- Peter Xu