Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp4038810pxb; Mon, 1 Feb 2021 10:45:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJxXceDzjS5zxSjd2l6+BGJHD2BSaaW+PZfM+px7fdr//4wufPhyR+vink31EIKH6Q1phkkj X-Received: by 2002:a50:e3c4:: with SMTP id c4mr20185782edm.77.1612205104128; Mon, 01 Feb 2021 10:45:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612205104; cv=none; d=google.com; s=arc-20160816; b=qzvfKyYSn/Ssj0wDzKJMLhCF0rF2MENzHuI8AW2W2h97wKGkYg7n4i/1rXZQSZWX5w bq1fIkFvmy0dv3gakAyhwGloHxyl4b9d2QsjyWxiCXdIE8jSyhmFRIaYCUuebX9pWC2R LDExqSPR2HaQjJhMkWL2rcqS0i/VYNGTSEJ1WFF6ds9i+FKW/9gml8Do+4LALiomquKE aDoHB9MPCzX/Wvn79Ylg/NvPczIRG8gunnl447yvKq1/74bnYhXObWpjNNjrO3RHNrhh pQowPh+nj+IKFW9/FErF9MzOrGpXodEdjt99KNSDpegDu5j/p+e8FoqhxcoAnEqQP/ST 6/ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=52vvV6dfN8pd1scF4Q4lqH9P5m34zsNgxuL1erN7UvE=; b=WIDbZz5U62Fh9AExe5aQvh/Jry8z+1pN51+VtVjA2WTG1RqRJZZ+qH9TUxniSh0CCO Q8amJgk49a1hb21p5FYHAKjz9h0b1eQdVuZ8EqRvdaVHTMp/OKmVk0rEeTowENuGS3Kf juCMKOkpv9c5tT/Di4Unu5Wg0Hv9ZBXoFcu+BB/rXrdH2TWeik7szum9ZGQo1HCmItcC KlrCa06YE6RA785D7MuVy5j4UIOhn+jBq6ZYe20/vOyBQ788aQ7KPBazuTs1OHNuK9d3 I8DN2TBiGV8feVRN4wnVbElONspnW+4LJm9JPm3g7QxfiXPZmcyjZqO72VsIqEkLSh3Z DidA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Sv7mWTQj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v23si1230035edl.211.2021.02.01.10.44.39; Mon, 01 Feb 2021 10:45:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Sv7mWTQj; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231791AbhBASlh (ORCPT + 99 others); Mon, 1 Feb 2021 13:41:37 -0500 Received: from mail.kernel.org ([198.145.29.99]:34152 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233025AbhBASk1 (ORCPT ); Mon, 1 Feb 2021 13:40:27 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id DDE4B64EA2; Mon, 1 Feb 2021 18:39:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612204786; bh=RWCEVvMfMr07Mj0Dm990NJYMdt/tnBLc1r3RkW1LOpI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Sv7mWTQjdOhFcDIMCbW1iFI0zjx5NhutKWWEwARZFwdSFhjVgHc9Uom5VsUoIPSbv bbsxnuSIKgBN1r5PdCf0vCJDRfzwhL89aJH52aldgfb3hZjzPRWkZ8XSif8y25PBLn OMrHbjZNJSHYSr7y8V3yg6VYCfSgtZSGUtCDFOohMW1atWBUdSRHmjlVw/zDPjdllJ S/Iv5U4ieWYllL8w/npt5/62CWCqdJZMDNdtRLuPjdlD47xFGt0PXJR6oBoi6dPegC Ox9HxzXwXkB506lhN2unGnFjmaoQhkXP8X5+IGSaS7Yvs3mI8o7KYXXNw9zYFCyREZ YeC5KviL9q0gA== Date: Mon, 1 Feb 2021 18:39:40 +0000 From: Will Deacon To: Quentin Perret Cc: Catalin Marinas , Marc Zyngier , James Morse , Julien Thierry , Suzuki K Poulose , Rob Herring , Frank Rowand , devicetree@vger.kernel.org, android-kvm@google.com, linux-kernel@vger.kernel.org, kernel-team@android.com, kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, Fuad Tabba , Mark Rutland , David Brazdil Subject: Re: [RFC PATCH v2 06/26] KVM: arm64: Factor memory allocation out of pgtable.c Message-ID: <20210201183940.GF15632@willie-the-truck> References: <20210108121524.656872-1-qperret@google.com> <20210108121524.656872-7-qperret@google.com> <20210201181607.GD15632@willie-the-truck> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 01, 2021 at 06:32:52PM +0000, Quentin Perret wrote: > On Monday 01 Feb 2021 at 18:16:08 (+0000), Will Deacon wrote: > > On Fri, Jan 08, 2021 at 12:15:04PM +0000, Quentin Perret wrote: > > > +static struct kvm_pgtable_mm_ops kvm_s2_mm_ops = { > > > + .zalloc_page = stage2_memcache_alloc_page, > > > + .zalloc_pages_exact = kvm_host_zalloc_pages_exact, > > > + .free_pages_exact = free_pages_exact, > > > + .get_page = kvm_host_get_page, > > > + .put_page = kvm_host_put_page, > > > + .page_count = kvm_host_page_count, > > > + .phys_to_virt = kvm_host_va, > > > + .virt_to_phys = kvm_host_pa, > > > +}; > > > > Idle thought, but I wonder whether it would be better to have these > > implementations as the default and make the mm_ops structure parameter > > to kvm_pgtable_stage2_init() optional? I guess you don't gain an awful > > lot though, so feel free to ignore me. > > No strong opinion really, but I suppose I could do something as simple > as having static inline wrappers which provide kvm_s2_mm_ops to the > pgtable API for me. I'll probably want to make sure these are not > defined when compiling EL2 code, though, to avoid confusion. > > Or maybe you had something else in mind? No, just food for thought. If we can reduce the changes for normal KVM then it's probably worth considering if it doesn't add divergent code paths. But I'm also fine with the proposal you have here, so if it doesn't work then don't get hung up on it. Will