From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 378EFC433E0 for ; Mon, 18 May 2020 18:17:40 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ED81B20671 for ; Mon, 18 May 2020 18:17:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED81B20671 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 49QnL916kXzDqJt for ; Tue, 19 May 2020 04:17:37 +1000 (AEST) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=intel.com (client-ip=134.134.136.20; helo=mga02.intel.com; envelope-from=ira.weiny@intel.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=intel.com Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 49QnBx3bgkzDqjp for ; Tue, 19 May 2020 04:11:12 +1000 (AEST) IronPort-SDR: jlCpBaZZMiiNPT33ZH4iz/Ilk/dhdglvFJB70U2k1d/7QazKzS65GaBBi+o1/nx3b9nGwzNwz1 BJaj03uzd0/A== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 11:11:08 -0700 IronPort-SDR: 4PTj0JCNuHA2KBITWxMsHBG0lvanYZRK6CkXelcZuJd9rLLbOv9o5Xe4vuYLc2cXwOltPBKNMq LeWae4iARKuw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,407,1583222400"; d="scan'208";a="308177709" Received: from iweiny-desk2.sc.intel.com ([10.3.52.147]) by FMSMGA003.fm.intel.com with ESMTP; 18 May 2020 11:11:08 -0700 Date: Mon, 18 May 2020 11:11:08 -0700 From: Ira Weiny To: Guenter Roeck Subject: Re: [PATCH V3 07/15] arch/kunmap_atomic: Consolidate duplicate code Message-ID: <20200518181107.GC3025231@iweiny-DESK2.sc.intel.com> References: <20200507150004.1423069-1-ira.weiny@intel.com> <20200507150004.1423069-8-ira.weiny@intel.com> <20200516223306.GA161252@roeck-us.net> <20200518034938.GA3023182@iweiny-DESK2.sc.intel.com> <20200518042932.GA59205@roeck-us.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200518042932.GA59205@roeck-us.net> User-Agent: Mutt/1.11.1 (2018-12-01) X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Zijlstra , Dave Hansen , dri-devel@lists.freedesktop.org, linux-mips@vger.kernel.org, "James E.J. Bottomley" , Max Filippov , Paul Mackerras , "H. Peter Anvin" , sparclinux@vger.kernel.org, Dan Williams , Helge Deller , x86@kernel.org, linux-csky@vger.kernel.org, Christoph Hellwig , Ingo Molnar , linux-snps-arc@lists.infradead.org, linux-xtensa@linux-xtensa.org, Borislav Petkov , Al Viro , Andy Lutomirski , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, Chris Zankel , Thomas Bogendoerfer , linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org, Christian Koenig , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" On Sun, May 17, 2020 at 09:29:32PM -0700, Guenter Roeck wrote: > On Sun, May 17, 2020 at 08:49:39PM -0700, Ira Weiny wrote: > > On Sat, May 16, 2020 at 03:33:06PM -0700, Guenter Roeck wrote: > > > On Thu, May 07, 2020 at 07:59:55AM -0700, ira.weiny@intel.com wrote: > > > > From: Ira Weiny > > > > > > > > Every single architecture (including !CONFIG_HIGHMEM) calls... > > > > > > > > pagefault_enable(); > > > > preempt_enable(); > > > > > > > > ... before returning from __kunmap_atomic(). Lift this code into the > > > > kunmap_atomic() macro. > > > > > > > > While we are at it rename __kunmap_atomic() to kunmap_atomic_high() to > > > > be consistent. > > > > > > > > Reviewed-by: Christoph Hellwig > > > > Signed-off-by: Ira Weiny > > > > > > This patch results in: > > > > > > Starting init: /bin/sh exists but couldn't execute it (error -14) > > > > > > when trying to boot microblazeel:petalogix-ml605 in qemu. > > > > Thanks for the report. I'm not readily seeing the issue. > > > > Do you have a kernel config? Specifically is CONFIG_HIGHMEM set? > > > See below. Yes, CONFIG_HIGHMEM is set. > > The scripts used to build and boot the image are at: > > https://github.com/groeck/linux-build-test/tree/master/rootfs/microblazeel > > Hope this helps, Thank you ... Could you try the following patch? commit 82c284b2bb74ca195dfcd35b70a175f010b9fd46 (HEAD -> lm-kmap17) Author: Ira Weiny Date: Mon May 18 11:01:10 2020 -0700 microblaze/kmap: Don't enable pagefault/preempt twice The kunmap_atomic clean up failed to remove the pagefault/preempt enables on this path. Fixes: bee2128a09e6 ("arch/kunmap_atomic: consolidate duplicate code") Signed-off-by: Ira Weiny diff --git a/arch/microblaze/mm/highmem.c b/arch/microblaze/mm/highmem.c index ee8a422b2b76..92e0890416c9 100644 --- a/arch/microblaze/mm/highmem.c +++ b/arch/microblaze/mm/highmem.c @@ -57,11 +57,8 @@ void kunmap_atomic_high(void *kvaddr) int type; unsigned int idx; - if (vaddr < __fix_to_virt(FIX_KMAP_END)) { - pagefault_enable(); - preempt_enable(); + if (vaddr < __fix_to_virt(FIX_KMAP_END)) return; - } type = kmap_atomic_idx();