Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2412975pxb; Tue, 9 Mar 2021 01:43:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJxWpj8zMv7kTITPJCBf5RBKxKuaD2OoSgxUi6W/IgMvMyizE1R6QIsUqc2axcMTodkvPz3w X-Received: by 2002:aa7:c804:: with SMTP id a4mr2932700edt.251.1615282982987; Tue, 09 Mar 2021 01:43:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615282982; cv=none; d=google.com; s=arc-20160816; b=byiLxJ6f76RYtQvRyU5o4EhzRKfSPwbtUKTicRrhO9YgDsOtP26SqTSiYCX31ufnef 6c3vX7aFVofS4CGarYTkHMwWDgeY0UMcGDzUHG26NbwkmhxwV6swLNtZxVYa8iQhOw0q 04M4VH6xoP+G99zrXxgj8+LvjYDJZntiNS6DHI5PhxkFqhfZrUeD7zY2qp+1oFDeSQrX kFfMRwzb80ijdW1DAR31sDM645ExekqJYCIP1V63ZtzS2yD6Wu51FX7BYJ5iWgCUomY3 yW1bjEudJJoANGl1CIpQJGLXflPZAiovAiIgDQ0vKcFl3aAOXtU2HWYpiyfI0IBEuOFS HAwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=WAWXTB3WgEpD0TmHAjRvPGEKitILo6Lyh+4AEkCbGIM=; b=Opoi9GD4Poiler8iBjfTTek2JWiYrX6Bh86X8uWLRYxijeLefGeJr3KchOBGwczbZ1 UwQIzK/5A5FHE5rvKgrrlxsn+g9YmreiiuzrN7hCYH50AQtMMmqeCCPHQeS6PDOckHlm bjKmc5jhtnKyrUtzuYvxRhzpITxY6riVt56HleQ5RGodlgorAyJedebtmx/+t4UBHmyK B328XGJWfJhPAqMx3IBhzyFI1IQ0fYMZ40ke1CeL9ok46eI3binvBn9sYO8X4GVCM2Ks k9KDNlPVZ00WJCNlqELRurdN1xaO97iTvV4pG1NcjsyAHbxDvPT6ok1cr0BeoALTsX2d xx0A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i23si8487068ejv.110.2021.03.09.01.42.40; Tue, 09 Mar 2021 01:43:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229546AbhCIJji (ORCPT + 99 others); Tue, 9 Mar 2021 04:39:38 -0500 Received: from mx2.suse.de ([195.135.220.15]:48242 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230086AbhCIJjO (ORCPT ); Tue, 9 Mar 2021 04:39:14 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id C85F4AB8C; Tue, 9 Mar 2021 09:39:13 +0000 (UTC) Date: Tue, 9 Mar 2021 10:39:12 +0100 From: Michal =?iso-8859-1?Q?Such=E1nek?= To: Davidlohr Bueso Cc: npiggin@gmail.com, Davidlohr Bueso , peterz@infradead.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, mingo@redhat.com, paulus@samba.org, longman@redhat.com, will@kernel.org Subject: Re: [PATCH 3/3] powerpc/qspinlock: Use generic smp_cond_load_relaxed Message-ID: <20210309093912.GW6564@kitsune.suse.cz> References: <20210309015950.27688-1-dave@stgolabs.net> <20210309015950.27688-4-dave@stgolabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210309015950.27688-4-dave@stgolabs.net> User-Agent: Mutt/1.11.3 (2019-02-01) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 08, 2021 at 05:59:50PM -0800, Davidlohr Bueso wrote: > 49a7d46a06c3 (powerpc: Implement smp_cond_load_relaxed()) added > busy-waiting pausing with a preferred SMT priority pattern, lowering > the priority (reducing decode cycles) during the whole loop slowpath. > > However, data shows that while this pattern works well with simple ^^^^^^^^^^^^^^^^^^^^^^ > spinlocks, queued spinlocks benefit more being kept in medium priority, > with a cpu_relax() instead, being a low+medium combo on powerpc. ... > > diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h > index aecfde829d5d..7ae29cfb06c0 100644 > --- a/arch/powerpc/include/asm/barrier.h > +++ b/arch/powerpc/include/asm/barrier.h > @@ -80,22 +80,6 @@ do { \ > ___p1; \ > }) > > -#ifdef CONFIG_PPC64 Maybe it should be kept for the simple spinlock case then? Thanks Michal > -#define smp_cond_load_relaxed(ptr, cond_expr) ({ \ > - typeof(ptr) __PTR = (ptr); \ > - __unqual_scalar_typeof(*ptr) VAL; \ > - VAL = READ_ONCE(*__PTR); \ > - if (unlikely(!(cond_expr))) { \ > - spin_begin(); \ > - do { \ > - VAL = READ_ONCE(*__PTR); \ > - } while (!(cond_expr)); \ > - spin_end(); \ > - } \ > - (typeof(*ptr))VAL; \ > -}) > -#endif > - > #ifdef CONFIG_PPC_BOOK3S_64 > #define NOSPEC_BARRIER_SLOT nop > #elif defined(CONFIG_PPC_FSL_BOOK3E) > -- > 2.26.2 >