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 F1694C433EF for ; Mon, 27 Jun 2022 16:20:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 642118E0002; Mon, 27 Jun 2022 12:20:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CC568E0001; Mon, 27 Jun 2022 12:20:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46B2A8E0002; Mon, 27 Jun 2022 12:20:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3389D8E0001 for ; Mon, 27 Jun 2022 12:20:10 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 095D260FFD for ; Mon, 27 Jun 2022 16:20:10 +0000 (UTC) X-FDA: 79624527780.26.65DCE90 Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by imf18.hostedemail.com (Postfix) with ESMTP id 9377E1C0012 for ; Mon, 27 Jun 2022 16:20:09 +0000 (UTC) Received: by mail-pg1-f178.google.com with SMTP id x8so4946826pgj.13 for ; Mon, 27 Jun 2022 09:20:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=l6X68KuyBDU81KFCllZcPJCpgvdaKM9lp1nYP5LV1kY=; b=QYuHqx8JmD3fGZhFw9UuYiMUgaHHG5YjGJZr+BhXEcVvOKmxYAAHNIYT4pML0YKcd9 UOpJZM3FxgCDYFkMEGVBOlFqLEi8hSMYRQnc+e7vRrYWrYSatKpLhI/fy9hbjAzv1Pnb Fzbk/A5QTs7U7PdF27OM5n8DIpWN30JeOZDLCACOEVdlNkDU2Q35PBJKkpYSbiWrD6Tw wUqWe7xVXLUA8Y8WFwrTpTXlCat4Ci9KWWfxvDWzzZ/KX8yqgOjmViXM2APbm4qweJdE PTl/Ci9fvhKr/8UGP8qNqQ7aXyTDMrVnpzr/DD4SM5yQhjeV+eXwvVZzqlB5dla5a1gv MANA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=l6X68KuyBDU81KFCllZcPJCpgvdaKM9lp1nYP5LV1kY=; b=inoa6k77xo5vHJIb/H69MxdlA2ffKT0ADEQxA4d88T0JmkYYp8U4nJBaZTqtjMYarJ mG5oquENG+p6m/prXq5UlhSDo0Z6OP35w2qnNPrP1sv/MzMYXWvhnEpSwsFXHPjir9QV TM2I5k1ibrzDYdy9+3pPbW1sTQK4sQXwRy5+PuxUuUo5D2+bYEbPQDbDuhWM2WpzTfTD ONVtkVFLIUbOSsF/WjQoT4e6WKDheosYSX/lHDfO5BS/iGK/xoYb58IgTnVEQ9v9EBp5 KK+Fuau/cjDQPi97Mmf9EfV1EW1aOc2wWJJNuPam1q1dxtIitLOFcLzBzQg0+y8JKTiq Jq0Q== X-Gm-Message-State: AJIora/5GwFU0Hh95W9SV33+qlD0110FngpCYkMoGOOXWP+iTsX6BKsV vc7+TC6vw9RQPk074+ekOGxN1w== X-Google-Smtp-Source: AGRyM1sm+8Ne4/LREAP1BhpBHmHl7sHKXi5L+eGvKtbQn5emgnCoxtJdYUMElvkncDMjnmXaWe/0bg== X-Received: by 2002:a63:710c:0:b0:40c:adcf:ce72 with SMTP id m12-20020a63710c000000b0040cadcfce72mr13747246pgc.310.1656346808483; Mon, 27 Jun 2022 09:20:08 -0700 (PDT) Received: from google.com (123.65.230.35.bc.googleusercontent.com. [35.230.65.123]) by smtp.gmail.com with ESMTPSA id 10-20020a17090a174a00b001ec84049064sm7538417pjm.41.2022.06.27.09.20.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jun 2022 09:20:08 -0700 (PDT) Date: Mon, 27 Jun 2022 16:20:04 +0000 From: Sean Christopherson To: Yosry Ahmed Cc: Tejun Heo , Johannes Weiner , Zefan Li , Marc Zyngier , James Morse , Alexandru Elisei , Suzuki K Poulose , Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Jim Mattson , Joerg Roedel , Andrew Morton , Michal Hocko , Roman Gushchin , Shakeel Butt , Oliver Upton , cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v5 2/4] KVM: mmu: add a helper to account memory used by KVM MMU. Message-ID: References: <20220606222058.86688-1-yosryahmed@google.com> <20220606222058.86688-3-yosryahmed@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220606222058.86688-3-yosryahmed@google.com> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656346809; 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=l6X68KuyBDU81KFCllZcPJCpgvdaKM9lp1nYP5LV1kY=; b=cWKgiHFsNDZF/Ghlnew6WzdOy+XlZh1IqZukcAIuybT9Ob4BygXOLCmIXvAn2v4Hc5yGNZ NkF0BHDNa9fLm2z/bYDZM/CLOwNnkHEmKDd7sXKN9VghyGRIiZh6pmwN8Tl2mfQX+1VPS6 vrOnPZ3EuquFYvGobvu4k/Sdw9JCYUg= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=QYuHqx8J; spf=pass (imf18.hostedemail.com: domain of seanjc@google.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1656346809; a=rsa-sha256; cv=none; b=UQmq+xu5/ilB+TwyNIkimI0CrmLjt3ZWv/e/df4NGjysL0gwnmYCK4LAPkAMN07tFoyO0u fsmAy/adWi/PsGir/FqW+CpQoCTlRPXCfqXNG/WcI9Vd3tuVjh83ysbjdKPMJcQA5UV9oH UbkSkO3THoeQRbf7O6wl+yK1dw649P4= Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=QYuHqx8J; spf=pass (imf18.hostedemail.com: domain of seanjc@google.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=seanjc@google.com; dmarc=pass (policy=reject) header.from=google.com X-Rspam-User: X-Rspamd-Server: rspam06 X-Stat-Signature: uk8iuyxzwrry7x67ca1zieimre4qf3gh X-Rspamd-Queue-Id: 9377E1C0012 X-HE-Tag: 1656346809-5149 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: On Mon, Jun 06, 2022, Yosry Ahmed wrote: > Add a helper to account pages used by KVM for page tables in secondary > pagetable stats. This function will be used by subsequent patches in > different archs. > > Signed-off-by: Yosry Ahmed > --- > include/linux/kvm_host.h | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 883e86ec8e8c4..645585f3a4bed 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -2246,6 +2246,15 @@ static inline void kvm_handle_signal_exit(struct kvm_vcpu *vcpu) > } > #endif /* CONFIG_KVM_XFER_TO_GUEST_WORK */ > > +/* > + * If nr > 1, we assume virt is the address of the first page of a block of But what if @nr is -2, which is technically less than 1? :-) > + * pages that were allocated together (i.e accounted together). Don't document assumptions, document the rules. And avoid "we", pronouns are ambiguous, e.g. is "we" the author, or KVM, or something else entirely? /* * If more than one page is being (un)accounted, @virt must be the address of * the first page of a block of pages what were allocated together. */ > + */ > +static inline void kvm_account_pgtable_pages(void *virt, int nr) > +{ > + mod_lruvec_page_state(virt_to_page(virt), NR_SECONDARY_PAGETABLE, nr); > +} > + > /* > * This defines how many reserved entries we want to keep before we > * kick the vcpu to the userspace to avoid dirty ring full. This > -- > 2.36.1.255.ge46751e96f-goog >