Received: by 2002:a05:7412:3b8b:b0:fc:a2b0:25d7 with SMTP id nd11csp827246rdb; Fri, 9 Feb 2024 02:18:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IEYR9elzd8WLKYuybVHhKVYtH5X2Vl5L2hatTP3QLH86MgGpedsBhe5yqv734s7yuK+w6jc X-Received: by 2002:a17:907:bb88:b0:a38:46b0:bde2 with SMTP id xo8-20020a170907bb8800b00a3846b0bde2mr752893ejc.24.1707473906189; Fri, 09 Feb 2024 02:18:26 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707473906; cv=pass; d=google.com; s=arc-20160816; b=0R9/uu8bFDMxLe6k/P5rMtywIXwb5wFHNH2hwyX0+ZrzCApygwysSPxdV9nF2o3AD2 B/tD9OF5UK0GncbPijkTVW+r7PXWE3R0JgT5OIY3fh4Py0v4h7Kbbm9Kfx+6FGN/25cq sJCrc+CaZCEc4zk9/fKocxPa73OYtv1ZONSyO6xNe9XhzkEGEqHtKRqEwImPkgpRuDV5 K162DBFIEejTk7e6hEY7iep5XX2gvULxlODQbP2EretCJldy4uDpVH9EzAikspPewxfX qrGDAcVKyf9wURpQBGLvaW482VieO8krr0Sb0lATXoXkkyMfx+bUyPODBA0UfE9ILrE0 /5cA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=fdwZ4hDuHZxE64kMWieuR4a6X7g5THqN75f1Ypjn7HU=; fh=WYvMtTp4OLPRbKO/Gm0sLZrLzTM855iK7MVGV180fWI=; b=kCRG4jY9Iku+4VAd87eLzLubPlmMpqdl4eFKKjTAF3b+LH3kZrVhxD1+3NeZUdvWHU 1ZuLh0KuvWR/wQXUYZ0C3TK5A0RGwCRMME5R4ulHBKe5QNGqcur496XB70kM3QPi0wk3 xwAQnWjDy1c7HWo+l/bwCTuN8lDOs6LRhSV6GK0CsuI3jUFYaE9AKE1b/Pu0ZW9X3yH5 kDJj3FMHAShF+tprUQY60qvmbAQ15DTm9AzxVkDZtjkM08cai/P/FKE/eicfB0Do94No GWCuM64j0YvCtRwSlEhdRcWK5oEi2tgLeCamcNq0R78ejwz1SOv+/AKPdb+394wHWhMq 7j+Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="ckrXRMd/"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-59203-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-59203-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com X-Forwarded-Encrypted: i=2; AJvYcCVaY270ma+T3uCS1de5NkWv6WNOzOG7p+qwemy6lbdz8S4zAiVkJIi0ly2gd8WbYh/fN24s5WE9lZDC2a56bJH0b4hk6S3hiGcVf4VPRA== Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id s16-20020a170906c31000b00a37c32e4c46si687986ejz.121.2024.02.09.02.18.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Feb 2024 02:18:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-59203-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="ckrXRMd/"; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-59203-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-59203-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.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 am.mirrors.kernel.org (Postfix) with ESMTPS id EC0CE1F22695 for ; Fri, 9 Feb 2024 10:18:25 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9EDE969943; Fri, 9 Feb 2024 10:18:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ckrXRMd/" Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com [209.85.219.169]) (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 53132692E4; Fri, 9 Feb 2024 10:18:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707473889; cv=none; b=tNylZqXHjFw3iV3M7F6ahAkeZ+IFiKKGxLBqRCOrDiC844IIV3FBcvFyvTL/z86IgyVnDydD65yb4JmO0B/8nMV6M3LT5gDHNno6iayRjmqCV3S6++CIOWCDPlDAE+vnXLrKuLAjxtIwjnZ7nfZR5ne8DNwNzo5iDmAfcElNDO0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707473889; c=relaxed/simple; bh=NjjX68tO0V1IURReN/W7nTc2ejz/EacjGDy8WTWa2Gs=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=C8dN9tHm4FtfPf99TagU6T0iwb/iKQa1nP7N7aeT5LTJOY+ZHXAnCvyxt2ehZb4ruDmcRQepVuYkcmEua7sAPMr29ifXpN/Uxptkk7Y89JbzFEPzkHVkQCyZk7uPPuLVAZIvAtdnDiUqGHAvFSysY/DX3jslBNB4Rj+xV5pAML8= 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=ckrXRMd/; arc=none smtp.client-ip=209.85.219.169 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 Received: by mail-yb1-f169.google.com with SMTP id 3f1490d57ef6-dc754853524so264908276.3; Fri, 09 Feb 2024 02:18:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707473887; x=1708078687; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fdwZ4hDuHZxE64kMWieuR4a6X7g5THqN75f1Ypjn7HU=; b=ckrXRMd/fqCwcI3tJuAVG89PYSh4N7DQ3gOiJ1D5+30bX2S/32vQlD8ABkL1ddbB3k sei4iWPPagGp3YabBGoFfymFeWWKxQ0KJB3GdHisYeEF3cXG0cVwyiUOXVz/W/qnhiyU q6rCK7wh+WA2ZmXczlKhVYDdgj/ArGCxwotnLmMtRru2XYRM5/g+4VpnGfvrR2CQuTD+ L2fS6i0mplyqCH/OtBVXRxYsTvU5byFSp/eKb8+FUfEWhicdbEhPE/CvnZJXfw/osvM5 wcKzFSRpqKO5VYyIoMRYbhhVEstE+T4YnEJOWa+24cZI1ynbw2SDYN8s52v7jI86Td/Z dHAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707473887; x=1708078687; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fdwZ4hDuHZxE64kMWieuR4a6X7g5THqN75f1Ypjn7HU=; b=UFKxHV1zKYj5zjWMq1RkRQcXGSAAgOcblKg5sD+2rr/QqM2MFcfl7a/LvFpATmwJ6y vnnPiGWKzWNMuHldTDBzKKSapSydKYnQzEp3+YlQXX39rp0AUXvA1GZW5xxGC7YznjQ2 jwqJ3pl3BG52unv6XK8AqQuk3XZTKUU85poavxRQAlYxW5O2KgtH4sRyjpH1xIi3o857 CwfnLxAbW4ICFwVLj6TQCydlExfnaxSYNcKJmEq7U59gleWbFzStpQz6xfQIUoqMuAq0 dKT3080dE2LVx5vGfQY98dEBbXiLIgbbjBzSXCCDcmLt9f28ZJgVrFjygTzSp8j7B0g2 fpDw== X-Gm-Message-State: AOJu0YyFsueBHCTtZTgNbooBMQdMVF4AqGuvpo1fLSf5YvghYZYXMiqi 0oPFQ/nUD7fOyV1/huWWfrhZXqOJftcBbpYxvzp1IE4WSqDnXat4HnnrxZVDzIObpfsZPKEERNu SsZHzKU3KOLgEUGJBRYenxrVAkBs= X-Received: by 2002:a25:ab0c:0:b0:dc2:5553:ca12 with SMTP id u12-20020a25ab0c000000b00dc25553ca12mr1072170ybi.14.1707473887077; Fri, 09 Feb 2024 02:18:07 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240124113446.2977003-1-foxywang@tencent.com> <02fe988e-2b42-9610-6ab5-bd17b0d9fb80@oracle.com> In-Reply-To: <02fe988e-2b42-9610-6ab5-bd17b0d9fb80@oracle.com> From: Yi Wang Date: Fri, 9 Feb 2024 18:17:56 +0800 Message-ID: Subject: Re: [v3 0/3] KVM: irqchip: synchronize srcu only if needed To: Dongli Zhang Cc: x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, foxywang@tencent.com, seanjc@google.com, pbonzini@redhat.com, mingo@redhat.com, tglx@linutronix.de, dave.hansen@linux.intel.com, hpa@zytor.com, bp@alien8.de, wanpengli@tencent.com, oliver.upton@linux.dev, anup@brainfault.org, frankja@linux.ibm.com, imbrenda@linux.ibm.com, maz@kernel.org, atishp@atishpatra.org, borntraeger@linux.ibm.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Dongli, Thanks for the reply and Happy Spring Festival to all :) On Fri, Feb 9, 2024 at 5:00=E2=80=AFPM Dongli Zhang wrote: > > Hi Yi, > > On 1/24/24 03:34, Yi Wang wrote: > > From: Yi Wang > > > > We found that it may cost more than 20 milliseconds very accidentally > > to enable cap of KVM_CAP_SPLIT_IRQCHIP on a host which has many vms > > already. > > Would you mind explaining the reason that the *number of VMs* matters, as > KVM_CAP_SPLIT_IRQCHIP is a per-VM cap? > > Or it meant it is more likely to have some VM workload impacted by the > synchronize_srcu_expedited() as in prior discussion? > > https://lore.kernel.org/kvm/CAN35MuSkQf0XmBZ5ZXGhcpUCGD-kKoyTv9G7ya4QVD1x= iqOxLg@mail.gmail.com/ > The actual reason is might_sleep() and the kworker in synchronize_srcu_expedited(), which may cause some delay when there are pretty many threads in the host, = so "number of VMs" is just one of the situations which can trigger the issue = :) > Thank you very much! > > Dongli Zhang > > > > > The reason is that when vmm(qemu/CloudHypervisor) invokes > > KVM_CAP_SPLIT_IRQCHIP kvm will call synchronize_srcu_expedited() and > > might_sleep and kworker of srcu may cost some delay during this period. > > One way makes sence is setup empty irq routing when creating vm and > > so that x86/s390 don't need to setup empty/dummy irq routing. > > > > Note: I have no s390 machine so the s390 patch has not been tested. > > > > Changelog: > > ---------- > > v3: > > - squash setup empty routing function and use of that into one commit > > - drop the comment in s390 part > > > > v2: > > - setup empty irq routing in kvm_create_vm > > - don't setup irq routing in x86 KVM_CAP_SPLIT_IRQCHIP > > - don't setup irq routing in s390 KVM_CREATE_IRQCHIP > > > > v1: https://urldefense.com/v3/__https://lore.kernel.org/kvm/20240112091= 128.3868059-1-foxywang@tencent.com/__;!!ACWV5N9M2RV99hQ!LjwKfBaGVl3u1l9YQSs= kg_1RU6278h2-fYnYLsoihF9i43aq73eIDqolGzOmeRvO8UlPreQHLqXEL1bAuw$ > > > > Yi Wang (3): > > KVM: setup empty irq routing when create vm > > KVM: x86: don't setup empty irq routing when KVM_CAP_SPLIT_IRQCHIP > > KVM: s390: don't setup dummy routing when KVM_CREATE_IRQCHIP > > > > arch/s390/kvm/kvm-s390.c | 9 +-------- > > arch/x86/kvm/irq.h | 1 - > > arch/x86/kvm/irq_comm.c | 5 ----- > > arch/x86/kvm/x86.c | 3 --- > > include/linux/kvm_host.h | 1 + > > virt/kvm/irqchip.c | 19 +++++++++++++++++++ > > virt/kvm/kvm_main.c | 4 ++++ > > 7 files changed, 25 insertions(+), 17 deletions(-) > > --=20 --- Best wishes Yi Wang