Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1149864pxb; Thu, 16 Sep 2021 00:24:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymrvrKc5tDXVhxSweD+Z3F7lc10EdnvnqT+okch+/rixSWaOQG9mVZxYjJ8UPcw3i9VpVj X-Received: by 2002:a05:6402:5163:: with SMTP id d3mr4968623ede.220.1631777041116; Thu, 16 Sep 2021 00:24:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631777041; cv=none; d=google.com; s=arc-20160816; b=DDxX4w9oSdA+XB702uEa9CQjp9dgI8Gu/wITtdIIfo7v8iSf30NCoLwtfutiLaEIkT jbx6NHowM68oWgQJcRisJdILwKyJoTVBLP6ja1YZ/U1qHo7OhXa6AHK+wEXFwUKsQVXD KkKuMaiuCQzhpUonpMugvgYbKslnDUM4jp8vwD1FvULOvH086ZUBfk8s/V6xk6BhCYG8 kaj5wvT8/2iI8BmtYxTE8TEsAAIbGAnNOP5+5WwOCrLJ466hC2TOMwBKrqG6I1ZEb20g oJNAfyXmlguEy9NDgBaSpyLlE6yXV8eOgh5JdS1u4+rThzLc6+ozxf6Ypa2okyV/fjH7 OobA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=yiB4puJ/Ld7tez9lRSfGuBydZ845pj9yqqdD6CpRF14=; b=WG8owlENxiWQXi5XDw6tRoM7gAZJDqEmPQn+d64pz1gQccXnZv8StLsZDjncftS7lP xo6FTJesxtFnyVkvoLJZ31gSAV5/+gnGSpJSwLcnd2lNQb5+FEdqqZISBt+dcW7GV+xo 0WqbsqUMMn9MJwrNQKEJK6U8V7hNND7CjVGmp0dZRqY1k/Tgm78fP/wVL+s5LtKF0rUN fGzr1/fiC2IL9Jv8lDekRXfVZ/IHAPMzGSNpN6mXQx/K2NtAouUPgCmDeHeeNSjZwLFu T5dE4hKVG3Td1jKUBVYeav/7lnv3ug5HvNcQxIQofDp3NqHP7pS5HWXXKhfGD+1Yx9wR 70Bw== 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 l8si2589256ejs.366.2021.09.16.00.23.36; Thu, 16 Sep 2021 00:24:01 -0700 (PDT) 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 S234693AbhIPHXV (ORCPT + 99 others); Thu, 16 Sep 2021 03:23:21 -0400 Received: from gate.crashing.org ([63.228.1.57]:33905 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232254AbhIPHXU (ORCPT ); Thu, 16 Sep 2021 03:23:20 -0400 Received: from ip6-localhost (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 18G7GUXH031599; Thu, 16 Sep 2021 02:16:36 -0500 Message-ID: Subject: Re: [PATCH] powerpc: warn on emulation of dcbz instruction From: Benjamin Herrenschmidt To: Christophe Leroy , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Stan Johnson , Finn Thain Date: Thu, 16 Sep 2021 17:16:30 +1000 In-Reply-To: <2c0fd775625c76c4dd09b3e923da4405a003f3bd.camel@kernel.crashing.org> References: <62b33ca839f3d1d7d4b64b6f56af0bbe4d2c9057.1631716292.git.christophe.leroy@csgroup.eu> <2c0fd775625c76c4dd09b3e923da4405a003f3bd.camel@kernel.crashing.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.36.5-0ubuntu1 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2021-09-16 at 17:15 +1000, Benjamin Herrenschmidt wrote: > On Wed, 2021-09-15 at 16:31 +0200, Christophe Leroy wrote: > > dcbz instruction shouldn't be used on non-cached memory. Using > > it on non-cached memory can result in alignment exception and > > implies a heavy handling. > > > > Instead of silentely emulating the instruction and resulting in > > high > > performance degradation, warn whenever an alignment exception is > > taken due to dcbz, so that the user is made aware that dcbz > > instruction has been used unexpectedly. > > > > Reported-by: Stan Johnson > > Cc: Finn Thain > > Signed-off-by: Christophe Leroy > > --- > > arch/powerpc/kernel/align.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/arch/powerpc/kernel/align.c > > b/arch/powerpc/kernel/align.c > > index bbb4181621dd..adc3a4a9c6e4 100644 > > --- a/arch/powerpc/kernel/align.c > > +++ b/arch/powerpc/kernel/align.c > > @@ -349,6 +349,7 @@ int fix_alignment(struct pt_regs *regs) > > if (op.type != CACHEOP + DCBZ) > > return -EINVAL; > > PPC_WARN_ALIGNMENT(dcbz, regs); > > + WARN_ON_ONCE(1); > > This is heavy handed ... It will be treated as an oops by various > things uselessly spit out a kernel backtrace. Isn't > PPC_WARN_ALIGNMENT > enough ? Ah I saw your other one about fbdev... Ok what about you do that in a if (!user_mode(regs)) ? Indeed the kernel should not do that. Cheers, Ben.