Received: by 2002:ab2:710b:0:b0:1ef:a325:1205 with SMTP id z11csp1993115lql; Wed, 13 Mar 2024 14:12:25 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWIOjLuZxNhgTYHZSooXa7cJACErimPSsDFx9jti5IIzXSScPnEZ+lNeYFEWrqSDdW8P3RK+dhWLKfmcthhdSBhHfa8ukddOuJRji9kCw== X-Google-Smtp-Source: AGHT+IH69UpiHsxFKl2OMdD5tYzrnNnWr5OpRueNWxNFtIw+2WLx/cyjn+igHU815gSY+Ick5qZb X-Received: by 2002:a05:6830:1e51:b0:6e4:ddac:260 with SMTP id e17-20020a0568301e5100b006e4ddac0260mr1171086otj.14.1710364345075; Wed, 13 Mar 2024 14:12:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710364345; cv=pass; d=google.com; s=arc-20160816; b=cB3/lRSF16UaMPP+h5377w2nyDs6Cz/g9SMRpFwWI3HuqmNUeK6cBLsdoFXS1vM61u ENOiysz7etKYeiPnl0omSyKkLtrAJeOJgH4sRuimfclqd4gfzsGmuDiMls/kxUxdh50q p2H/0W9RcJSGg5bB5G5W+vE3c3MmIS8OEayK8PqWjV1KPig90JuKU8jF3yDAoHqHo1PS WzCi7427PvB3IPTINnHGHGKt548h28Cziy6WPUTDcevywfDJgXPRtpPUVcs+ZKe3DI7N mwgRc9OfE66mDUX/9Hi2Sa2xpmEtoG22ZHP0DyxS1OEniYqAOjHvaabKhYVIW1uPCZ1R AHqg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:from:subject:message-id:references:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:in-reply-to:date :dkim-signature; bh=AFldDYFYoZJVu+X/7qJi9Dh0UTrOOknI+KaE9Y/cruY=; fh=oODHl2zJd8RGO1KQzD/9diF2tH39w5WPImRgDM2MBCc=; b=ujQOwukoC6Mxr2GZZW/lxBE0IIfOmyS942pm+8lelvcLjZkq8pI6pFlneKVbxQb/Ly zYpKj5sVDpWFmcaHJgeRd2UQWMU5+1NZTi/dzPjEposlmYSejy0r8pdtOJxiLKrw2ndy FpoZOgApWqCRt6x/Nz0XOEv9fX+E+JSL9f7Ld+ESBcpr42y5kwOH/3JWMiqAMtAWqJ/6 ryds0bOhuxPdRjudqPgtSIv5BeH/xa3GMKbfKFdvST0DkDNACZ7tk3uEhg64upbZpqM9 UmsxLnCFVIJtm/XyfbTC9LGWbqpIRvtrpBhCQBbJG8eQgFRuyQrOBJ7FxsvHBEXOIQog GuyA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=IyFptiMZ; arc=pass (i=1 spf=pass spfdomain=flex--seanjc.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-102521-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-102521-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id c16-20020a37e110000000b00788358dc526si38158qkm.575.2024.03.13.14.12.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Mar 2024 14:12:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-102521-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=IyFptiMZ; arc=pass (i=1 spf=pass spfdomain=flex--seanjc.bounces.google.com dkim=pass dkdomain=google.com dmarc=pass fromdomain=google.com); spf=pass (google.com: domain of linux-kernel+bounces-102521-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-102521-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id C78A61C22CBE for ; Wed, 13 Mar 2024 21:12:24 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id F333155C13; Wed, 13 Mar 2024 21:12:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="IyFptiMZ" Received: from mail-yw1-f202.google.com (mail-yw1-f202.google.com [209.85.128.202]) (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 B2D3E54BD3 for ; Wed, 13 Mar 2024 21:12:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.202 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710364323; cv=none; b=TAxW2G92iQAw1JNU6U0vUM7BvUvBjk6AgXzdL/lwdp4/Gz9PU/rQKzJtqf2YSJs8PjAeCTj0BOW8VDgd0bvA+4cTvCb4ol5qXRO88N712BOU9lWU2pjuPZ5S8Qze/E4+RIyNw/7gmSwZwN4DvOpTuZ8/3IsOoR5E93j9YJJBe1M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710364323; c=relaxed/simple; bh=qiT72c9JTz/mIY2biql9EBUdBUvC+l9mx9EAksC0Flc=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=SL5b4AfEDnO3HgPxRn0+danUL1BqvRxmn3Nh1ESVIT+dTJnNA7BJl1WbAi3q+sk3fD/6h9BFgtp8bSpzoX/pTAAlwKQolG7kJjBFWmefXTAMurviuTkJTSfT9Q9doF3JigDPLIby8xuuKyq6jhnVoytuB8vnHm4a3I0gAkNESQU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--seanjc.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=IyFptiMZ; arc=none smtp.client-ip=209.85.128.202 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=flex--seanjc.bounces.google.com Received: by mail-yw1-f202.google.com with SMTP id 00721157ae682-609fb4fc058so4967857b3.3 for ; Wed, 13 Mar 2024 14:12:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1710364321; x=1710969121; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=AFldDYFYoZJVu+X/7qJi9Dh0UTrOOknI+KaE9Y/cruY=; b=IyFptiMZc2cMqGVZlnJtDqXqZv6XavWxqAHqYDCdsUN4XCqsk/3ufj8GAsDyOYBOwB coHk9All0ZGxL3bzlcqAPWNR5R3ikZGr0f2OgfayYqOq8DElz07vy5oZ2Pre8TovxuIY hFka1wG4p1fBGOu0dITLMEm1Ui86YBMsgdqAEbfhpmYH13hwDY/FjAalr9X5rGKSg4lT Uxwp00v7jN9cXIvoQDmNulvPx+pQzBClbiLGp9XECH3CrrcWICCGncZbKPIEOFHmeOga fGX+OtsA5D8Gc1dTb6M3ybIqHd3J9Kz82y33eNkxNatXn6+cfCZZXPsoboW1dhLQv8ye CbXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710364321; x=1710969121; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AFldDYFYoZJVu+X/7qJi9Dh0UTrOOknI+KaE9Y/cruY=; b=bmNzndY1UHAwuc5rsoECl70a+iufYG3XgchzqXcZpEbljGwRo4W8R2GDdTwvx9s0cC 2r8UMMDx6LsPc6ZWEZh6yx6wROSTm+fkdvY+WcYP2SWLSO/s70WMGr5J7L5RZfHwp6eF hP/p8CsIKxJ3EAr4gIIuRLo1CZ8LCfctd/OLuesHzpEgYzBrJLE4l40GwikmylmMxc+N VfEpp1lCnUin229YJqIJ1sVlHFpmKkJQYbeXNLFVyREME9QA1Vmrme63WfDjoz/jJT+V 64rvyk4uc3NvHEV51y2j2OpLpiWvqFybnP8qpUOuAsNrLUEdDoDNKAyzDUCy1Nrhfqra +gOQ== X-Forwarded-Encrypted: i=1; AJvYcCWdVtfTNPuZysMinP/9HmNQWrZRN9x+qFBIMeMzS17lBrGOmzGKBBffbuy/MJxHfxPOONZYpowYd57h1l2cayPfNUX+AlBc3sx6+zyO X-Gm-Message-State: AOJu0YyH6UYHBhFZ4ytGlA7JhFkpkalyRUiyKy0HnOdBPuC46mJ8y6Tz rLwqzh4pmrE3mn1grFFZpe2CyFDFuLwcIDZfoP5h5vm8Hi4B+mQsQ6YizjY+qCz41hl2NO3i++K bDw== X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5c37]) (user=seanjc job=sendgmr) by 2002:a05:690c:95c:b0:60a:574b:b37b with SMTP id cc28-20020a05690c095c00b0060a574bb37bmr748933ywb.0.1710364320848; Wed, 13 Mar 2024 14:12:00 -0700 (PDT) Date: Wed, 13 Mar 2024 14:11:59 -0700 In-Reply-To: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20240312173334.2484335-1-rick.p.edgecombe@intel.com> Message-ID: Subject: Re: [PATCH] KVM: x86/mmu: x86: Don't overflow lpage_info when checking attributes From: Sean Christopherson To: Rick P Edgecombe Cc: "kvm@vger.kernel.org" , "pbonzini@redhat.com" , "hao.p.peng@linux.intel.com" , "linux-kernel@vger.kernel.org" , Isaku Yamahata Content-Type: text/plain; charset="us-ascii" On Wed, Mar 13, 2024, Rick P Edgecombe wrote: > 2. lpage_info doesn't need to keep track of unaligned heads and tails > because the unaligned part can never be huge. lpage_info_slot() can > skip checking the array based on the slot, GFN and page size which it > already has. Allocating kvm_lpage_info's for those and then carefully > making sure they are always disabled adds complexity (especially with > KVM_LPAGE_MIXED_FLAG in the mix) and uses extra memory. Whether it's a > tiny bit faster that a conditional in a helper, I don't know. I wouldn't prioritize speed, I would prioritize overall complexity. And my gut reaction is that the overall complexity would go up because we'd need to make multiple paths aware that lpage_info could be NULL. There are other side effects to making something conditionally valid too, e.g. in the unlikely scenario where we mucked up the allocation, KVM would silently fall back to 4KiB mappings, versus today KVM would explode (bad for production, but good for development).