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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 119E3C4345F for ; Thu, 25 Apr 2024 16:22:31 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 890646B0093; Thu, 25 Apr 2024 12:22:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 840226B0095; Thu, 25 Apr 2024 12:22:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 708526B0098; Thu, 25 Apr 2024 12:22:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 500926B0093 for ; Thu, 25 Apr 2024 12:22:31 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F35521C1436 for ; Thu, 25 Apr 2024 16:22:30 +0000 (UTC) X-FDA: 82048572060.17.B19B590 Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) by imf15.hostedemail.com (Postfix) with ESMTP id E9C8FA0011 for ; Thu, 25 Apr 2024 16:22:28 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=XDnn3M8N; spf=pass (imf15.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.43 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714062149; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tZwpXS/k0DYed9wD5OBUEJ5ypdpSnZbheBH2rdFMtPA=; b=pZzwDmmFsY128i6SXhErO8SZ9DhM7YvLNKOvEW72MGpu5ukWERsuzdR/kcSbtUw1bPjKUG l02jmk3Jea2FsCpaN5dJeHzaeOSufUIMQkpF1U6eifIho6bZ98s6YMqv/RJQjsRoGRU7Ni pVH185xwcGzvfORxht0Hs3BmRpo8sIg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714062149; a=rsa-sha256; cv=none; b=8mSyUYCub+ClKPqQHfaSTxFsTIQHVAlKtYdIBnN1QWsP9DIz1carsNL4C95OaDESomfLYn rN/8PEd3APZpTCBJiI3wRFKvhxnxEW0tsxcTYaLubEcVaRKFYTG1i1ewL+PSqx3jpAHgSi yCxZYswkMzUSFKAmjRvqIB+vpAety9s= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=google header.b=XDnn3M8N; spf=pass (imf15.hostedemail.com: domain of skhan@linuxfoundation.org designates 209.85.166.43 as permitted sender) smtp.mailfrom=skhan@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org Received: by mail-io1-f43.google.com with SMTP id ca18e2360f4ac-7da9f6c9c17so8901539f.2 for ; Thu, 25 Apr 2024 09:22:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=google; t=1714062148; x=1714666948; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=tZwpXS/k0DYed9wD5OBUEJ5ypdpSnZbheBH2rdFMtPA=; b=XDnn3M8NRpJMZzeD19f8TlHbIN5BHmnqRnz1Yfc6WJVhZQ9jszATElBuyk13tR3ly/ lVjA2skBsKn4y1OETBZFBZmwu8UBbw9UEBmeqtGKgSnkrO30WXpJ1Ke4ypg5vGo5ZbC9 a4NomOaHliadNnMqCZCYMlo291HuWS2W2jxwk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714062148; x=1714666948; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=tZwpXS/k0DYed9wD5OBUEJ5ypdpSnZbheBH2rdFMtPA=; b=oIWVmqwQjeTVA8nr+TfQeMhNuFwHouom/SB5m3jpDU8L+ljkr+WNbp5RIfvQYyzjHN COYZt+vIyRqXVaRkt03HHhaXbdy1jvmUQdtXfbrw4JTEnfLfYzfaFFPJLCbgYnbSGxmm RywiGFqcf2q/sqsTG6pKWjULsc/I94/k3HawK+xIzSPiTRoI62ry3D29BNf9i70ochvQ Izw8SkkZQxKLXiHyyHQrwH/EuhgXQ5s9OCREJI7VnHOJIw8xjZcCL4hYL88gjzZfP5YV aJ/KphHXuVtvGk1pNk/nwxxDqW2Cd8sQGDygDv86nScr3ht5kUqlnZc3mThMWlN5vQ41 J6Fw== X-Forwarded-Encrypted: i=1; AJvYcCXAI0AfQ+kv5MkJM9Ey4flziabKy1QQYn4STVoq4U6fWWH7j6tl4hPZwrsJdB6zUkekgtOSMzhGi9SHyVKOSX7z2YQ= X-Gm-Message-State: AOJu0Yz4olez2ZIubICSwdiTAdaaPgF8voENE4v1R1ryPgbFFjsBlo+u /JuUPEdJO7ktUyDCTQDtbe5mV1moHHH3F7QBCG/ptZNEd7OvdxwJTylok6ciTmc= X-Google-Smtp-Source: AGHT+IFwsbdYoXOctiJAidygEpyjdbBI6reVPMMOFHtDCREzxeaCqAED6LqVik99m0cV8ef76M2rcQ== X-Received: by 2002:a6b:ea07:0:b0:7da:cdf3:7bec with SMTP id m7-20020a6bea07000000b007dacdf37becmr160971ioc.1.1714062147803; Thu, 25 Apr 2024 09:22:27 -0700 (PDT) Received: from [192.168.43.82] ([223.185.79.208]) by smtp.gmail.com with ESMTPSA id m2-20020a638c02000000b005e857e39b10sm13196097pgd.56.2024.04.25.09.22.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 25 Apr 2024 09:22:27 -0700 (PDT) Message-ID: <763ee03a-817d-4833-b42f-e5b4bd25dc7f@linuxfoundation.org> Date: Thu, 25 Apr 2024 10:22:11 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v13 25/35] KVM: selftests: Convert lib's mem regions to KVM_SET_USER_MEMORY_REGION2 To: Sean Christopherson Cc: Dan Carpenter , Shuah Khan , Greg Kroah-Hartman , Paolo Bonzini , Marc Zyngier , Oliver Upton , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexander Viro , Christian Brauner , "Matthew Wilcox (Oracle)" , Andrew Morton , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Xiaoyao Li , Xu Yilun , Chao Peng , Fuad Tabba , Jarkko Sakkinen , Anish Moorthy , David Matlack , Yu Zhang , Isaku Yamahata , =?UTF-8?B?TWlja2HDq2wgU2FsYcO8?= =?UTF-8?Q?n?= , Vlastimil Babka , Vishal Annapurve , Ackerley Tng , Maciej Szmigiero , David Hildenbrand , Quentin Perret , Michael Roth , Wang , Liam Merwick , Isaku Yamahata , "Kirill A . Shutemov" , Naresh Kamboju , Anders Roxell , Benjamin Copeland , Shuah Khan References: <20231027182217.3615211-1-seanjc@google.com> <20231027182217.3615211-26-seanjc@google.com> <69ae0694-8ca3-402c-b864-99b500b24f5d@moroto.mountain> <3848a9ad-07aa-48da-a2b7-264c4a990b5b@linuxfoundation.org> Content-Language: en-US From: Shuah Khan In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E9C8FA0011 X-Rspam-User: X-Stat-Signature: g7pryg3h8i53s6cjqtjxup796uw5bzkm X-HE-Tag: 1714062148-990606 X-HE-Meta: U2FsdGVkX1+Z5VnoXFCRSxq8W5PHhh2w/dSpMgVJZwMdGuyer8DpqBQOSnS8HvBPxAgO//DUorYIjQasK5+71x3oCdQWbWjzRkw9hU2V4cZGAhJDT8zlfcxali/HF98eijVRaW/xY0wdGDFjFJecldMjdypd3NoFRLKnFoHGlcoNm0poUlXg9vqONHEvP6fUjnIF9Rj/fc6WgLMQ92wEkgOU5JtIMauf2TRAlkmNbLh71fS8MgaNIyRlOo6U0vA3l/pN4yiWGOSY0VIHGIxXu+v9aH1WdTxSg6qlw3hMBHfnbNts9Ie8+HqyDaPCl5X3bwQORJNoAjQg7Zo97LC3oD3DaZ5dSZsAADleuPyV0BntBCZl4ruofOTTH0lQDfwVRx2jJyZJ9ujFGkhxdpzLdNURVmWfGww/M1Kn7RhoaJgsIkgNSAoqzLqa7lmmBDA26VlH4YtYyBzpIsg23bmN4p9NbP5Rxrl4EmdPDyZbMwLla3PNMTVPXe8zkW3y5/WSD4MtlfvcRt6HgL5LfFQEvbP1jacOzc1ybC0D++t9+uTbI9g+0sQxXMd/JouUUC/MmNxR88dE4rE8Bx83b4VCIrPHaH4/VJwZYicDOoEbBVJTwcszhfxwrdWNm4NsK9txuROdapM7fP1fkFGZH/KRP4vbcWQ0F3nQodxQaVhT+33M4TuBwQjMRAcYIjhqPl3D67QqCAV3KhTrDkwvslXw1qJ/yQClkbBcFq2fF2xD89oFWHhQuGhiKVJ26oucwbhYvQgb+N1AKJNWM0ADjxVZr0OhOr6lNyFOR39Br0pawJwkJUjxF3zYDiSjNr/Rq7gxa8IC9Ed2dLu2TUGI+umCK3sFvO0WyaN26hPoGfy0s4G96oub+LT6DOgZbpUyveAJh93Yyrxt9ZexCPKAJYEoj4ZXLq86TcbdqCjyWeY0M7waAXGCV74Hg3VZ6QxQVd54D20yVmQKNIPjfXg7K1h wF8cmDlR Z2FvI4YnGUvlJaahzI0UtrAtypE2ues7sTOTMQZM+9eoKScOH+XrMYK3oaQFw6NU4YwcfV5lhGAsovVJt6aW1Hd/h5/3Oa2eY7VQiTcfrxu6rqg67y7IypEUp1iey7/gcC51HVy5zlREycX6v7+Pexpz7Xp2xt295VTysePyErlBLFnNLpg3FhV+w9JstBIuW/1xL4sb+uogttq6Ki6kplI1cSc4II08q1i5tbEVOxeA79PpI7splwZ7QHqh5qKgijwhRkKVaOg2NT08kzWS3RP7G/DQws3JwWZyD9etWn/RXM1vXbe1ugNoisSmADqWxtckMobhrtURDRd416wg0N6s+6mxgQ9mKLRkjf39fLR7ujwOukCQlg4vcUsI0gxxY6W4yIXwecXWdyk3LxU3RGQO9+Le5H8OEJ+uzd/CfW7bpPpSQUmwIOfY5zHkK8iW5DETEpLIabQ+MrcU7O4LBe8J2+RVDcV2U5/nZDw3iLloBulfXlZLz8dJZTNiGckSFFMgvDSn45mWyNP6waaa+2an8i9SKNzLmaaeV X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 4/25/24 09:09, Sean Christopherson wrote: > On Thu, Apr 25, 2024, Shuah Khan wrote: >> On 4/25/24 08:12, Dan Carpenter wrote: >>> On Fri, Oct 27, 2023 at 11:22:07AM -0700, Sean Christopherson wrote: >>>> Use KVM_SET_USER_MEMORY_REGION2 throughout KVM's selftests library so that >>>> support for guest private memory can be added without needing an entirely >>>> separate set of helpers. >>>> >>>> Note, this obviously makes selftests backwards-incompatible with older KVM >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> versions from this point forward. >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>> >>> Is there a way we could disable the tests on older kernels instead of >>> making them fail? Check uname or something? There is probably a >>> standard way to do this... It's these tests which fail. >> >> They shouldn't fail - the tests should be skipped on older kernels. > > Ah, that makes sense. Except for a few outliers that aren't all that interesting, > all KVM selftests create memslots, so I'm tempted to just make it a hard requirement > to spare us headache, e.g. > > diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c > index b2262b5fad9e..4b2038b1f11f 100644 > --- a/tools/testing/selftests/kvm/lib/kvm_util.c > +++ b/tools/testing/selftests/kvm/lib/kvm_util.c > @@ -2306,6 +2306,9 @@ void __attribute((constructor)) kvm_selftest_init(void) > /* Tell stdout not to buffer its content. */ > setbuf(stdout, NULL); > > + __TEST_REQUIRE(kvm_has_cap(KVM_CAP_USER_MEMORY2), > + "KVM selftests from v6.8+ require KVM_SET_USER_MEMORY_REGION2"); > + > kvm_selftest_arch_init(); > } > > -- > > but it's also easy enough to be more precise and skip only those that actually > create memslots. This is approach is what is recommended in kselfest document. Rubn as many tests as possible and skip the ones that can't be run due to unmet dependencies. > > diff --git a/tools/testing/selftests/kvm/lib/kvm_util.c b/tools/testing/selftests/kvm/lib/kvm_util.c > index b2262b5fad9e..b21152adf448 100644 > --- a/tools/testing/selftests/kvm/lib/kvm_util.c > +++ b/tools/testing/selftests/kvm/lib/kvm_util.c > @@ -944,6 +944,9 @@ int __vm_set_user_memory_region2(struct kvm_vm *vm, uint32_t slot, uint32_t flag > .guest_memfd_offset = guest_memfd_offset, > }; > > + __TEST_REQUIRE(kvm_has_cap(KVM_CAP_USER_MEMORY2), > + "KVM selftests from v6.8+ require KVM_SET_USER_MEMORY_REGION2"); > + > return ioctl(vm->fd, KVM_SET_USER_MEMORY_REGION2, ®ion); > } > > @@ -970,6 +973,9 @@ void vm_mem_add(struct kvm_vm *vm, enum vm_mem_backing_src_type src_type, > size_t mem_size = npages * vm->page_size; > size_t alignment; > > + __TEST_REQUIRE(kvm_has_cap(KVM_CAP_USER_MEMORY2), > + "KVM selftests from v6.8+ require KVM_SET_USER_MEMORY_REGION2"); > + > TEST_ASSERT(vm_adjust_num_guest_pages(vm->mode, npages) == npages, > "Number of guest pages is not compatible with the host. " > "Try npages=%d", vm_adjust_num_guest_pages(vm->mode, npages)); > -- thanks, -- Shuah