Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7260937ybi; Thu, 1 Aug 2019 05:41:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqy36PKe0JZgzt6wSK7I/x79QKbgCQa0Fit6Ubo185r6X2r1/zvVGpPQvphq7XcvpxpKeJ6u X-Received: by 2002:a17:90a:cb97:: with SMTP id a23mr8374133pju.67.1564663264421; Thu, 01 Aug 2019 05:41:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564663264; cv=none; d=google.com; s=arc-20160816; b=JR/tRtMfm6ByHsVKAHeo/kayVBejwpdvvCtP4vXKYE4DnXYmUQo4+0WGA2f9IzdlOv kQZ7+axQF5l6k3zBL58IcSCfl2p7mqZ2nd4qSjAX7n54BqXDAv/g8nZLA7lvrLWPi1P8 /UOX+nN1qykbtL5N67s1gY+A2E2sQGpMhYZRCsm8RqL6skjFTycqalWfM7vFM3Q8+EsL K90a2MJuwjOfPnafbo3FrTdP3FLpeOX2deeObYUMbJ1CJFbB5u4Y1z/X8cGhVg9wVc0M uI2mu1STOtC+X5yaGd5XL62ikLW4OhZ9u7LN2uYXrtuzNF3o40QwmXGpabMR8NdAedQ4 zUHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:organization :references:in-reply-to:date:cc:to:from:subject:message-id; bh=+BkOuHwTHdGZ10iNcKQdNA1u474E7lDV0OoS/RpM7O8=; b=q4guNmstQ5bedHUnF/VqI6Ug3O5iDNbaJ0iC4a7TDQn2JrBEbws/I3HGJegP0BCK5q +FmG5v69UCSD7qi3loM7d/JikFZ1MLVkOkUsEiKEix84cs9eIgrzKFLJI6/I5XuBgTED 8ZxF2lOufuktQMfdfYNi8tCTOS5HupRORTZNR8A5+auVHgfWOi1kz5qrBGcLv1h0SqyC bf0wyXh9Wu/se22MHk8fBDB6OflvkaqU6VrZCgJpJz3oDkOuJYpKkEXBYyO1du7Mesfd G90dgjzNNrio5jajiPuA5QJ+PS1rIRtcmYEIKNV3uqqEazmJeKK6EmVm26C/9mUTbrlX jQsw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y9si38353769pfm.236.2019.08.01.05.40.49; Thu, 01 Aug 2019 05:41:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731357AbfHAMj4 (ORCPT + 99 others); Thu, 1 Aug 2019 08:39:56 -0400 Received: from mx2.suse.de ([195.135.220.15]:58096 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730881AbfHAMj4 (ORCPT ); Thu, 1 Aug 2019 08:39:56 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id D26CBB00E; Thu, 1 Aug 2019 12:39:54 +0000 (UTC) Message-ID: <6d9e85ac5768e920805f121eeaff1360f3b257df.camel@suse.com> Subject: Re: [PATCH] KVM: Disable wake-affine vCPU process to mitigate lock holder preemption From: Dario Faggioli To: Paolo Bonzini , Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Radim =?UTF-8?Q?Kr=C4=8Dm=C3=A1=C5=99?= , Peter Zijlstra , Thomas Gleixner Date: Thu, 01 Aug 2019 14:39:34 +0200 In-Reply-To: <19e0beb6-a732-ea1f-79a5-41be92569338@redhat.com> References: <1564479235-25074-1-git-send-email-wanpengli@tencent.com> <19e0beb6-a732-ea1f-79a5-41be92569338@redhat.com> Organization: SUSE Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-OoP9rETHtqYOrghGbkKn" User-Agent: Evolution 3.32.3 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-OoP9rETHtqYOrghGbkKn Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2019-07-30 at 13:46 +0200, Paolo Bonzini wrote: > On 30/07/19 11:33, Wanpeng Li wrote: > > When qemu/other vCPU inject virtual interrupt to guest through > > waking up one=20 > > sleeping vCPU, it increases the probability to stack vCPUs/qemu by > > scheduler > > wake-affine. vCPU stacking issue can greately inceases the lock > > synchronization=20 > > latency in a virtualized environment. This patch disables wake- > > affine vCPU=20 > > process to mitigtate lock holder preemption. >=20 > There is no guarantee that the vCPU remains on the thread where it's > created, so the patch is not enough. >=20 > If many vCPUs are stacked on the same pCPU, why doesn't the wake_cap > kick in sooner or later? >=20 Assuming it actually is the case that vcpus *do* get stacked *and* that wake_cap() *doesn't* kick in, maybe it could be because of this check? /* Minimum capacity is close to max, no need to abort wake_affine *= / if (max_cap - min_cap < max_cap >> 3) return 0; Regards --=20 Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <> (Raistlin Majere) --=-OoP9rETHtqYOrghGbkKn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEES5ssOj3Vhr0WPnOLFkJ4iaW4c+4FAl1C3YYACgkQFkJ4iaW4 c+7Y7w/9FDc59iIus5zhBIvPf3Lieg7DPJpO7lV5BX3b9Aom3UVTDfgniByN88hC hk4lyNnLozzX6zv8AiPtWCWdtvXnjLewY5Z0OSsmQyCL3TdX09h8FXiqfRkcrCQX MJj81jMD8AHXQ1tRY5p+k653LpzFRQS4uckBgSklWr2ZAdfwNQLaHA2jdUQ4oatV SLN07+3MQaKfea1rdhGCiD4ME+sdOBZO+gwVoosWIDMYKDevuVR54ghl6lBW98pR dj+ZSVtlqFfSUYpjtL/l3P3+hHB7292OC+uh9T9ESGR0xk/ggCl7X1H5ELUL+wDG M4CNTsr1Z5oihfFGpZk3hZk0qLfOOPDwxbT47tv/RsEqjMRcumkCaldweG6fS9oO DUTqauzyAlRo9Ipt29BGRj7mpzd4y4+bZpJJedoql0Yhc4VP3brJneJxWqeNylBQ EWtowwuc9hUnewZi2VHPCbAFPIwo2YLyqFApNDMjbtO/Ar6f04BrYwANKj96aOgI T1yvC0Q2NaeYJ27wdpRo13TI4FXLVSJhKFEL/80Iw98xyAf6ZShr/Z0RHJbBMoPm o2pVT27JwuVcsfM+79kRrN+AJCopRVEfZFpvZ7coLeyxwQKmgcRUTDjxlklJMvly TTR5/8tyIA4kUW9ngTGEi4i7LWrMiMP7+tDeQJyZcqkOJ+SFyig= =fjyt -----END PGP SIGNATURE----- --=-OoP9rETHtqYOrghGbkKn--