Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp6328534ybp; Tue, 15 Oct 2019 13:12:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqzq6UX/esoxc0GRmu6/KFZvgXVnX748ovCfGKUKTatoRQudS0oYLBpFsHdEOMxOZ5nsxM3R X-Received: by 2002:aa7:de02:: with SMTP id h2mr35474814edv.212.1571170365302; Tue, 15 Oct 2019 13:12:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571170365; cv=none; d=google.com; s=arc-20160816; b=m4FnwTOD472Ay5/k89oABqZVcdWxN37S2dPolLsyv+Cf2u+6sajVtUdRKSOj3KjANQ oYS1vIG0Lp5iC6Gx/32qo8YGpLBTgWYFoVC7bcDSoq1HlTPAafmBXHJqnPl/BgUWBA67 TxZG0OkZQY2/yieQJj5On424k7rklaZF3pIFclI2K/q1Xvlml70vgjA2U7uSD4hxWp8B 924oSRoY0AaYqQPBgXrWagRkWmionyGP6tZrBS/3RYHE7bCSBLfvDGEg4Qrdja0uopFU ZyI7hcxOKn5f6ygc+Hw+aPAlyqnTQHSL+HA3F7RSpYbNPhQ0CEvDD3OcuyJVLz+G1G85 Ua8A== 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; bh=bDeERC1K5QPjnrQ3vz0wXa8jLmPYW52FktcNuhbZgBo=; b=J/8R9Kic8JuP9AMp6zOuSw6SD5BG81wVjdAuPTo864ejZbori8TuXfyO4d+Zzs2kud gOjdVYDcPZf+7nw9+SC81ywQ6Kc8xPK4DrkylinX1VFo6J7Mdggi6kTYZB4484ZQKsp/ Upj7Z7xUfGDmgwyggtbFQn81bo00li/w0XkJvZ6tiCAtwEkAUfhIXpWlKUnVJg72hwXj MkLqriZiddS5qsUhXz1+mWUkhbxus+FZPUdgxQMzVhWGfmdkXcN4caUdOiOYMog3RND8 wJOhyTKpvufaJeDJHBBGgCiVPxnlt6SfD4D0m+Uw9oGZmrX96kBbtweVUv/kUawl+56Z qWSQ== 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 k1si15560875ede.255.2019.10.15.13.12.22; Tue, 15 Oct 2019 13:12:45 -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 S2387829AbfJOQXD (ORCPT + 99 others); Tue, 15 Oct 2019 12:23:03 -0400 Received: from mx2.suse.de ([195.135.220.15]:36668 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726237AbfJOQXD (ORCPT ); Tue, 15 Oct 2019 12:23:03 -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 DACD6B63F; Tue, 15 Oct 2019 16:22:59 +0000 (UTC) Date: Tue, 15 Oct 2019 09:21:44 -0700 From: Davidlohr Bueso To: robdclark@gmail.com Cc: sean@poorly.run, dri-devel@lists.freedesktop.org, Davidlohr Bueso , linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/msm/a5xx: Fix barrier usage in set_preempt_state() Message-ID: <20191015162144.fuyc25tdwvc6ddu3@linux-p48b> References: <20191015011438.22184-1-dave@stgolabs.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <20191015011438.22184-1-dave@stgolabs.net> User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Forgot to Cc lkml. On Mon, 14 Oct 2019, Davidlohr Bueso wrote: >Because it is not a Rmw operation, atomic_set() is never serialized, >and therefore the 'upgradable' smp_mb__{before,after}_atomic() calls >that order the write to preempt_state are completely bogus. > >This patch replaces these with smp_mb(), which seems like the >original intent of when the code was written. > >Signed-off-by: Davidlohr Bueso >--- > drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > >diff --git a/drivers/gpu/drm/msm/adreno/a5xx_preempt.c b/drivers/gpu/drm/msm/adreno/a5xx_preempt.c >index 9cf9353a7ff1..d27d8d3208c6 100644 >--- a/drivers/gpu/drm/msm/adreno/a5xx_preempt.c >+++ b/drivers/gpu/drm/msm/adreno/a5xx_preempt.c >@@ -30,10 +30,10 @@ static inline void set_preempt_state(struct a5xx_gpu *gpu, > * preemption or in the interrupt handler so barriers are needed > * before... > */ >- smp_mb__before_atomic(); >+ smp_mb(); > atomic_set(&gpu->preempt_state, new); > /* ... and after*/ >- smp_mb__after_atomic(); >+ smp_mb(); > } > > /* Write the most recent wptr for the given ring into the hardware */ >-- >2.16.4 >