Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp575446rdb; Tue, 31 Oct 2023 16:21:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEPbKH8ye6NhXOW4AGIsAxn06ed0zpyy5fMNT5CuuJGO28QavSW4FOtYvZ1YbkF3nbAOxzQ X-Received: by 2002:a05:6a00:1747:b0:68c:69ca:2786 with SMTP id j7-20020a056a00174700b0068c69ca2786mr12656552pfc.34.1698794483141; Tue, 31 Oct 2023 16:21:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698794483; cv=none; d=google.com; s=arc-20160816; b=z+VOXK+NZKYBbLXUuqi2L2Zb0dLGq8FPcSIGG9wlz7yu+PNAJ3lrVMr1E1HkToCXvX GYqldrFnO8iqPJffWd/TxbjuMZB3ZuSfy1UWmf6JK8tDlCwP/nw2YXVjKk4NBL/WLEw+ NVSxCr5Wi4MiOuH0sorbDrh1S1j4L8PSEzPOQfTUq7r6wJpXCgrcfPjLBdo/JxP8Ac+E 0tluBqK3C30i6oiBZ3NoEA5rBINvL5MSUmOg+JBEuJCJrqVXVU7cgmrjE6Tq2d/Ls+qX f4aFpdJ5r58spkm52ijdX+dmTPy/xZMqv8F5XpWOSPJ7wjc82r3xYEJShYSDDXIfyPfd gCGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:dkim-signature; bh=Jk3ioDpEtTCZpNsR+wmjni3i8ZxnGGq+dju+UkWGXEw=; fh=a45jwSCOBma2DUyakhg7mVAA57jEUm4pNTTqzj+iMZI=; b=Bmo1GDwAq8nb7XOCiIF+9U4Ps2eVBAASAM2XMQ/AYLAp+ees7vrvtCVZySxWsBkVv7 XeYiIhIe8V3SHIu6/mCe6tjGpHy8NA0/NDM1QJ8ifQuOrIILZ2/iQQ6S2P/w6LqX+53I udKGwEHY7Ha+xdaQ5JT/5QEEWRvUb7tG9L+0eEF5tRlBRemC7Nu94atGOHhAVeKqgmAa Nms5xdDF/+sSiZqlJ29nqfR5B7q1QAknNHs42GxwZ4+ro/2laLF5H1CgSXyXdQ6vvO03 AedEtPwkrhRMjQ6WzJbHMhx/uXaul4fLwG+KNfiCORADmrE5SKXU84450jup6YoL2lSd 0QHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=vMmU8ddb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id r38-20020a634426000000b005824bad8f81si1737877pga.853.2023.10.31.16.21.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 16:21:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=vMmU8ddb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id DC67F8070336; Tue, 31 Oct 2023 16:21:03 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376874AbjJaXU5 (ORCPT + 99 others); Tue, 31 Oct 2023 19:20:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236055AbjJaXUz (ORCPT ); Tue, 31 Oct 2023 19:20:55 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95E1FB9 for ; Tue, 31 Oct 2023 16:20:52 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-da04fb79246so5991372276.2 for ; Tue, 31 Oct 2023 16:20:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1698794452; x=1699399252; darn=vger.kernel.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=Jk3ioDpEtTCZpNsR+wmjni3i8ZxnGGq+dju+UkWGXEw=; b=vMmU8ddbaDiurjtkNPsvdu9HV9cZI9wStrGH1ng/L3+0VIovJ0RR5+ZwPFR0I9Rboj Q65wMfBNBLSngN1jhHtK0ai0JUwHUHMzf+iQqUJ1H0g4EPmIWeCl5B6MmNqUGwpT5ZOQ 5v/6+crpkhBR2ioHGB+Z4yM8+ryMMzzlxsOukDOmtbbpm/+AxPbjd3X/EevqiGs7qI5C UbiJz4xQQwbxT2Ypa8tmEE6P3FhNmNJQrgEcG8WdoZ8d0qN3qidgoWsdPs7fCDviwI2A d3gpIlHavPQQ3BY73Hry5bWgZbDJ7iQw1wEE//p+nL/5hdTqSbGb1cumUsQ8A59tFhsz 2A/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698794452; x=1699399252; 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=Jk3ioDpEtTCZpNsR+wmjni3i8ZxnGGq+dju+UkWGXEw=; b=ZsMpAcLJDv+qJctNmsw+hxj3imPmFbbO/akssSGQh3hfist/Kiu7GyR2vlJnC8kNQc KarCfWsRBmNFoBxhQb9l43fDJZCZwlxeL1IpSJ9O4Ad37sSq61EQz3Sc9KvZF5LIUBn4 urq9m5xlUKqQBRUErWFvoZlwL+bzFq7QBO5S1sU/xaYA0sGKkOCl5sccm8KqDvqfF6nt c+sh56WASx6f+WeisEYV9EgMtCm9IrzkKEapTs2zbuX74yoKAaZtaRF3MtWNiiRGhuMR PBaefXCZ4KV9mECB8ueQ2/+I4JDiPk2BlHQm0lIIJ0l9Kw2OIfGPHflCeJfUxbyvtHud lCFw== X-Gm-Message-State: AOJu0YyzsjdoXn8hXR+wG+KOrzpGXzptFO4OAv2eD5wnOWb3H5d26rGd 02Oc24T+s3FDlqEPMfoLRVypaWtLxus= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a25:7909:0:b0:da3:ab41:304a with SMTP id u9-20020a257909000000b00da3ab41304amr24782ybc.4.1698794451745; Tue, 31 Oct 2023 16:20:51 -0700 (PDT) Date: Tue, 31 Oct 2023 16:20:50 -0700 In-Reply-To: <20231002095740.1472907-2-paul@xen.org> Mime-Version: 1.0 References: <20231002095740.1472907-1-paul@xen.org> <20231002095740.1472907-2-paul@xen.org> Message-ID: Subject: Re: [PATCH v7 01/11] KVM: pfncache: add a map helper function From: Sean Christopherson To: Paul Durrant Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Durrant , David Woodhouse , David Woodhouse , Paolo Bonzini Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Tue, 31 Oct 2023 16:21:04 -0700 (PDT) On Mon, Oct 02, 2023, Paul Durrant wrote: > From: Paul Durrant Please make the changelog standalone, i.e. don't rely on the shortlog to provide context. Yeah, it can be silly and repetive sometimes, particularly when viewing git commits where the shortlog+changelog are bundled fairly close together, but when viewing patches in a mail client, e.g. when I'm doing initial review, the shortlog is in the subject which may be far away or even completely hidden (as is the case as I'm typing this). I could have sworn I included this in Documentation/process/maintainer-kvm-x86.rst, but I'm not finding it. > We have an unmap helper but mapping is open-coded. Arguably this is fine Pronouns. > because mapping is done in only one place, hva_to_pfn_retry(), but adding > the helper does make that function more readable. > > No functional change intended. > > Signed-off-by: Paul Durrant > Reviewed-by: David Woodhouse > --- > Cc: Sean Christopherson > Cc: David Woodhouse > Cc: Paolo Bonzini > --- > virt/kvm/pfncache.c | 43 +++++++++++++++++++++++++------------------ > 1 file changed, 25 insertions(+), 18 deletions(-) > > diff --git a/virt/kvm/pfncache.c b/virt/kvm/pfncache.c > index 2d6aba677830..0f36acdf577f 100644 > --- a/virt/kvm/pfncache.c > +++ b/virt/kvm/pfncache.c > @@ -96,17 +96,28 @@ bool kvm_gpc_check(struct gfn_to_pfn_cache *gpc, unsigned long len) > } > EXPORT_SYMBOL_GPL(kvm_gpc_check); > > -static void gpc_unmap_khva(kvm_pfn_t pfn, void *khva) > +static void *gpc_map(kvm_pfn_t pfn) > +{ > + if (pfn_valid(pfn)) > + return kmap(pfn_to_page(pfn)); > +#ifdef CONFIG_HAS_IOMEM > + else There's no need for the "else", the happy path is terminal. > + return memremap(pfn_to_hpa(pfn), PAGE_SIZE, MEMREMAP_WB); > +#endif This needs a return for CONFIG_HAS_IOMEM=n. I haven't tried to compile, but I'm guessing s390 won't be happy. This? static void *gpc_map(kvm_pfn_t pfn) { if (pfn_valid(pfn)) return kmap(pfn_to_page(pfn)); #ifdef CONFIG_HAS_IOMEM return memremap(pfn_to_hpa(pfn), PAGE_SIZE, MEMREMAP_WB); #else return NULL; #endif } > +} > + > +static void gpc_unmap(kvm_pfn_t pfn, void *khva) > { > /* Unmap the old pfn/page if it was mapped before. */ > - if (!is_error_noslot_pfn(pfn) && khva) { > - if (pfn_valid(pfn)) > - kunmap(pfn_to_page(pfn)); > + if (is_error_noslot_pfn(pfn) || !khva) > + return; > + > + if (pfn_valid(pfn)) > + kunmap(pfn_to_page(pfn)); > #ifdef CONFIG_HAS_IOMEM > - else > - memunmap(khva); > + else > + memunmap(khva); > #endif I don't mind the refactoring, but it needs to be at least mentioned in the changelog. And if we're going to bother, it probably makes sense to add a WARN in the CONFIG_HAS_IOMEM=n path, e.g. /* Unmap the old pfn/page if it was mapped before. */ if (is_error_noslot_pfn(pfn) || !khva) return; if (pfn_valid(pfn)) kunmap(pfn_to_page(pfn)); else #ifdef CONFIG_HAS_IOMEM memunmap(khva); #else WARN_ON_ONCE(1); #endif