From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (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 2F8802D7380 for ; Thu, 25 Jun 2026 07:03:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.160.171 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782371033; cv=pass; b=HHn3elhnSCDpjulqZpMhr6Ki2Uon2X7XmIq0t77cSB7+WBpIajHZ8LZLsUuEMNShEQmdIaP3zyNv2hC1FfdeuPDR966goHgc2s9wGmmlEtWc64/RU1+crH8IEx0RxtMLBkVYi8oFBxBZuV+NskiKFpBfWZD/VcMm8MEHPxyGGxs= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782371033; c=relaxed/simple; bh=Ez7Zm7P1hEGa0blOb+96zp9ELCwRYL924NP/R/74yK8=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=bS8uBuUhbXSSN5PykaOca+9QFooeDNTl8SouKiOzkvKcmcN7IMh7XOQ3d8Uz96YO/6bGU3BjLvxyX4fFo1Xu0wL+8UAHebyOEKxvAk0J3JiDLqOE3CNHVO5YZuuQT8VpOwiEniaIVRcoihe9NQ3CqzA4qFinFsMHQmNjY3OdsSQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=ukieVSaJ; arc=pass smtp.client-ip=209.85.160.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="ukieVSaJ" Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-5177d1ff061so135401cf.1 for ; Thu, 25 Jun 2026 00:03:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782371030; cv=none; d=google.com; s=arc-20260327; b=bOhie2BJmSqH5F/iMuRJ+C3bHqULtHOcxV9BX9WrUnkK0XafU0SyDdv/WOA3ar8Q6F Ui01aW/w57Y4V2p3oItA/e9jVHc03fhtH0ucVDycDP5LsFUr1sRdN32gWMeLbDYbGLIz 7FDM3I+sxmFR9OALkPnGk4qedCSWxisv4bPS7mybYNWR9YA1ExciXI0aauAGf6r92rKd vz8oBKiF3NK1CwSjR46VQZXlqknf3GWAUz4HUxAUDE88q2cKyzTbM26AncklJt03ZC0x h+HcO2fL7KRfzn4s3Jr4kc3Cv3ikg9LDtYbbNFTyIf+Y0bjYy3hUGAekmsd4BgLMkRpX Ve9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=cxrlZg8b53cTZGaXTuMmmJujU2vJAW9nQq1QLfM1210=; fh=+Lj7pHutS8xxkED6A1oVfAmKRivwS3XTcaLBx90FUCk=; b=hm/wIFkXh6kN0L41qj0saVLkaWzFYR8TYgwj/l0f9jbyyait8xBW/do7XngJwU+E7b CWgF6sSixmPHbrKbr3XH5nepmdifXLpZP8mypR8wJqSm99I88DDPQkMSQlCuByKRcLRA ksRWM6Yono4Y4eGFB5BtGdSEm5nWDQuUSf9FcHfIAf8DnDschBUAkl5u1YG/a/xBXs56 f7R3ffFbtmKTxBjdMfvJ3c4kZrPmvIV2d6X+gNNdMgL/mIQNyFW67zO+pXw3LMWfHE+W OMYW3eMawpPqrqB8jw+IfsnIUvga7ZnRjTlwW3NoQW4SLfsEo/IbKY0XgH308bWRG3q/ Fvgg==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1782371030; x=1782975830; darn=vger.kernel.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=cxrlZg8b53cTZGaXTuMmmJujU2vJAW9nQq1QLfM1210=; b=ukieVSaJAzEUdhev5GVx9vncSogL572gObnX1cR6Us+BKrty0xPVxxD8SyiIoqTV+C PwwcfiE18SD1Kc9dTmCtcZH44T7ICizZf+V2/WFdSCu0eJumYPsse/LwsEzhVcSGH0jU yEGLlMYOWVSo6mQvuaG2uDGZvzTFZ9J4U1hJLJxzviz5yRofEnqkzTXEbMQFYv/oCOam 829B0+z6e/vXi+xnx3FFvGxA5VGeYcqSR7BskYQjF9ECoavaqjbAjPL7MdbWl6Iw2ohc 7UpLyNyUhACLiIKRlANEYiBn3yQlondiNBRv5rpnn45zRiNFZyKRfiEuv9Z328m9MDUO j7SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782371030; x=1782975830; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=cxrlZg8b53cTZGaXTuMmmJujU2vJAW9nQq1QLfM1210=; b=ShBQg90TSVa9AHpRniktZAQNvMRSfzQeE9eIRQWmdeKztCFCV4XDMgY4faIMfFstEA lPIGb2hMZLlG0e1wBMKNOkTSz9c52hvpWMTHbEY+U+GT4A37yti91VN0IEaxvJoP6BYm 7EHeaclBo/+rpndoQM+P6kuwZsoDXYFbFh7s4y5wF7N/vPbfnB6X/o+JPq1LABTu5v9N L9XwhZGdcQrk02PfL55MnBo4bY5K3SIfvJt+3qFkR0nXgoHFLAaL0YNwBzotnTer5TL2 nkoUC36tD3r8DpYoa3xoVkzxNS7hMIxIqYW+NM1pnbZlEnjHVv+IIBEk4gnObDpBCLXq MTgg== X-Forwarded-Encrypted: i=1; AFNElJ/Cdq4b832qEXHbbTkjzg5f7Pba6SAkOrfV2FSTGOw+hA73pVWMvov1GpbpgMGi5Q1qwxc43x8ZjWenTtQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwG3SyVkog3pnBSnvUJfErPhitxHyt1W3JwL1nHmVTekpXlAs1m hjJzBKOvEe9aZnxImq2xrA7Kfh0AK+i3G+cZTmgFSe4rZNOsLXQzQCGZFN1o43nwCUyL4nU5RJL vUYsiW+EEaqdzAOHdSj3IFqii9cWKgI8K5Wf6uV/W X-Gm-Gg: AfdE7cmcWpwTI5rvdR4P9RHaCaaKBPaPxQtxKVlOOj8P9WVb8NR24KuUXfu8G5IIsdN KQtvCddH9ujWUld9EIanYHF4t/yraFCbmsJQQB6FKwL92hv8OB+Q/YVCN7CvIWPAtrC0vKTrNwk FpMTyg/nRIRcjRHhd+iIUvqiM4G26+T1f4/za+vrFAi2e70gKzRzA2AwzOTLuuUc8rEb4d+Td/m 3njpcgMbBPBBnNQf6xYT2ySoTzkB5PafeeyWYmihpK9/KQ34/cqcvwnza45DEmscYM77IwXVw== X-Received: by 2002:ac8:5913:0:b0:50f:b69a:f4a8 with SMTP id d75a77b69052e-51a709566ddmr4167481cf.7.1782371029299; Thu, 25 Jun 2026 00:03:49 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260618-gmem-inplace-conversion-v8-0-9d2959357853@google.com> <20260618-gmem-inplace-conversion-v8-35-9d2959357853@google.com> In-Reply-To: <20260618-gmem-inplace-conversion-v8-35-9d2959357853@google.com> From: Fuad Tabba Date: Thu, 25 Jun 2026 08:03:12 +0100 X-Gm-Features: AVVi8Ccml7uePn0yWr7psf-IlIIJeOhhOzFV38YDt7BElEVA1ysUJR_9AnFc0ro Message-ID: Subject: Re: [PATCH v8 35/46] KVM: selftests: Convert with allocated folios in different layouts To: ackerleytng@google.com Cc: aik@amd.com, andrew.jones@linux.dev, binbin.wu@linux.intel.com, brauner@kernel.org, chao.p.peng@linux.intel.com, david@kernel.org, jmattson@google.com, jthoughton@google.com, michael.roth@amd.com, oupton@kernel.org, pankaj.gupta@amd.com, qperret@google.com, rick.p.edgecombe@intel.com, rientjes@google.com, shivankg@amd.com, steven.price@arm.com, willy@infradead.org, wyihan@google.com, yan.y.zhao@intel.com, forkloop@google.com, pratyush@kernel.org, suzuki.poulose@arm.com, aneesh.kumar@kernel.org, liam@infradead.org, Paolo Bonzini , Sean Christopherson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Jonathan Corbet , Shuah Khan , Shuah Khan , Vishal Annapurve , Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , Youngjun Park , Qi Zheng , Shakeel Butt , Kiryl Shutsemau , Baoquan He , Jason Gunthorpe , Vlastimil Babka , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, linux-coco@lists.linux.dev Content-Type: text/plain; charset="UTF-8" On Fri, 19 Jun 2026 at 01:32, Ackerley Tng via B4 Relay wrote: > > From: Ackerley Tng > > Add a guest_memfd selftest to verify that memory conversions work > correctly with allocated folios in different layouts. > > By iterating through which pages are initially faulted, the test covers > various layouts of contiguous allocated and unallocated regions, exercising > conversion with different range layouts. > > Signed-off-by: Ackerley Tng > Co-developed-by: Sean Christopherson > Signed-off-by: Sean Christopherson Reviewed-by: Fuad Tabba Cheers, /fuad > --- > .../kvm/x86/guest_memfd_conversions_test.c | 30 ++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/tools/testing/selftests/kvm/x86/guest_memfd_conversions_test.c b/tools/testing/selftests/kvm/x86/guest_memfd_conversions_test.c > index b43ac196330f1..0b024fb7227f0 100644 > --- a/tools/testing/selftests/kvm/x86/guest_memfd_conversions_test.c > +++ b/tools/testing/selftests/kvm/x86/guest_memfd_conversions_test.c > @@ -279,6 +279,36 @@ GMEM_CONVERSION_TEST_INIT_PRIVATE(before_allocation_private) > test_convert_to_shared(t, 0, 0, 'A', 'B'); > } > > +/* > + * Test that when some of the folios in the conversion range are allocated, > + * conversion requests are handled correctly in guest_memfd. Vary the ranges > + * allocated before conversion, using test_page, to cover various layouts of > + * contiguous allocated and unallocated regions. > + */ > +GMEM_CONVERSION_MULTIPAGE_TEST_INIT_SHARED(unallocated_folios, 8) > +{ > + const int second_page_to_fault = 4; > + int i; > + > + /* > + * Fault 2 of the pages to test filemap range operations except when > + * test_page == second_page_to_fault. > + */ > + host_do_rmw(t->mem, test_page, 0, 'A'); > + if (test_page != second_page_to_fault) > + host_do_rmw(t->mem, second_page_to_fault, 0, 'A'); > + > + gmem_set_private(t->gmem_fd, 0, nr_pages * page_size); > + for (i = 0; i < nr_pages; ++i) { > + char expected = (i == test_page || i == second_page_to_fault) ? 'A' : 0; > + > + test_private(t, i, expected, 'B'); > + } > + > + for (i = 0; i < nr_pages; ++i) > + test_convert_to_shared(t, i, 'B', 'C', 'D'); > +} > + > int main(int argc, char *argv[]) > { > TEST_REQUIRE(kvm_check_cap(KVM_CAP_VM_TYPES) & BIT(KVM_X86_SW_PROTECTED_VM)); > > -- > 2.55.0.rc0.738.g0c8ab3ebcc-goog > >