Received: by 2002:a05:7412:b795:b0:e2:908c:2ebd with SMTP id iv21csp549909rdb; Thu, 2 Nov 2023 10:52:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHEHoKc8bJqb71Z9ytEs0HRuDPZUY+uAnkQeFNB1g1ZgNGvJ7LPwQYUDhbe50Qc/efL1lIB X-Received: by 2002:a17:90b:1904:b0:280:16bb:8169 with SMTP id mp4-20020a17090b190400b0028016bb8169mr13146704pjb.40.1698947534664; Thu, 02 Nov 2023 10:52:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698947534; cv=none; d=google.com; s=arc-20160816; b=VdfRNgtqlz5r3c1DbndRsOiPhjcfNxSiijm7x69iQ8y0+zcl5JltBGtnuIUQgXJGdV DMPpTCCQhyCSncaxGngXF/fKjNedjVT9amPWnXgIbw/uV+sRjASoPDhcR12aYbDum/k1 zH6DzE9Wun0EzqYtBFSBXyBrasCHB3NOnD8ET0GhDBy2a+OJ8lwMJQAv0Os/ouD7iRPW e8oouraW1Nq1BT6idglAIQ/hvZK66BMsurVaNNyrssgSZ/5j11H/E4cF0bjj6EJpWTPs kFveokFkULjIU+0pYIyrgZ48DnargDDTXYnGaJgQcvTyc3y+4EDjsoci6owJXLyN/un8 H/8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :organization:references:cc:to:content-language:subject:reply-to :user-agent:mime-version:date:message-id:from:dkim-signature; bh=q770rsugPPCkF1cWD5uxABhz/caP+0OTOYrkOR8/nmQ=; fh=VBjXwlYoQnRPOVD+QTB/XiYWK4M2w7FX9H4KmaPewA8=; b=W/jZW9rmxMIvOepfdRaWDHZb3X8kycBu+8BiyL3FWSPlzYHnGC7FuZl6QDwRgcBErj mE/orG9NqrBAQDqGy1d0s4LrfrCUV046AeMbQepQu2kZstQX0hwbS6gHShq5wVI4e1V8 Ez6eUNhdQmzZz2BogXhHEmCxKks3505/N3PmElysDOfmwJ4AtNZA8HicowRn7iaHUR4p zm3x5IoydolMxKL2XpchET9y5WD0wvZ3w7wS8bq/JXHlCOaSbGvmXTdFBmktZ34VFENH wqr0/2whLdbwtjZrqjMYsFRkwPN9iaYjo704G6VgI1TtAsqidgoN9MvhtldNzLK6yjdR JS6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=i5j20IA2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id y14-20020a17090aa40e00b00280a01a906esi192700pjp.162.2023.11.02.10.52.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Nov 2023 10:52:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=i5j20IA2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 1FD9182AE672; Thu, 2 Nov 2023 10:52:13 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343544AbjKBRwL (ORCPT + 99 others); Thu, 2 Nov 2023 13:52:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46006 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbjKBRwK (ORCPT ); Thu, 2 Nov 2023 13:52:10 -0400 Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com [IPv6:2a00:1450:4864:20::22f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 06471191; Thu, 2 Nov 2023 10:52:07 -0700 (PDT) Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2c6ec78a840so16737901fa.1; Thu, 02 Nov 2023 10:52:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698947525; x=1699552325; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:references:cc:to :content-language:subject:reply-to:user-agent:mime-version:date :message-id:from:from:to:cc:subject:date:message-id:reply-to; bh=q770rsugPPCkF1cWD5uxABhz/caP+0OTOYrkOR8/nmQ=; b=i5j20IA2wvim0xWvFwl5ZLjaqR1QxXaa68lZiADqddJzHOCdQ2DL1H0upf4KfP1XCb ooCHvzS/60AKc8CtuBHqSVu67nDIeX+HE63DJ23m5l2F+s6oZNxqnxwUMIowWGtXiSKx OBIXOQcwl3447nepGBtsoaiAMu8CADW5rjtJDqHMSdd/lxLUMu5a+ZyLfd4r9Imm+96x C4+XeN536nLTXb/yLE1BApRaVqBt0Oddw2lm6NyFWKFUXpy7C3XMkit2lqKv3D+jdL2F 1b4VLbnupOwDACwb6H3CL5iec3yXChund+ccjlGyqqr0fVBgUc8cLJ50JJp7NzQb3SSY Giog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698947525; x=1699552325; h=content-transfer-encoding:in-reply-to:organization:references:cc:to :content-language:subject:reply-to:user-agent:mime-version:date :message-id:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=q770rsugPPCkF1cWD5uxABhz/caP+0OTOYrkOR8/nmQ=; b=iHvnsNhTPMgwSjZM/3ABY4elsat2Xx1CzaNXMoNRFRllziTrwSBJpG4rzvKAQ/CEXH WelgqfNf09FFpBijoakD3At964cXdBTjjRp8uxym9x9XGMDFPXUWLuisiCfmzMiQcNh/ QMLM/gE5q00T7uNc49M6eHtlxT2NNV1dhqNzccbjsU4/VMrDUFn6XeuY0hk32yjdyLHH f03xgWQtPiB7AGTYgx1NALeDVB4WeyFrzixaloZgLS2v+WRhd5pTBTpBbZNXo1WVKbG/ +3aQ13efK1FQ2yU3KeTJ3kVgIoPoyb4f+jxbzQUHmh7F4oFMrXtZCWjAF36m0Lql206D QLrg== X-Gm-Message-State: AOJu0YxoAJPz037VRokc5FS4mAfdD9MxlozXedLPIS8mhyC1iopVqUmV o1JWyPHEakN+VoBUnaIxgq8= X-Received: by 2002:a05:651c:10b5:b0:2b9:3684:165 with SMTP id k21-20020a05651c10b500b002b936840165mr13328610ljn.8.1698947524968; Thu, 02 Nov 2023 10:52:04 -0700 (PDT) Received: from [192.168.14.38] (54-240-197-227.amazon.com. [54.240.197.227]) by smtp.gmail.com with ESMTPSA id h18-20020a05600c351200b004094c5d929asm223247wmq.10.2023.11.02.10.52.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Nov 2023 10:52:04 -0700 (PDT) From: Paul Durrant X-Google-Original-From: Paul Durrant Message-ID: <734ac3e7-9fc4-47a4-9951-2fa04e10fe7d@xen.org> Date: Thu, 2 Nov 2023 17:52:02 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Reply-To: paul@xen.org Subject: Re: [PATCH v7 02/11] KVM: pfncache: add a mark-dirty helper Content-Language: en-US To: Sean Christopherson Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Durrant , David Woodhouse , David Woodhouse , Paolo Bonzini , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , x86@kernel.org References: <20231002095740.1472907-1-paul@xen.org> <20231002095740.1472907-3-paul@xen.org> Organization: Xen Project In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net 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 (snail.vger.email [0.0.0.0]); Thu, 02 Nov 2023 10:52:13 -0700 (PDT) On 31/10/2023 23:28, Sean Christopherson wrote: > On Mon, Oct 02, 2023, Paul Durrant wrote: >> From: Paul Durrant >> >> At the moment pages are marked dirty by open-coded calls to >> mark_page_dirty_in_slot(), directly deferefencing the gpa and memslot >> from the cache. After a subsequent patch these may not always be set >> so add a helper now so that caller will protected from the need to know >> about this detail. >> >> NOTE: Pages are now marked dirty while the cache lock is held. This is >> to ensure that gpa and memslot are mutually consistent. > > This absolutely belongs in a separate patch. It sounds like a bug fix (haven't > spent the time to figure out if it actually is), and even if it doesn't fix > anything, burying something like this in a "add a helper" patch is just mean. > Ok, I can split it out. It's a pretty minor fix so didn't seem worth it. > >> diff --git a/virt/kvm/pfncache.c b/virt/kvm/pfncache.c >> index 0f36acdf577f..b68ed7fa56a2 100644 >> --- a/virt/kvm/pfncache.c >> +++ b/virt/kvm/pfncache.c >> @@ -386,6 +386,12 @@ int kvm_gpc_activate(struct gfn_to_pfn_cache *gpc, gpa_t gpa, unsigned long len) >> } >> EXPORT_SYMBOL_GPL(kvm_gpc_activate); >> >> +void kvm_gpc_mark_dirty(struct gfn_to_pfn_cache *gpc) >> +{ > > If there's actually a reason to call mark_page_dirty_in_slot() while holding @gpc's > lock, then this should have a lockdep. If there's no good reason, then don't move > the invocation. > >> + mark_page_dirty_in_slot(gpc->kvm, gpc->memslot, gpc->gpa >> PAGE_SHIFT); >> +} >> +EXPORT_SYMBOL_GPL(kvm_gpc_mark_dirty); > > This doesn't need to be exported. Hrm, none of the exports in this file are > necessary, they likely all got added when we were thinking this stuff would be > used for nVMX. I think we should remove them, not because I'm worried about > sub-modules doing bad things, but just because we should avoid polluting exported > symbols as much as possible. That in a separate clean-up patch too, I assume? Paul