From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi1-f177.google.com (mail-oi1-f177.google.com [209.85.167.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7C7547125B for ; Thu, 10 Sep 2026 11:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.177 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789039533; cv=none; b=eyS6csPLXG4+9Dcd7UwVpAbDQs8bx3vpOHK6oVHdEhyGnd5B3dHd/rVctXVJEoEXf2aJsVBccfoSO/Txb+Gg4z58YoiE65rG1hWhUzUZ7lPMgo2UJW6BqfiHtbkldwasEn4lpHH3QX8B5EoDMDxQ1XiZDahjRI+TfFP85jnSmDI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789039533; c=relaxed/simple; bh=DzaaWZMUxb/8rJWyFS7HLbxklJPbE9+saYd1xLzHX/Q=; h=From:To:Cc:Subject:In-Reply-To:Date:Message-ID:References; b=c2mZLyJ3i5qqEF2FU45cCVK5E0DnAJbkdWqftqCfrDB8PLImPQwmizJXzvI90V7O1Rap10Hba52wK/Un2Xwtl81AkQ0d71Ef/wvfzyoQvEHAkZ8w5NDFoB/7ORt487HQlZQ/LQ4MbQIIxghhQ+KIMSRuep85LiCnxnl9XbC1mbA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MG9EBu0t; arc=none smtp.client-ip=209.85.167.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MG9EBu0t" Received: by mail-oi1-f177.google.com with SMTP id 5614622812f47-4b21f09ec76so4775725b6e.0 for ; Thu, 10 Sep 2026 04:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789039529; x=1789644329; darn=lists.linux.dev; h=references:message-id:date:in-reply-to:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=MG9EBu0tatx/SYAcM7QvVppc9CR0ElykTp4fQ1+84MEzasDTmYl2psllBvJNDf/oDp SjzIhhgpW9hcrKnccQMoFwcl7ocZ3/nM0X+PMnbN7GAUH6Tr8kG7cpLaEJevKBOUFZCx dZDAjmL/0UJunHBFat7nFi0mbWmDsLXjMskTN9oEdMdWLtboTI2DVaN70WRw+29KBVul GCKv6D4R4MOiTjboIfxPdloFc8ETCO+SQM35enS7Kga6ULAFRsMT/JgOhWRw0tBxAwxS Qmw+sJe7WqNu/NPnsFqEVFY1uunpawsO4OqVxCLX1taJmigOA+W1pvpOWZ3PKM2mOu7v ulRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789039529; x=1789644329; h=references:message-id:date:in-reply-to:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=l9M7ayUNYnWc8anEQXfQOv7iEltXIJqQy7ZHUo7xknjnvJfL4zznqTbqhuZ7VlX8OS y2jEGPy667xqXVisl28aTYUU6//QbW15FRMcXqDcUp0B3jQEGAVfzrp8ih2YH9lVe9Xs NCSEuNtMY9ceKVdjw5mtksMhkhLqhp85GIvg1n+oQpUzEjmZwhNLMmezvmSrDg+RJjVx OQe6ucZ8ardt54FKtibPIV2z02R71CASjFgrL5IcHyaLBkESvt311DG+QgHRW8xvL+hw FWybdz2bW38mjFcIo8+dxB8HqAGlKvOeUJ1vBNqeihlRk3Y+UFMvWP7s/QD1I4ArNpVC VW+g== X-Forwarded-Encrypted: i=1; AKwUvBxAXNnWbLLoqPBhuD/yu0zA8NjWdUfW3mzC34PxkEJzRTRZ2jcigxQkOyhhxdarqN4qlgk6k58YPY0=@lists.linux.dev X-Gm-Message-State: AFuF++nMi93ePkUzsVYdPsAd/0GbCSQUhovIHU0ZvflxuhXsCSV2spWp ZBrg1V+UAQ4ETakPBWSIT0O+pZqzSA2Nw4opz0y+7pnk/uK5zXB5nQ0+ X-Gm-Gg: AYBFou1fX+7wIH9kfeXc+Jf4QOSkXbJgsqGFHw3iFsOtLrCtVFlVV+5Kyq0ijebKE75 bd2UAvP0OfeEqL2SqHfHI90TETKLE3NlMZLn6OLKq6dg4qI64WZYgUlleHfBM7f4g292rC7uzaB d4EiSeVix098LKVZZGrpuv6XaF4BfQo5uLM92W0ac2V7GoYpyfAXuqh0nwHXTXIqniFjOEYdako SWvT+FCTi/YW9vO6v2bnQvU9guOzDAWcFWaq8Nco1onzh6Ro4s3/5dGr7yHFa28AOQOFytfjkHv Sq60Dtv5iwrVvcjIqqbGfAkXhkNFwCzW/eRvHL9sHPpbCFyYg6rElWrsgn8IJUsAn3CWA1FuzFX E1V9VaxVXYdU9NiNMwBIEf1o7kywwPaOaI4BwHQ0SBjnmiqWFJ0+5KHEjvZEONAD4m8CEt82gwF LuJS/LXCbNCxiva01c8VqiDBTGaEtjWpb4wkjzUFbC5Cu4QjKeEWTvMVGqHiVkr7TCEDATDbQYF yG2Vm+DyjCAOFeht4FT+c/PKGSKPmvMz6lrNCJfvchEdIIuqgsZG78= X-Received: by 2002:a05:6808:bca:b0:4b9:e6ab:d086 with SMTP id 5614622812f47-4b9e6abd362mr23531944b6e.38.1789039529448; Thu, 10 Sep 2026 04:25:29 -0700 (PDT) Received: from pve-server ([49.205.216.49]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1435c2ae6b5sm6444309c88.1.2026.09.10.04.25.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 04:25:28 -0700 (PDT) From: Ritesh Harjani (IBM) To: Sean Christopherson , Marc Zyngier , Oliver Upton , Sean Christopherson , Paolo Bonzini , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Claudio Imbrenda Cc: Fuad Tabba , Joey Gouly , Steffen Eiden , Suzuki K Poulose , Zenghui Yu , Atish Patra , Alexandre Ghiti , David Hildenbrand , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Itaru Kitayama , Nicholas Piggin Subject: Re: [PATCH v2 12/20] KVM: selftests: Add APIs to override memory region types with custom memslots In-Reply-To: <20260902164123.2546762-13-seanjc@google.com> Date: Thu, 10 Sep 2026 16:48:26 +0530 Message-ID: <5x0d1hj1.ritesh.list@gmail.com> References: <20260902164123.2546762-1-seanjc@google.com> <20260902164123.2546762-13-seanjc@google.com> Precedence: bulk X-Mailing-List: loongarch@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Sean Christopherson writes: > Add and use APIs to override memory region types instead of open coding the > logic in tests, partly to dedup test code, but mostly to add some amount of > protection against conflicting overrides. This will allow converting more > tests to override memory regions without taking on too much risk of bugs in > the long term, e.g. due to silently overriding a region multiple times. > > Deliberately "unroll" the loops in __vm_create() and the CMMA test's > create_main_memslot() to avoid filling all memslots in anticipation of > adding an "extra" memslot that is for test use and *only* test use, i.e. > shouldn't be configured by core library code. > > Converting tests to overriding memory regions will allow taking the region > type instead of the raw memslot in the physical page allocator APIs. > May I suggest few changes in the naming of these APIs: static inline void vm_override_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, u32 slot) { TEST_ASSERT(vm->memslots[type] == KVM_INVALID_MEMSLOT, "Memory region type '%u' was already overridden with slot=%u", type, vm->memslots[type]); vm->memslots[type] = slot; } static inline void vm_override_add_mem_region_flags(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages, u32 flags) { vm_override_mem_region(vm, type, slot); vm_userspace_mem_region_add(vm, src_type, gpa, slot, npages, flags); } static inline void vm_override_add_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages) { vm_override_add_mem_region_flags(vm, type, src_type, gpa, slot, npages, 0); } Those "_add_" and "_flags" in the function names easily gives away the difference in the APIs, rather than differentiating via "__". However, logically the change looks good - so feel free to add: Reviewed-by: Ritesh Harjani (IBM) 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4FF3CC79FB9 for ; Thu, 10 Sep 2026 11:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:Message-ID:Date: In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=/WWSgaKIdl2UrEz7ANfydLWj9ziBMyEIPeU3ZVA5oc4=; b=PLVS4wvpfUksP/ NiZONlF9yulG6hj9tOdXp9eJBAhMvBb09xwY+E8gC8OA3qsfG0gbaPtPKpJtIcu3Y7KQmx+yjlTKh qAgAYwNJaNOUDq4J/qs4y6xWFQ76C8aon/nz9eGFU/eRKJ7eW/HGpk+dTdjKPCzhLTpds1NDFE88G wA1zjsucPyxxt42KzQ1BPhK2D2/Z1CheHQrOGHlYC2YSHfHp2IHj5B6dEM4r3sfxRritDBMbewbB9 bVpcWSf0hYzp+pARjajpxsvCJ4YwORE139f7Q/a+UJqxZgz3td0ORUZzhTqcdb2AUIznXJKAcsDAw Sj8C+OFWnj39A+ZJD9dQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4cuN-0000000ECC9-3XTo; Thu, 10 Sep 2026 11:25:35 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4cuM-0000000ECAx-2JW0 for linux-riscv@bombadil.infradead.org; Thu, 10 Sep 2026 11:25:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=References:Message-ID:Date:In-Reply-To :Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=Fkv/pE7MyxaVC+obkBy1NX7BHN FfsLQI6xpyV0epI+m8OjKlSec/b4lwclTjI7i7EM+ZtMbeV5Js9+ulXXAMLUF2HYXUmuXHm/b4gPk EbcFaY5leDD/WVKHw7Grk0QsDC+KOmPAibKxB+DaU3c7eMcS5+rZzHVz3q4m7W18MkviA1uyi8OnA dkF4EjEcX11wX+uRx+NnmO//jflxzlua2jkUYtEYjw1T68Qe+wqkTAPGgRO2Oy/V9fY9hGXGwyLBV tjw+y0vrUfnjHIp021sR0BpmwuENigU5wmp/pbjtPWXYvMQSJIGWPcU1TMNtPWqFQg2Yo6Wz9UcCw KRUWrCQg==; Received: from mail-oi1-x236.google.com ([2607:f8b0:4864:20::236]) by desiato.infradead.org with esmtps (Exim 4.99.2 #2 (Red Hat Linux)) id 1x4cuJ-00000002OYr-2AKu for linux-riscv@lists.infradead.org; Thu, 10 Sep 2026 11:25:33 +0000 Received: by mail-oi1-x236.google.com with SMTP id 5614622812f47-4b21f09ec76so4775724b6e.0 for ; Thu, 10 Sep 2026 04:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789039529; x=1789644329; darn=lists.infradead.org; h=references:message-id:date:in-reply-to:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=YNIcBeyNeOKhvP5TMY9DdNxeHm8dI5a0/70BJ+AoFU407FI9O7NBfvFmQgt6XCxb65 TlSa17LhhevxwV1SP71vpy0N09dlXUISKgW1zfTzvWDsWVoJ3Dsfji1Q3aN2z+QbFwUd VM2amTUon5qdF+LC9r82aLJ57EdrMNvDvTvxdwEm8lumQOZhGsz9Q28zYD3FxjM2nRPy riaVHXMeHbjEt2D69RuHRM/63LnhwFklERR6fnPmyIx2jATMaJJsNjLe1ENjU7+Z2/IL 4bFhkIEJZcVMXp838z2V/PuZlQAEpjmVb6DXk0AavhmFmAzoP/+Ox5FVan7rA9vGGwxB DMYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789039529; x=1789644329; h=references:message-id:date:in-reply-to:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=olprsNRcoXNnzsfD3Yim6vDNbSeVOi9GzON5CpOHSTZvEfXsLF+1SlhT5ZaGb2d286 lyZB4G1NKI5jd4Skon0DbO4EOCprxLcYnnmP9TzcHJwvUwt5aZmr4U48Byik/N6psFfj IOUfUry6HumGGxs2sKZLJT66QWfROiASimAFd2cUuruIk0vv6Xt2xcQM7EByWMOHO7tJ z4kAd9kbH0Jt2uPrxcA1zWvGzyXYCUW2+b1IZvvGsxXPL/5ypaM10vyJBrIEAxVGVY2h XFRa1juCjWRSCaXfZsAX4kocgXa7scm/70xAVcPC0eEzYt5aYxkVH7dpGMUpyAdpbvNQ gi3g== X-Forwarded-Encrypted: i=1; AKwUvBzHUaSyGyYjqay8QcnFzY3WNczvaeQtmWkAs+mKeBJMjHRAQ3zr/sAsrOM7pPMguWbYgvu6xdBBogHAsA==@lists.infradead.org X-Gm-Message-State: AFuF++m/KRzLUm6yE2pUKWTbVmnZejFcAP+8Pp2kaH9cReI9KUTxfO0/ lX7iEQaLQMbOSWFVaG5VfpZnDI8Opq+OWlvcGmHR26Bbvt/DwdiHjWbd X-Gm-Gg: AYBFou2jKsS4Sj25VFs7TxzAZu6rAFE/zjWs7quwCJmPPJG2B5GVyNp32IdROFUJz/6 rOlw9LdpMraBoMRhsAajUamkH5lGlmFQtLYucX8+CSu4N9uYfsPwyVx3UGTSW7vq3DCTbNyq8eh bimX4LEF1JfpG7PLqfnDZygDWO5WU8vrCUXmCFhIMHCHzJV0rm2H9PJzjgFvcToMj1eZxDzwzjl E9A5TZ7GVEJeNFY3lvI43HbwEFTLFZwaJsOVvk8tAgL16p2JGmmdRWDEUKmJiktijk/7dmzreG+ jjLJgEte41lo4oBWObibvrrAoFYrVdlGztfokibtRxBM/x2LldUtWOthJsgjv1elF07W4sBjaxA oQW7tftCCKeN8JD84miX+PrcT6DAoFGDrJ3EQS7ZEAVaWZQapdV5OIDGtgR3WRWvHYiYdiKmgAR BCAy90Hm+5tp79KlZtpKuF5Lnp2CkDxAPJJ5RpQw7ngc/xQrcpz11GdcOkv0IH4+/ECXaMgleIG hYJjNSoF4gdkRX4eyagLFbFpr8Qcr5O948Jl78kxAnY+ui1Ds3m1Wg= X-Received: by 2002:a05:6808:bca:b0:4b9:e6ab:d086 with SMTP id 5614622812f47-4b9e6abd362mr23531944b6e.38.1789039529448; Thu, 10 Sep 2026 04:25:29 -0700 (PDT) Received: from pve-server ([49.205.216.49]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1435c2ae6b5sm6444309c88.1.2026.09.10.04.25.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 04:25:28 -0700 (PDT) From: Ritesh Harjani (IBM) To: Sean Christopherson , Marc Zyngier , Oliver Upton , Sean Christopherson , Paolo Bonzini , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Claudio Imbrenda Cc: Fuad Tabba , Joey Gouly , Steffen Eiden , Suzuki K Poulose , Zenghui Yu , Atish Patra , Alexandre Ghiti , David Hildenbrand , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Itaru Kitayama , Nicholas Piggin Subject: Re: [PATCH v2 12/20] KVM: selftests: Add APIs to override memory region types with custom memslots In-Reply-To: <20260902164123.2546762-13-seanjc@google.com> Date: Thu, 10 Sep 2026 16:48:26 +0530 Message-ID: <5x0d1hj1.ritesh.list@gmail.com> References: <20260902164123.2546762-1-seanjc@google.com> <20260902164123.2546762-13-seanjc@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260910_122531_660613_84FBC5A0 X-CRM114-Status: UNSURE ( 9.27 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Sean Christopherson writes: > Add and use APIs to override memory region types instead of open coding the > logic in tests, partly to dedup test code, but mostly to add some amount of > protection against conflicting overrides. This will allow converting more > tests to override memory regions without taking on too much risk of bugs in > the long term, e.g. due to silently overriding a region multiple times. > > Deliberately "unroll" the loops in __vm_create() and the CMMA test's > create_main_memslot() to avoid filling all memslots in anticipation of > adding an "extra" memslot that is for test use and *only* test use, i.e. > shouldn't be configured by core library code. > > Converting tests to overriding memory regions will allow taking the region > type instead of the raw memslot in the physical page allocator APIs. > May I suggest few changes in the naming of these APIs: static inline void vm_override_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, u32 slot) { TEST_ASSERT(vm->memslots[type] == KVM_INVALID_MEMSLOT, "Memory region type '%u' was already overridden with slot=%u", type, vm->memslots[type]); vm->memslots[type] = slot; } static inline void vm_override_add_mem_region_flags(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages, u32 flags) { vm_override_mem_region(vm, type, slot); vm_userspace_mem_region_add(vm, src_type, gpa, slot, npages, flags); } static inline void vm_override_add_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages) { vm_override_add_mem_region_flags(vm, type, src_type, gpa, slot, npages, 0); } Those "_add_" and "_flags" in the function names easily gives away the difference in the APIs, rather than differentiating via "__". However, logically the change looks good - so feel free to add: Reviewed-by: Ritesh Harjani (IBM) _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 71E5BC79F9F for ; Thu, 10 Sep 2026 11:25:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:References:Message-ID:Date: In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=H4M58RRy3XmbwMluDNdobEqYw0Zio6OuaM1ENOW/ptc=; b=DrOxEBbSnBFlqi gMOY5J7FDQ7QDltL+D79y2egZLo3VIUbOPzPq6gXojFVIldLot2fZ4h2tPHSX2x4E61CqXlN0ZOg4 iAC2Uvd5lDATvgwH41m/MAbA5i+tgqmVmQftOIpL02A0SRqJEs0VWV+a16ZH0zY8FBdfDbjY7qTvH A7Fv0Az+Ee61Unb9HzcFV09+lHt8/zEN1gKao8QAXQfSzNDzOoR0w2ZN3J1Zod/mPPurtBzVsIJkt aCGVYs+Wnv9xC8MPKdIsF5SIYidkDDZJFfotg7WjVeyR07AjeHmFVRuDEZydgRXcEu4xTc1CCzI87 qGJ2HiQneeTFxmwjOL9w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4cuN-0000000ECCD-43yU; Thu, 10 Sep 2026 11:25:35 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x4cuM-0000000ECAy-2JWA for kvm-riscv@bombadil.infradead.org; Thu, 10 Sep 2026 11:25:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=References:Message-ID:Date:In-Reply-To :Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=Fkv/pE7MyxaVC+obkBy1NX7BHN FfsLQI6xpyV0epI+m8OjKlSec/b4lwclTjI7i7EM+ZtMbeV5Js9+ulXXAMLUF2HYXUmuXHm/b4gPk EbcFaY5leDD/WVKHw7Grk0QsDC+KOmPAibKxB+DaU3c7eMcS5+rZzHVz3q4m7W18MkviA1uyi8OnA dkF4EjEcX11wX+uRx+NnmO//jflxzlua2jkUYtEYjw1T68Qe+wqkTAPGgRO2Oy/V9fY9hGXGwyLBV tjw+y0vrUfnjHIp021sR0BpmwuENigU5wmp/pbjtPWXYvMQSJIGWPcU1TMNtPWqFQg2Yo6Wz9UcCw KRUWrCQg==; Received: from mail-oi1-x233.google.com ([2607:f8b0:4864:20::233]) by desiato.infradead.org with esmtps (Exim 4.99.2 #2 (Red Hat Linux)) id 1x4cuJ-00000002OYs-2AtO for kvm-riscv@lists.infradead.org; Thu, 10 Sep 2026 11:25:33 +0000 Received: by mail-oi1-x233.google.com with SMTP id 5614622812f47-4b28df1f600so5353314b6e.2 for ; Thu, 10 Sep 2026 04:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789039529; x=1789644329; darn=lists.infradead.org; h=references:message-id:date:in-reply-to:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to:content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=YNIcBeyNeOKhvP5TMY9DdNxeHm8dI5a0/70BJ+AoFU407FI9O7NBfvFmQgt6XCxb65 TlSa17LhhevxwV1SP71vpy0N09dlXUISKgW1zfTzvWDsWVoJ3Dsfji1Q3aN2z+QbFwUd VM2amTUon5qdF+LC9r82aLJ57EdrMNvDvTvxdwEm8lumQOZhGsz9Q28zYD3FxjM2nRPy riaVHXMeHbjEt2D69RuHRM/63LnhwFklERR6fnPmyIx2jATMaJJsNjLe1ENjU7+Z2/IL 4bFhkIEJZcVMXp838z2V/PuZlQAEpjmVb6DXk0AavhmFmAzoP/+Ox5FVan7rA9vGGwxB DMYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789039529; x=1789644329; h=references:message-id:date:in-reply-to:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=rKoYJ3dn9mRGunMRInGIver5jTSz1tQREqhFgol67GU=; b=Yzf2Qw0s7ZTaTiXTZZev5aqNlmOzabpV0Hj29vQHvPwcS90lVGsjb8DeF1adsmVS3p Ujr2xZe0Z0uVd9awqHocpLdBrOjqyePH4VJlCSvMGyVAX3Z9MQXr79bBT+DxZNXUvuna e4oyI2xbJs1KMZZ9DB1Ma8hZ2G2ZsMV0rSprWumjJ2Tao9+qmMdtczPXy2TN+zxKzLlO Iu6K4pMj3hnL5TDKjS91xeu2mh4KzL2vpOdlA5X37kX9v3KkOQPazAZRXIwi4TELO7a7 XzH3c0PAZlm6VNpQTN5sbjFv6NMRzyV+bRlDMm4HKr/JZxaqlniyoI2wLqP19xle5+kN tyNQ== X-Forwarded-Encrypted: i=1; AKwUvBwVTWkXQ8ghE+Iuh1J+WRcXuE4woCzvmCgHK5e9WqMEwxRgHRJhdPB7YvWvy7kyUqpMjHZrrIApU9Q=@lists.infradead.org X-Gm-Message-State: AFuF++lgUnymfn9x0qXXsC0Rt4LzZb+SX7oDo0xc9GIabqNVZNHEHAxP KGXbyGGjgnN8STcMw5i8L5qwZVx8b1nGF2PEMNClgBkEQwSFrcJmKtub X-Gm-Gg: AYBFou1wEhA6jo+zoasLaGFBN4D2CXLQqLZ9efkKaDEoIY18O8TFNpcQv+W83TOE7r4 eOpQy2Lga/00OE0RSvAaP/ZVdKHRR3n7UInuCYrSDkduOmjP6lHLsgdjTwwa6pa9aCk4jkzXhI4 snVlPuTmoeAl027hfEznIgCIJIguswLxXVwBLXWmgkn/7tQ9P2h1whCK0IrpSfacGQWI5hxQi6J HiE/y9GBhHxHsvgaMSi03oINvVH9z+WG8ki6Zl9KHjwwff0LRpMKw/bPJjwjs+Hrl6ZSdRrRPIC XIN64UEY/+ZxWHXUnOeKFpj/SR+7k1OzLdJCe6Ras+ksWy9nzSKOvOAp7g12WrN+HiN2e6Raq2m zATt9Qj8OuL/BhF2JNkMqu3lGWIv6g3ixJrBESIFWAUUH1Kc07pkJbw7fp7OQlzLQK8kT+6XGhS /xIBWfboP7zqpqo04SwfdXO/rvXHi2EkxCiRTnm4QmqyBE1d+6Iw0YiVhFEKJu2mufMPcyom+TM Qf79wXDHrIn5iHfdzzWfhF1fqmOwlUP/k8rQw4T4eJXFFOncsVOQuc= X-Received: by 2002:a05:6808:bca:b0:4b9:e6ab:d086 with SMTP id 5614622812f47-4b9e6abd362mr23531944b6e.38.1789039529448; Thu, 10 Sep 2026 04:25:29 -0700 (PDT) Received: from pve-server ([49.205.216.49]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1435c2ae6b5sm6444309c88.1.2026.09.10.04.25.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 04:25:28 -0700 (PDT) From: Ritesh Harjani (IBM) To: Sean Christopherson , Marc Zyngier , Oliver Upton , Sean Christopherson , Paolo Bonzini , Tianrui Zhao , Bibo Mao , Huacai Chen , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Claudio Imbrenda Cc: Fuad Tabba , Joey Gouly , Steffen Eiden , Suzuki K Poulose , Zenghui Yu , Atish Patra , Alexandre Ghiti , David Hildenbrand , linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, kvm@vger.kernel.org, loongarch@lists.linux.dev, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Itaru Kitayama , Nicholas Piggin Subject: Re: [PATCH v2 12/20] KVM: selftests: Add APIs to override memory region types with custom memslots In-Reply-To: <20260902164123.2546762-13-seanjc@google.com> Date: Thu, 10 Sep 2026 16:48:26 +0530 Message-ID: <5x0d1hj1.ritesh.list@gmail.com> References: <20260902164123.2546762-1-seanjc@google.com> <20260902164123.2546762-13-seanjc@google.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260910_122531_652451_0AAFB423 X-CRM114-Status: UNSURE ( 9.27 ) X-CRM114-Notice: Please train this message. X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org Sean Christopherson writes: > Add and use APIs to override memory region types instead of open coding the > logic in tests, partly to dedup test code, but mostly to add some amount of > protection against conflicting overrides. This will allow converting more > tests to override memory regions without taking on too much risk of bugs in > the long term, e.g. due to silently overriding a region multiple times. > > Deliberately "unroll" the loops in __vm_create() and the CMMA test's > create_main_memslot() to avoid filling all memslots in anticipation of > adding an "extra" memslot that is for test use and *only* test use, i.e. > shouldn't be configured by core library code. > > Converting tests to overriding memory regions will allow taking the region > type instead of the raw memslot in the physical page allocator APIs. > May I suggest few changes in the naming of these APIs: static inline void vm_override_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, u32 slot) { TEST_ASSERT(vm->memslots[type] == KVM_INVALID_MEMSLOT, "Memory region type '%u' was already overridden with slot=%u", type, vm->memslots[type]); vm->memslots[type] = slot; } static inline void vm_override_add_mem_region_flags(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages, u32 flags) { vm_override_mem_region(vm, type, slot); vm_userspace_mem_region_add(vm, src_type, gpa, slot, npages, flags); } static inline void vm_override_add_mem_region(struct kvm_vm *vm, enum kvm_mem_region_type type, enum vm_mem_backing_src_type src_type, gpa_t gpa, u32 slot, u64 npages) { vm_override_add_mem_region_flags(vm, type, src_type, gpa, slot, npages, 0); } Those "_add_" and "_flags" in the function names easily gives away the difference in the APIs, rather than differentiating via "__". However, logically the change looks good - so feel free to add: Reviewed-by: Ritesh Harjani (IBM) -- kvm-riscv mailing list kvm-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kvm-riscv