Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5756935imm; Mon, 23 Jul 2018 05:40:22 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcFAP+EUZ/QO7PDl8f/VpUGtfNTKs94lUN2YxIl0biZAANfPtO7U6ehoxBcvOu8zjJBoSm4 X-Received: by 2002:a62:e30c:: with SMTP id g12-v6mr13187463pfh.25.1532349622289; Mon, 23 Jul 2018 05:40:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532349622; cv=none; d=google.com; s=arc-20160816; b=aEgxlcMIwtz86EcnsdjzHubl2HsJBsh42heqVNiywn8pLYSaB3yiyO3/Z9BQMS2n24 eVI52Gk19VAaQw60A+EsjCNn+BhJewerkIF7zssuTUab8XQrXOuV31DozFoDXRYbs/G3 RuELg+XJcYFbjI2MkhWDyo3BdZ7yPCGZAkJQuwD7YKYCpr0V661MiRa59rAs0kLiGCB/ 9vba7bE6+QbIW4JZHnE1GQ5e5uN8zZCZikUBaXD5Rg7SosaSRENrZ2OoIr4/2vW7yzOA 70s8XkbVN/xf8XeHAN8XtnJH67eqioFmdaJda/tBaaa3cQ6XvjbDhehjIHUBpn7aYz+x j9ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:arc-authentication-results; bh=tUo4BeuKu6GUpLpXeppSlH+osJxR7JqoJkFhNkX95UQ=; b=05CTOsiFZI1ue38rWKu5YT8LpZe9VGlbBIBJtM40mN1WlwnYFvjBXMWrtKt82hvmsJ oYz3NzVU4/roHONDqAGBX4Bw8FIYkdVDoVNYGpDJwrxGUkNPj6sI/F+oG0yTp22FiHF8 UD6UJK8/LPbG2epFk0UGtKQLBjNfzU2T/3yydrZsW0QnVoo2aeXoF48i4FQhTtniOQUI 1ndNWwfVJfdJgdm1Mc5bIN/wmjEZyIAf49CJyD/2CAHQjnT8STqVWaliDdMb6scrt9mM 8oK+EZW25pX8bQfKZgU56wTi/aIFA7DD96ZrDlGoHgsiDO5zQpRQ0XTyRYUjDamQ4+rG hQMQ== 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 d66-v6si9089478pfa.186.2018.07.23.05.40.07; Mon, 23 Jul 2018 05:40:22 -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 S2388283AbeGWNkO (ORCPT + 99 others); Mon, 23 Jul 2018 09:40:14 -0400 Received: from foss.arm.com ([217.140.101.70]:32952 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387883AbeGWNkN (ORCPT ); Mon, 23 Jul 2018 09:40:13 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 68CA580D; Mon, 23 Jul 2018 05:39:12 -0700 (PDT) Received: from [10.4.12.213] (e112298-lin.emea.arm.com [10.4.12.213]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B892D3F778; Mon, 23 Jul 2018 05:39:10 -0700 (PDT) Subject: Re: [PATCH v4 00/26] arm64: provide pseudo NMI with GICv3 To: Daniel Thompson Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, joel@joelfernandes.org, marc.zyngier@arm.com, mark.rutland@arm.com, christoffer.dall@arm.com, james.morse@arm.com, catalin.marinas@arm.com, will.deacon@arm.com References: <1527241772-48007-1-git-send-email-julien.thierry@arm.com> <20180720150943.i4u2s7wie7falh7p@holly.lan> From: Julien Thierry Message-ID: Date: Mon, 23 Jul 2018 13:39:09 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <20180720150943.i4u2s7wie7falh7p@holly.lan> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Daniel, On 20/07/18 16:09, Daniel Thompson wrote: > On Fri, May 25, 2018 at 10:49:06AM +0100, Julien Thierry wrote: >> This series is a continuation of the work started by Daniel [1]. The goal >> is to use GICv3 interrupt priorities to simulate an NMI. >> >> To achieve this, set two priorities, one for standard interrupts and >> another, higher priority, for NMIs. Whenever we want to disable interrupts, >> we mask the standard priority instead so NMIs can still be raised. Some >> corner cases though still require to actually mask all interrupts >> effectively disabling the NMI. >> >> Currently, only PPIs and SPIs can be set as NMIs. IPIs being currently >> hardcoded IRQ numbers, there isn't a generic interface to set SGIs as NMI >> for now. I don't think there is any reason LPIs should be allowed to be set >> as NMI as they do not have an active state. >> When an NMI is active on a CPU, no other NMI can be triggered on the CPU. >> >> After the big refactoring I get performances similar to the ones I had >> in v3[2], reposting old results here: >> >> - "hackbench 200 process 1000" (average over 20 runs) >> +-----------+----------+------------+------------------+ >> | | native | PMR guest | v4.17-rc6 guest | >> +-----------+----------+------------+------------------+ >> | PMR host | 40.0336s | 39.3039s | 39.2044s | >> | v4.17-rc6 | 40.4040s | 39.6011s | 39.1147s | >> +-----------+----------+------------+------------------+ >> >> - Kernel build from defconfig: >> PMR host: 13m45.743s >> v4.17-rc6: 13m40.400s >> >> I'll try to post more detailed benchmarks later if I find notable >> differences with the previous version. > > So... I'm rather late sharing these benchmarks but... > > I ran some kernel build benchmarks on the Developerbox from 96Boards > (aka Synquacer E-series by Socionext): 24 C-A53 cores running at 1GHz. > This is obviously a real workload and one that anything called > Developerbox needs to care about! > > The difference in performance is slight but PMR based locking is > marginally slower than using the I-bit. It varies with the > parrallel-ness of the build slightly but the slowdown on this platform > is between 0.2% and 0.6% [1]. > > This delta was sufficiently small that I was willing to leave the PMR > masking in place for a fair amount of my day to day work. On that basis > these patches could also be described as: > > Tested-by: Daniel Thompson > Thanks very much for doing this testing. Things have changed a bit in the NMI side of the series and I am trying to get a saner API to get upstreamed before posting a new version of these patches. But the PMR masking/unmasking remains the same so the benchmarks should still be valid in the future version. Thanks, > > Daniel. > > > [1] For anyone interested in the raw numbers then the spreadsheet where > I checked the results is here: > https://docs.google.com/spreadsheets/d/1gGxAJd_gL-HjeTF-x0Ut5lWT4JULNRDeTbPvPInZ4H4/edit?usp=sharing > -- Julien Thierry