Received: by 2002:ab2:69cc:0:b0:1f4:be93:e15a with SMTP id n12csp1251141lqp; Sun, 14 Apr 2024 23:39:43 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWRP6izqfyDP/mc8MkIhdMQUmqTNkMANJa4lJKTbqcghQvvaGitXAijG3vVQHTkqwIFjuKQhhuUQglo0FuIZtJAWbz7HihkE4mRydqBaw== X-Google-Smtp-Source: AGHT+IF1nBxfN/wiH/mXwDW+D37YZlM5mSPWIyheeyBY/GuMQVelGn5cbz9J2FywS4hZbQTvd89H X-Received: by 2002:a05:6808:10d3:b0:3c6:62f:4fd4 with SMTP id s19-20020a05680810d300b003c6062f4fd4mr12848977ois.4.1713163183375; Sun, 14 Apr 2024 23:39:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713163183; cv=pass; d=google.com; s=arc-20160816; b=wAz6513F2uts1wFbTdv5yCOBUl2aXwVgCszIs8qjA235G/rylczjThBGdVvdenfdDO xiNxQs1tiHCxULHdwboc1jiNZ9ycUktqhU/m91YklcsmcIkWbUI7dOSOS/gS1T/1FW2N OWzFBzgc7OEzvLsnwOlPgHMp7emgzXcJz6uTO0aL8WJXwdyzn3TeS86xHAli9wRZ/OIJ F0YElKpNp535EXNpcyIF6xnxB/j/qSodBUOjEv1MRZEVXRLs43y6eTu2PQCID6DqQi+d kD8PDuTf997l86PGKT82+MDORR7bKzLoTSp12vWi+Ae/f3CgXriTsJ6wcXkJVA6Q9cVC F7aQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature :precedence; bh=ywwE6DRwLLT1SpVsnnbzNuGwJVoyApx9UB8DPg8vkco=; fh=Fhj200xtOWcFpru27vnz6q+g6e361ZsXXzSElTSGyDM=; b=YMAcjYWNCNZ9cepJoW36suBER2rSV+e3FVsBgbTUzgxjWuls9ob34DNcm14IxWN7KT hXjyYT3Ivfqxl2SL+eOCXubUh1THh/iTvGGGBjGeRHsea5NoBIVZwehxPDTqWdoq0lSK MoMSEvH92OfbmiFLx/LhEnlTYud1FFBR2mPeXFIcqUYvFQvmqLu2fOXjYZXjtlVjOL4m AuxbuLdE/IxA6Eo58IgimQUu1VGo0Qw8bqCXvcN8N/lFxjsIgC1x4DzbVW0MVQmbQHKG oQ0XcBRzcehcNquql/7tbOMs/UPFZ4munmtaujPgCPZFDVBI6moXLAEajsI62zJtaXYl NOLw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b="kKgb/aOp"; arc=pass (i=1 spf=pass spfdomain=yandex-team.ru dkim=pass dkdomain=yandex-team.ru dmarc=pass fromdomain=yandex-team.ru); spf=pass (google.com: domain of linux-kernel+bounces-144601-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144601-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id r127-20020a632b85000000b005d8bed5ec84si7435426pgr.258.2024.04.14.23.39.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Apr 2024 23:39:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-144601-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b="kKgb/aOp"; arc=pass (i=1 spf=pass spfdomain=yandex-team.ru dkim=pass dkdomain=yandex-team.ru dmarc=pass fromdomain=yandex-team.ru); spf=pass (google.com: domain of linux-kernel+bounces-144601-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-144601-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yandex-team.ru 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 sv.mirrors.kernel.org (Postfix) with ESMTPS id 0DFBA2813C1 for ; Mon, 15 Apr 2024 06:39:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B6D5D208AF; Mon, 15 Apr 2024 06:38:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=yandex-team.ru header.i=@yandex-team.ru header.b="kKgb/aOp" Received: from forwardcorp1c.mail.yandex.net (forwardcorp1c.mail.yandex.net [178.154.239.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CA031C6B9; Mon, 15 Apr 2024 06:38:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.154.239.200 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713163103; cv=none; b=EL/kwx+eTTh/rjUpDscgD7BBVHyEG4vdwn2t3ePFpldu4P9rwrt4L8bnIp5Qx7CAoe6o6Yo19tweH7DH1NR8mcU1jfh4rlqA1WZW0WvYxaa0PdNhNhLUhhWiL7RJKsOROAFmygV+wumFAHWYVFtmVR8P451xNjXOmdfJLtPGCz8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713163103; c=relaxed/simple; bh=ke4GtrwiUaNd6EoLUT2zw42GFR+boZhwDst+k70ryFA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=nNeAdAkxWzdDo3DSK5Xtxe6mogwAWeio2PTduVzVx+iyg+322eOeLcXsH+v1xVKbAKP+rLy4KTvRMybspdGMuIsoULNXtGbnrofLjPkb00A11cf4mCEj98TceZqzKI/SWJXJc5ecMd9V8fR0kFFqmLLtTYoHSVQr5kJzsJ+YoeA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yandex-team.ru; spf=pass smtp.mailfrom=yandex-team.ru; dkim=pass (1024-bit key) header.d=yandex-team.ru header.i=@yandex-team.ru header.b=kKgb/aOp; arc=none smtp.client-ip=178.154.239.200 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=yandex-team.ru Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=yandex-team.ru Received: from mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:220a:0:640:7faf:0]) by forwardcorp1c.mail.yandex.net (Yandex) with ESMTPS id BF6B860C5A; Mon, 15 Apr 2024 09:36:52 +0300 (MSK) Received: from [IPV6:2a02:6b8:b081:b5ae::1:26] (unknown [2a02:6b8:b081:b5ae::1:26]) by mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id paYKek1IaKo0-iypVP8rP; Mon, 15 Apr 2024 09:36:51 +0300 Precedence: bulk X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1713163012; bh=ywwE6DRwLLT1SpVsnnbzNuGwJVoyApx9UB8DPg8vkco=; h=From:In-Reply-To:Cc:Date:References:To:Subject:Message-ID; b=kKgb/aOpknGh9USFJPoBvE7mZ7kudaNL2AT6eeDpofcnZ9suDthjcSDK6eqCA8wmY jtU5OyAJf5RvFFh2GNfheqOEoNQOdHLSKXJ/0X7GUdhjaC55yGxYN48DkSDO9q7J07 b5kYaPZVRnbiHXCgkxsOLO5NticjCbVSqcvBrH3k= Authentication-Results: mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru Message-ID: Date: Mon, 15 Apr 2024 09:36:51 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] kvm_host: bump KVM_MAX_IRQ_ROUTE to 128k To: Paolo Bonzini Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, yc-core@yandex-team.ru References: <20240321082442.195631-1-d-tatianin@yandex-team.ru> Content-Language: en-US From: Daniil Tatianin In-Reply-To: <20240321082442.195631-1-d-tatianin@yandex-team.ru> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit ping :) On 3/21/24 11:24 AM, Daniil Tatianin wrote: > We would like to be able to create large VMs (up to 224 vCPUs atm) with > up to 128 virtio-net cards, where each card needs a TX+RX queue per vCPU > for optimal performance (as well as config & control interrupts per > card). Adding in extra virtio-blk controllers with a queue per vCPU (up > to 192 disks) yields a total of about ~100k IRQ routes, rounded up to > 128k for extra headroom and flexibility. > > The current limit of 4096 was set in 2018 and is too low for modern > demands. It also seems to be there for no good reason as routes are > allocated lazily by the kernel anyway (depending on the largest GSI > requested by the VM). > > Signed-off-by: Daniil Tatianin > --- > include/linux/kvm_host.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 48f31dcd318a..10a141add2a8 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -2093,7 +2093,7 @@ static inline bool mmu_invalidate_retry_gfn_unsafe(struct kvm *kvm, > > #ifdef CONFIG_HAVE_KVM_IRQ_ROUTING > > -#define KVM_MAX_IRQ_ROUTES 4096 /* might need extension/rework in the future */ > +#define KVM_MAX_IRQ_ROUTES 131072 /* might need extension/rework in the future */ > > bool kvm_arch_can_set_irq_routing(struct kvm *kvm); > int kvm_set_irq_routing(struct kvm *kvm,