[PATCH V3 07/15] arch/kunmap_atomic: Consolidate duplicate code

Ira Weiny ira.weiny at intel.com
Mon May 18 13:49:39 AEST 2020


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 at intel.com wrote:
> > From: Ira Weiny <ira.weiny at intel.com>
> > 
> > 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 <hch at lst.de>
> > Signed-off-by: Ira Weiny <ira.weiny at intel.com>
> 
> 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?

> 
> Bisect log attached.
> 
> Guenter
> 
> ---
> # bad: [bdecf38f228bcca73b31ada98b5b7ba1215eb9c9] Add linux-next specific files for 20200515
> # good: [2ef96a5bb12be62ef75b5828c0aab838ebb29cb8] Linux 5.7-rc5
> git bisect start 'HEAD' 'v5.7-rc5'
> # good: [3674d7aa7a8e61d993886c2fb7c896c5ef85e988] Merge remote-tracking branch 'crypto/master'
> git bisect good 3674d7aa7a8e61d993886c2fb7c896c5ef85e988
> # good: [87f6f21783522e6d62127cf33ae5e95f50874beb] Merge remote-tracking branch 'spi/for-next'
> git bisect good 87f6f21783522e6d62127cf33ae5e95f50874beb
> # good: [5c428e8277d5d97c85126387d4e00aa5adde4400] Merge remote-tracking branch 'staging/staging-next'
> git bisect good 5c428e8277d5d97c85126387d4e00aa5adde4400
> # good: [f68de67ed934e7bdef4799fd7777c86f33f14982] Merge remote-tracking branch 'hyperv/hyperv-next'
> git bisect good f68de67ed934e7bdef4799fd7777c86f33f14982
> # bad: [54acd2dc52b069da59639eea0d0c92726f32fb01] mm/memblock: fix a typo in comment "implict"->"implicit"
> git bisect bad 54acd2dc52b069da59639eea0d0c92726f32fb01
> # good: [784a17aa58a529b84f7cc50f351ed4acf3bd11f3] mm: remove the pgprot argument to __vmalloc
> git bisect good 784a17aa58a529b84f7cc50f351ed4acf3bd11f3
> # good: [6cd8137ff37e9a37aee2d2a8889c8beb8eab192f] khugepaged: replace the usage of system(3) in the test
> git bisect good 6cd8137ff37e9a37aee2d2a8889c8beb8eab192f
> # bad: [6987da379826ed01b8a1cf046b67cc8cc10117cc] sparc: remove unnecessary includes
> git bisect bad 6987da379826ed01b8a1cf046b67cc8cc10117cc
> # good: [bc17b545388f64c09e83e367898e28f60277c584] mm/hugetlb: define a generic fallback for is_hugepage_only_range()
> git bisect good bc17b545388f64c09e83e367898e28f60277c584
> # bad: [9b5aa5b43f957f03a1f4a9aff5f7924e2ebbc011] arch-kmap_atomic-consolidate-duplicate-code-checkpatch-fixes
> git bisect bad 9b5aa5b43f957f03a1f4a9aff5f7924e2ebbc011
> # good: [0941a38ff0790c1004270f952067a5918a4ba32d] arch/kmap: remove redundant arch specific kmaps
> git bisect good 0941a38ff0790c1004270f952067a5918a4ba32d
> # good: [56e635a64c2cbfa815c851af10e0f811e809977b] arch-kunmap-remove-duplicate-kunmap-implementations-fix
> git bisect good 56e635a64c2cbfa815c851af10e0f811e809977b
> # bad: [60f96b2233c790d4f1c49317643051f1670bcb29] arch/kmap_atomic: consolidate duplicate code
> git bisect bad 60f96b2233c790d4f1c49317643051f1670bcb29
> # good: [7b3708dc3bf72a647243064fe7ddf9a76248ddfd] {x86,powerpc,microblaze}/kmap: move preempt disable
> git bisect good 7b3708dc3bf72a647243064fe7ddf9a76248ddfd
> # first bad commit: [60f96b2233c790d4f1c49317643051f1670bcb29] arch/kmap_atomic: consolidate duplicate code

I'm confused by this.  This points to an earlier commit being bad?

commit 60f96b2233c790d4f1c49317643051f1670bcb29                                 
Author: Ira Weiny <ira.weiny at intel.com>                                         
Date:   Thu May 14 13:39:54 2020 +1000                                          
                                                                                
    arch/kmap_atomic: consolidate duplicate code                                
                                                                                
    Every arch has the same code to ensure atomic operations and a check for    
    !HIGHMEM page.                                                              
                                                                                
    Remove the duplicate code by defining a core kmap_atomic() which only       
    calls the arch specific kmap_atomic_high() when the page is high memory.    
                                                                                
    Link: http://lkml.kernel.org/r/20200507150004.1423069-7-ira.weiny@intel.com 
    Signed-off-by: Ira Weiny <ira.weiny at intel.com>                              
    Reviewed-by: Christoph Hellwig <hch at lst.de>                                 
    Cc: Al Viro <viro at zeniv.linux.org.uk>                                       
    Cc: Andy Lutomirski <luto at kernel.org>                                       
    Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>                       
    Cc: Borislav Petkov <bp at alien8.de>                                          
    Cc: Christian König <christian.koenig at amd.com>                              
    Cc: Chris Zankel <chris at zankel.net>                                         
    Cc: Daniel Vetter <daniel.vetter at ffwll.ch>                                  
    Cc: Dan Williams <dan.j.williams at intel.com>                                 
    Cc: Dave Hansen <dave.hansen at linux.intel.com>                               
    Cc: "David S. Miller" <davem at davemloft.net>                                 
    Cc: Helge Deller <deller at gmx.de>                                            
    Cc: "H. Peter Anvin" <hpa at zytor.com>                                        
    Cc: Ingo Molnar <mingo at redhat.com>                                          
    Cc: "James E.J. Bottomley" <James.Bottomley at HansenPartnership.com>          
    Cc: Max Filippov <jcmvbkbc at gmail.com>                                       
    Cc: Paul Mackerras <paulus at samba.org>                                       
    Cc: Peter Zijlstra <peterz at infradead.org>                                   
    Cc: Thomas Bogendoerfer <tsbogend at alpha.franken.de>                         
    Cc: Thomas Gleixner <tglx at linutronix.de>                                             
    Signed-off-by: Andrew Morton <akpm at linux-foundation.org>                    
    Signed-off-by: Stephen Rothwell <sfr at canb.auug.org.au>                      


Any idea which one it is?

Ira



More information about the Linuxppc-dev mailing list