Received: by 10.223.164.202 with SMTP id h10csp1246340wrb; Fri, 10 Nov 2017 00:39:52 -0800 (PST) X-Google-Smtp-Source: ABhQp+SdgXLUk+4Kzniy2ZuaYK+HBBt3Rz+FbjRU2dm5OmEWak85lQNf9iF+TWdZBWg3J6OxypqF X-Received: by 10.98.72.130 with SMTP id q2mr1506953pfi.99.1510303192743; Fri, 10 Nov 2017 00:39:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510303192; cv=none; d=google.com; s=arc-20160816; b=0jXhP+oDniEnoaDNVunQ9n5ZhWoEfJpZqRPS1r97xrWGkETNMG797wv3ZZly8jANN5 J0PP1AaltWv+2RWSvKO1oHkVAXavwspf3v/YKm87nNBxWWJfgMWIdtFWg2l5tAnCwTSv DLZAGNZWwB1Vvr6A8PlvaFIGbh1Qz/oh/ExsqqsgCsbu4eT+r0r4fpNZMLESpwZVOQGR Ok7lHYayHzGrzatMljxxdYB8YsOnlkbHS4fe9y6x8K5S1y4QHMFqubUoltbE+afD/ULQ XkuvueNgCuShXUoN4vNaXTvX5RtDtTnyEXY+VV6ly/K+RUst4Rgzra6Cqj6zdm4nrACN z3Nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=gB3jqghxM9B77Z7h9+jiNPAuA0oFGLB43Dt/Tn3ix+M=; b=c7Ut7VlFZ4gCwY5QShHnwVHlVmUU6OxSiJvdtGNe4lZ90y3O2qRfpiRkzAHmBRNVkI QUp0VBZaxQwBLRoklWuM1jMYo4CVm+2xpiO1LZeKQm2qEi3MsjI7U6nOAtdXvKB0McnE m9crg5BCFg0hcNrrW3QquwZUSlSmc9RQRxV0QL+uypKf5A/F8VB6/kg+rqUMpoM5lOw9 efTCrPjSzrmzACWI7XyI72EMjXn2GIlqu805xOFzcOTlAXf+7yLT4w69DDWDlzbx8xG2 XWh1w60/4pAmMnYCI5wSGqUq4hna7D19XyBFHQnMi2SvN9+C1qN+5GWUdbIhDcESXWdo EbfA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CMhWF7nI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r3si8197111pgn.171.2017.11.10.00.39.41; Fri, 10 Nov 2017 00:39:52 -0800 (PST) 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; dkim=pass header.i=@linaro.org header.s=google header.b=CMhWF7nI; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751827AbdKJIh5 (ORCPT + 82 others); Fri, 10 Nov 2017 03:37:57 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:52141 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751093AbdKJIhw (ORCPT ); Fri, 10 Nov 2017 03:37:52 -0500 Received: by mail-wm0-f65.google.com with SMTP id b9so1074262wmh.0 for ; Fri, 10 Nov 2017 00:37:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=gB3jqghxM9B77Z7h9+jiNPAuA0oFGLB43Dt/Tn3ix+M=; b=CMhWF7nIa57h4rS0sj4J4wqF/3hQow+r+Y/rYSk4OV0+BVAY4+TISKvJuXtloDJ7SQ JwtZdR8BV7JbEwx06UM0uVOIPrrI+HdYz1bxfS5fdPpUygerjAeGTtFQEmg3T6Sii9zS iuNCL5m2h5GA3XZbV79nZUSJyTdc+rK034oe0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=gB3jqghxM9B77Z7h9+jiNPAuA0oFGLB43Dt/Tn3ix+M=; b=h4/fJxfqM4EKCDWMsKMrxAwMNXUs9Ja7zZX2Olps0qn3WuAK1DVcCehkQ5ptpnxhST 0TURcdpJN8OF4O1Dxf71/EeTcwnW5Zva0jHgwu1OQJLV/43PzZ3DRzr31bAkk4ndipLn LdszJhE/Ka2S+vJV2I6xRMPGbNU06/MquHWMspa7vca0CXJOgmZ4OrECnp7NHnJ7mbWH O77124ci1zyPnrkbUXYBG13UK7WqpylVWvV4bvkIfkOkYjYJPB2Xh0rte0Y4I50S3WuC 35+WM5mc2EISyTOys8WL9m7CUPW2ZKohrUUZ8o+pQ7tXxOxnbLmHz3oSlI/CuBQKM9uK R4Pg== X-Gm-Message-State: AJaThX6VgM5tbpjhQrYIU8F86ALdBJNHOppzkm7hDcvYI27wSQyMXr+x MPGWB4QKt/7HG07RJnwLyxR/Gg== X-Received: by 10.28.99.139 with SMTP id x133mr491311wmb.122.1510303070897; Fri, 10 Nov 2017 00:37:50 -0800 (PST) Received: from localhost (xd93dd96b.cust.hiper.dk. [217.61.217.107]) by smtp.gmail.com with ESMTPSA id o82sm253166wmo.18.2017.11.10.00.37.49 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Fri, 10 Nov 2017 00:37:49 -0800 (PST) Date: Fri, 10 Nov 2017 09:37:55 +0100 From: Christoffer Dall To: Marc Zyngier Cc: Auger Eric , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Mark Rutland , Andre Przywara , Shameerali Kolothum Thodi , Christoffer Dall , Shanker Donthineni Subject: Re: [PATCH v5 16/26] KVM: arm/arm64: GICv4: Propagate property updates to VLPIs Message-ID: <20171110083755.GI14144@cbox> References: <20171027142855.21584-1-marc.zyngier@arm.com> <20171027142855.21584-17-marc.zyngier@arm.com> <6763d90f-93bf-ddbb-d456-5979b8870aa2@redhat.com> <49bff080-0908-cc7a-7036-543f963180a5@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <49bff080-0908-cc7a-7036-543f963180a5@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 08, 2017 at 03:08:36PM +0000, Marc Zyngier wrote: > On 07/11/17 21:28, Auger Eric wrote: > > Hi Marc, > > > > On 27/10/2017 16:28, Marc Zyngier wrote: > >> Upon updating a property, we propagate it all the way to the physical > >> ITS, and ask for an INV command to be executed there. > >> > >> Acked-by: Christoffer Dall > >> Signed-off-by: Marc Zyngier > >> --- > >> virt/kvm/arm/vgic/vgic-its.c | 3 +++ > >> 1 file changed, 3 insertions(+) > >> > >> diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c > >> index 0b7e648e7a0c..2e77c7c83942 100644 > >> --- a/virt/kvm/arm/vgic/vgic-its.c > >> +++ b/virt/kvm/arm/vgic/vgic-its.c > >> @@ -296,6 +296,9 @@ static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq, > >> spin_unlock(&irq->irq_lock); > >> } > >> > >> + if (irq->hw) > >> + return its_prop_update_vlpi(irq->host_irq, prop, true); > >> + > >> return 0; > >> } > > I am confused by the vgic_queue_irq_unlock() on the "hw" path. Why is it > > needed in hw mode? > > It's not. I guess we could bypass this altogether and take a short cut > after having updated the priority and enabled fields. > I can apply this on top of the series as well if you're happy with it: commit b54fba93b1330803a59ca75f3a5102e22cadc871 (HEAD -> next-gicv4) Author: Christoffer Dall Date: Fri Nov 10 09:34:54 2017 +0100 KVM: arm/arm64: Don't queue VLPIs on INV/INVALL Since VLPIs are injected directly by the hardware there's no need to mark these as pending in software and queue them on the AP list. Signed-off-by: Christoffer Dall diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c index c93ecd4a903b..a3754ec719c4 100644 --- a/virt/kvm/arm/vgic/vgic-its.c +++ b/virt/kvm/arm/vgic/vgic-its.c @@ -292,11 +292,14 @@ static int update_lpi_config(struct kvm *kvm, struct vgic_irq *irq, irq->priority = LPI_PROP_PRIORITY(prop); irq->enabled = LPI_PROP_ENABLE_BIT(prop); - vgic_queue_irq_unlock(kvm, irq, flags); - } else { - spin_unlock_irqrestore(&irq->irq_lock, flags); + if (!irq->hw) { + vgic_queue_irq_unlock(kvm, irq, flags); + return 0; + } } + spin_unlock_irqrestore(&irq->irq_lock, flags); + if (irq->hw) return its_prop_update_vlpi(irq->host_irq, prop, needs_inv); Thanks, -Christoffer From 1583511004268802411@xxx Wed Nov 08 15:09:34 +0000 2017 X-GM-THRID: 1582421746778036705 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread