* [powerpc:next-test 76/183] arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: syntax error; found `@', expected `,'
From: kernel test robot @ 2020-10-06 20:41 UTC (permalink / raw)
To: Michael Ellerman; +Cc: clang-built-linux, kbuild-all, linuxppc-dev
[-- Attachment #1: Type: text/plain, Size: 15939 bytes --]
Hi Michael,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
head: 72cdd117c449896c707fc6cfe5b90978160697d0
commit: 231b232df8f67e7d37af01259c21f2a131c3911e [76/183] powerpc/64: Make VDSO32 track COMPAT on 64-bit
config: powerpc-randconfig-r033-20201005 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1127662c6dc2a276839c75a42238b11a3ad00f32)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=231b232df8f67e7d37af01259c21f2a131c3911e
git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
git fetch --no-tags powerpc next-test
git checkout 231b232df8f67e7d37af01259c21f2a131c3911e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/powerpc/kernel/vdso32/gettimeofday.S: Assembler messages:
>> arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: syntax error; found `@', expected `,'
>> arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: junk at end of line: `@local'
arch/powerpc/kernel/vdso32/gettimeofday.S:68: Warning: invalid register expression
>> arch/powerpc/kernel/vdso32/gettimeofday.S:68: Error: operand out of range (3 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:68: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:69: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:69: Error: operand out of range (3 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:69: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:72: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:72: Error: operand out of range (3 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:72: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:73: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:73: Error: operand out of range (3 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:73: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:86: Error: syntax error; found `@', expected `,'
arch/powerpc/kernel/vdso32/gettimeofday.S:86: Error: junk at end of line: `@local'
arch/powerpc/kernel/vdso32/gettimeofday.S:110: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:110: Error: operand out of range (8 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:110: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:144: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:144: Error: missing operand
arch/powerpc/kernel/vdso32/gettimeofday.S:213: Warning: invalid register expression
arch/powerpc/kernel/vdso32/gettimeofday.S:213: Error: operand out of range (4 is not between 0 and 1)
arch/powerpc/kernel/vdso32/gettimeofday.S:213: Error: missing operand
clang-12: error: assembler command failed with exit code 1 (use -v to see invocation)
vim +40 arch/powerpc/kernel/vdso32/gettimeofday.S
597bc5c00b666fe Paul Mackerras 2008-10-27 22
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 23 .text
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 24 /*
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 25 * Exact prototype of gettimeofday
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 26 *
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 27 * int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz);
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 28 *
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 29 */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 30 V_FUNCTION_BEGIN(__kernel_gettimeofday)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 31 .cfi_startproc
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 32 mflr r12
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 33 .cfi_register lr,r12
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 34
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 35 mr. r10,r3 /* r10 saves tv */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 36 mr r11,r4 /* r11 saves tz */
ec0895f08f99515 Christophe Leroy 2019-12-02 37 get_datapage r9, r0
74609f4536f2b8f Tony Breeds 2007-06-26 38 beq 3f
6e2f9e9cfd560f5 Christophe Leroy 2019-12-02 39 LOAD_REG_IMMEDIATE(r7, 1000000) /* load up USEC_PER_SEC */
8fd63a9ea752846 Paul Mackerras 2010-06-20 @40 bl __do_get_tspec@local /* get sec/usec from tb & kernel */
8fd63a9ea752846 Paul Mackerras 2010-06-20 41 stw r3,TVAL32_TV_SEC(r10)
8fd63a9ea752846 Paul Mackerras 2010-06-20 42 stw r4,TVAL32_TV_USEC(r10)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 43
74609f4536f2b8f Tony Breeds 2007-06-26 44 3: cmplwi r11,0 /* check if tz is NULL */
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 45 mtlr r12
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 46 crclr cr0*4+so
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 47 li r3,0
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 48 beqlr
bfc2eae0ad72a43 Christophe Leroy 2019-12-02 49
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 50 lwz r4,CFG_TZ_MINUTEWEST(r9)/* fill tz */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 51 lwz r5,CFG_TZ_DSTTIME(r9)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 52 stw r4,TZONE_TZ_MINWEST(r11)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 53 stw r5,TZONE_TZ_DSTTIME(r11)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 54
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 55 blr
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 56 .cfi_endproc
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 57 V_FUNCTION_END(__kernel_gettimeofday)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 58
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 59 /*
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 60 * Exact prototype of clock_gettime()
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 61 *
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 62 * int __kernel_clock_gettime(clockid_t clock_id, struct timespec *tp);
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 63 *
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 64 */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 65 V_FUNCTION_BEGIN(__kernel_clock_gettime)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 66 .cfi_startproc
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 67 /* Check for supported clock IDs */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 @68 cmpli cr0,r3,CLOCK_REALTIME
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 69 cmpli cr1,r3,CLOCK_MONOTONIC
0c37ec2aa88bd8a Benjamin Herrenschmidt 2005-11-14 70 cror cr0*4+eq,cr0*4+eq,cr1*4+eq
654abc69ef2e697 Christophe Leroy 2019-12-02 71
654abc69ef2e697 Christophe Leroy 2019-12-02 72 cmpli cr5,r3,CLOCK_REALTIME_COARSE
654abc69ef2e697 Christophe Leroy 2019-12-02 73 cmpli cr6,r3,CLOCK_MONOTONIC_COARSE
654abc69ef2e697 Christophe Leroy 2019-12-02 74 cror cr5*4+eq,cr5*4+eq,cr6*4+eq
654abc69ef2e697 Christophe Leroy 2019-12-02 75
654abc69ef2e697 Christophe Leroy 2019-12-02 76 cror cr0*4+eq,cr0*4+eq,cr5*4+eq
654abc69ef2e697 Christophe Leroy 2019-12-02 77 bne cr0, .Lgettime_fallback
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 78
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 79 mflr r12 /* r12 saves lr */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 80 .cfi_register lr,r12
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 81 mr r11,r4 /* r11 saves tp */
ec0895f08f99515 Christophe Leroy 2019-12-02 82 get_datapage r9, r0
6e2f9e9cfd560f5 Christophe Leroy 2019-12-02 83 LOAD_REG_IMMEDIATE(r7, NSEC_PER_SEC) /* load up NSEC_PER_SEC */
654abc69ef2e697 Christophe Leroy 2019-12-02 84 beq cr5, .Lcoarse_clocks
654abc69ef2e697 Christophe Leroy 2019-12-02 85 .Lprecise_clocks:
654abc69ef2e697 Christophe Leroy 2019-12-02 86 bl __do_get_tspec@local /* get sec/nsec from tb & kernel */
654abc69ef2e697 Christophe Leroy 2019-12-02 87 bne cr1, .Lfinish /* not monotonic -> all done */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 88
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 89 /*
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 90 * CLOCK_MONOTONIC
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 91 */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 92
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 93 /* now we must fixup using wall to monotonic. We need to snapshot
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 94 * that value and do the counter trick again. Fortunately, we still
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 95 * have the counter value in r8 that was returned by __do_get_xsec.
597bc5c00b666fe Paul Mackerras 2008-10-27 96 * At this point, r3,r4 contain our sec/nsec values, r5 and r6
597bc5c00b666fe Paul Mackerras 2008-10-27 97 * can be used, r7 contains NSEC_PER_SEC.
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 98 */
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 99
dd9a994fc68d196 Christophe Leroy 2019-04-04 100 lwz r5,(WTOM_CLOCK_SEC+LOPART)(r9)
597bc5c00b666fe Paul Mackerras 2008-10-27 101 lwz r6,WTOM_CLOCK_NSEC(r9)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 102
597bc5c00b666fe Paul Mackerras 2008-10-27 103 /* We now have our offset in r5,r6. We create a fake dependency
597bc5c00b666fe Paul Mackerras 2008-10-27 104 * on that value and re-check the counter
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 105 */
597bc5c00b666fe Paul Mackerras 2008-10-27 106 or r0,r6,r5
597bc5c00b666fe Paul Mackerras 2008-10-27 107 xor r0,r0,r0
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 108 add r9,r9,r0
597bc5c00b666fe Paul Mackerras 2008-10-27 109 lwz r0,(CFG_TB_UPDATE_COUNT+LOPART)(r9)
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 110 cmpl cr0,r8,r0 /* check if updated */
654abc69ef2e697 Christophe Leroy 2019-12-02 111 bne- .Lprecise_clocks
654abc69ef2e697 Christophe Leroy 2019-12-02 112 b .Lfinish_monotonic
654abc69ef2e697 Christophe Leroy 2019-12-02 113
654abc69ef2e697 Christophe Leroy 2019-12-02 114 /*
654abc69ef2e697 Christophe Leroy 2019-12-02 115 * For coarse clocks we get data directly from the vdso data page, so
654abc69ef2e697 Christophe Leroy 2019-12-02 116 * we don't need to call __do_get_tspec, but we still need to do the
654abc69ef2e697 Christophe Leroy 2019-12-02 117 * counter trick.
654abc69ef2e697 Christophe Leroy 2019-12-02 118 */
654abc69ef2e697 Christophe Leroy 2019-12-02 119 .Lcoarse_clocks:
654abc69ef2e697 Christophe Leroy 2019-12-02 120 lwz r8,(CFG_TB_UPDATE_COUNT+LOPART)(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 121 andi. r0,r8,1 /* pending update ? loop */
654abc69ef2e697 Christophe Leroy 2019-12-02 122 bne- .Lcoarse_clocks
654abc69ef2e697 Christophe Leroy 2019-12-02 123 add r9,r9,r0 /* r0 is already 0 */
654abc69ef2e697 Christophe Leroy 2019-12-02 124
654abc69ef2e697 Christophe Leroy 2019-12-02 125 /*
654abc69ef2e697 Christophe Leroy 2019-12-02 126 * CLOCK_REALTIME_COARSE, below values are needed for MONOTONIC_COARSE
654abc69ef2e697 Christophe Leroy 2019-12-02 127 * too
654abc69ef2e697 Christophe Leroy 2019-12-02 128 */
654abc69ef2e697 Christophe Leroy 2019-12-02 129 lwz r3,STAMP_XTIME_SEC+LOPART(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 130 lwz r4,STAMP_XTIME_NSEC+LOPART(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 131 bne cr6,1f
654abc69ef2e697 Christophe Leroy 2019-12-02 132
654abc69ef2e697 Christophe Leroy 2019-12-02 133 /* CLOCK_MONOTONIC_COARSE */
654abc69ef2e697 Christophe Leroy 2019-12-02 134 lwz r5,(WTOM_CLOCK_SEC+LOPART)(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 135 lwz r6,WTOM_CLOCK_NSEC(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 136
654abc69ef2e697 Christophe Leroy 2019-12-02 137 /* check if counter has updated */
654abc69ef2e697 Christophe Leroy 2019-12-02 138 or r0,r6,r5
654abc69ef2e697 Christophe Leroy 2019-12-02 139 1: or r0,r0,r3
654abc69ef2e697 Christophe Leroy 2019-12-02 140 or r0,r0,r4
654abc69ef2e697 Christophe Leroy 2019-12-02 141 xor r0,r0,r0
654abc69ef2e697 Christophe Leroy 2019-12-02 142 add r3,r3,r0
654abc69ef2e697 Christophe Leroy 2019-12-02 143 lwz r0,CFG_TB_UPDATE_COUNT+LOPART(r9)
654abc69ef2e697 Christophe Leroy 2019-12-02 144 cmpl cr0,r0,r8 /* check if updated */
654abc69ef2e697 Christophe Leroy 2019-12-02 145 bne- .Lcoarse_clocks
654abc69ef2e697 Christophe Leroy 2019-12-02 146
654abc69ef2e697 Christophe Leroy 2019-12-02 147 /* Counter has not updated, so continue calculating proper values for
654abc69ef2e697 Christophe Leroy 2019-12-02 148 * sec and nsec if monotonic coarse, or just return with the proper
654abc69ef2e697 Christophe Leroy 2019-12-02 149 * values for realtime.
654abc69ef2e697 Christophe Leroy 2019-12-02 150 */
654abc69ef2e697 Christophe Leroy 2019-12-02 151 bne cr6, .Lfinish
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 152
597bc5c00b666fe Paul Mackerras 2008-10-27 153 /* Calculate and store result. Note that this mimics the C code,
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 154 * which may cause funny results if nsec goes negative... is that
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 155 * possible at all ?
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 156 */
654abc69ef2e697 Christophe Leroy 2019-12-02 157 .Lfinish_monotonic:
597bc5c00b666fe Paul Mackerras 2008-10-27 158 add r3,r3,r5
597bc5c00b666fe Paul Mackerras 2008-10-27 159 add r4,r4,r6
597bc5c00b666fe Paul Mackerras 2008-10-27 160 cmpw cr0,r4,r7
597bc5c00b666fe Paul Mackerras 2008-10-27 161 cmpwi cr1,r4,0
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 162 blt 1f
597bc5c00b666fe Paul Mackerras 2008-10-27 163 subf r4,r7,r4
a7f290dad32ee34 Benjamin Herrenschmidt 2005-11-11 164 addi r3,r3,1
654abc69ef2e697 Christophe Leroy 2019-12-02 165 1: bge cr1, .Lfinish
0c37ec2aa88bd8a Benjamin Herrenschmidt 2005-11-14 166 addi r3,r3,-1
597bc5c00b666fe Paul Mackerras 2008-10-27 167 add r4,r4,r7
597bc5c00b666fe Paul Mackerras 2008-10-27 168
:::::: The code at line 40 was first introduced by commit
:::::: 8fd63a9ea7528463211a6c88d500c51851d960c8 powerpc: Rework VDSO gettimeofday to prevent time going backwards
:::::: TO: Paul Mackerras <paulus@samba.org>
:::::: CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29000 bytes --]
^ permalink raw reply
* [powerpc:merge] BUILD SUCCESS d1def5df359f3f1882cc29d8baa5cd2a4861a6c6
From: kernel test robot @ 2020-10-07 2:12 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git merge
branch HEAD: d1def5df359f3f1882cc29d8baa5cd2a4861a6c6 Automatic merge of 'master' into merge (2020-10-05 14:10)
elapsed time: 2819m
configs tested: 196
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
mips cavium_octeon_defconfig
sh se7724_defconfig
mips pic32mzda_defconfig
m68k m5275evb_defconfig
powerpc rainier_defconfig
sh apsh4ad0a_defconfig
arm ixp4xx_defconfig
mips bcm63xx_defconfig
m68k mvme16x_defconfig
ia64 generic_defconfig
powerpc acadia_defconfig
mips bmips_be_defconfig
mips ip28_defconfig
mips omega2p_defconfig
mips pistachio_defconfig
sh se7721_defconfig
mips malta_qemu_32r6_defconfig
powerpc katmai_defconfig
mips ath79_defconfig
powerpc skiroot_defconfig
powerpc mpc5200_defconfig
arm zeus_defconfig
powerpc mpc834x_itx_defconfig
powerpc obs600_defconfig
powerpc mpc8313_rdb_defconfig
sh sh7710voipgw_defconfig
powerpc tqm8541_defconfig
arm axm55xx_defconfig
arm moxart_defconfig
mips xway_defconfig
sh ul2_defconfig
riscv rv32_defconfig
sh sh7724_generic_defconfig
arm64 alldefconfig
powerpc g5_defconfig
arm sunxi_defconfig
powerpc mpc8272_ads_defconfig
arm magician_defconfig
arm lpc32xx_defconfig
arm clps711x_defconfig
arm hisi_defconfig
powerpc stx_gp3_defconfig
powerpc ksi8560_defconfig
arm imx_v6_v7_defconfig
arm mvebu_v5_defconfig
powerpc tqm8555_defconfig
mips e55_defconfig
sh espt_defconfig
powerpc tqm8548_defconfig
powerpc makalu_defconfig
arm lpc18xx_defconfig
arm exynos_defconfig
powerpc ppa8548_defconfig
h8300 edosk2674_defconfig
parisc generic-64bit_defconfig
sh secureedge5410_defconfig
mips ip32_defconfig
sh apsh4a3a_defconfig
arc hsdk_defconfig
arm multi_v5_defconfig
xtensa alldefconfig
h8300 h8s-sim_defconfig
powerpc ge_imp3a_defconfig
mips malta_kvm_defconfig
csky alldefconfig
parisc generic-32bit_defconfig
sh se7705_defconfig
sh alldefconfig
arm footbridge_defconfig
c6x evmc6472_defconfig
sh ecovec24_defconfig
powerpc socrates_defconfig
powerpc walnut_defconfig
sh ecovec24-romimage_defconfig
sh r7785rp_defconfig
arm pxa168_defconfig
nios2 alldefconfig
m68k m5208evb_defconfig
powerpc eiger_defconfig
mips tb0226_defconfig
mips nlm_xlr_defconfig
sh se7722_defconfig
m68k m5272c3_defconfig
powerpc mpc85xx_cds_defconfig
powerpc ep88xc_defconfig
powerpc redwood_defconfig
sh rsk7269_defconfig
arm alldefconfig
powerpc mpc885_ads_defconfig
powerpc akebono_defconfig
powerpc mvme5100_defconfig
sh edosk7705_defconfig
arm vt8500_v6_v7_defconfig
sh urquell_defconfig
riscv nommu_virt_defconfig
mips mpc30x_defconfig
arm spear3xx_defconfig
m68k bvme6000_defconfig
arm palmz72_defconfig
powerpc mpc836x_mds_defconfig
powerpc mpc837x_rdb_defconfig
arc axs101_defconfig
sh landisk_defconfig
arm sama5_defconfig
sh sh7785lcr_defconfig
powerpc iss476-smp_defconfig
mips maltasmvp_eva_defconfig
powerpc mpc834x_itxgp_defconfig
s390 alldefconfig
arm h5000_defconfig
arm integrator_defconfig
arm orion5x_defconfig
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k allmodconfig
m68k defconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
c6x allyesconfig
nds32 defconfig
nios2 allyesconfig
csky defconfig
alpha defconfig
alpha allyesconfig
xtensa allyesconfig
h8300 allyesconfig
arc defconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
parisc allyesconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
mips allyesconfig
mips allmodconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a004-20201006
x86_64 randconfig-a002-20201006
x86_64 randconfig-a001-20201006
x86_64 randconfig-a005-20201006
x86_64 randconfig-a003-20201006
x86_64 randconfig-a006-20201006
i386 randconfig-a006-20201005
i386 randconfig-a005-20201005
i386 randconfig-a001-20201005
i386 randconfig-a004-20201005
i386 randconfig-a003-20201005
i386 randconfig-a002-20201005
x86_64 randconfig-a012-20201005
x86_64 randconfig-a015-20201005
x86_64 randconfig-a014-20201005
x86_64 randconfig-a013-20201005
x86_64 randconfig-a011-20201005
x86_64 randconfig-a016-20201005
i386 randconfig-a014-20201005
i386 randconfig-a015-20201005
i386 randconfig-a013-20201005
i386 randconfig-a016-20201005
i386 randconfig-a011-20201005
i386 randconfig-a012-20201005
i386 randconfig-a014-20201007
i386 randconfig-a013-20201007
i386 randconfig-a015-20201007
i386 randconfig-a016-20201007
i386 randconfig-a011-20201007
i386 randconfig-a012-20201007
riscv nommu_k210_defconfig
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv allmodconfig
x86_64 rhel
x86_64 allyesconfig
x86_64 rhel-7.6-kselftests
x86_64 defconfig
x86_64 rhel-8.3
x86_64 kexec
clang tested configs:
x86_64 randconfig-a004-20201005
x86_64 randconfig-a002-20201005
x86_64 randconfig-a001-20201005
x86_64 randconfig-a003-20201005
x86_64 randconfig-a005-20201005
x86_64 randconfig-a006-20201005
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* [powerpc:next] BUILD REGRESSION 72cdd117c449896c707fc6cfe5b90978160697d0
From: kernel test robot @ 2020-10-07 2:18 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linuxppc-dev
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
branch HEAD: 72cdd117c449896c707fc6cfe5b90978160697d0 pseries/hotplug-memory: hot-add: skip redundant LMB lookup
Error/Warning in current branch:
arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: junk at end of line: `@local'
arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: syntax error; found `@', expected `,'
arch/powerpc/kernel/vdso32/gettimeofday.S:68: Error: operand out of range (3 is not between 0 and 1)
Error/Warning ids grouped by kconfigs:
clang_recent_errors
`-- powerpc-randconfig-r033-20201005
|-- arch-powerpc-kernel-vdso32-gettimeofday.S:Error:junk-at-end-of-line:local
|-- arch-powerpc-kernel-vdso32-gettimeofday.S:Error:operand-out-of-range-(-is-not-between-and-)
`-- arch-powerpc-kernel-vdso32-gettimeofday.S:Error:syntax-error-found-expected
elapsed time: 814m
configs tested: 207
configs skipped: 3
gcc tested configs:
arm defconfig
arm64 allyesconfig
arm64 defconfig
arm allyesconfig
arm allmodconfig
mips cavium_octeon_defconfig
arm hackkit_defconfig
arm socfpga_defconfig
sh r7780mp_defconfig
sh migor_defconfig
riscv allmodconfig
sh se7724_defconfig
mips pic32mzda_defconfig
m68k m5275evb_defconfig
powerpc rainier_defconfig
arm ixp4xx_defconfig
mips bcm63xx_defconfig
sh apsh4ad0a_defconfig
mips ip28_defconfig
mips omega2p_defconfig
mips pistachio_defconfig
sh se7721_defconfig
sh defconfig
arm mxs_defconfig
mips malta_defconfig
arm assabet_defconfig
arm collie_defconfig
mips ci20_defconfig
arm aspeed_g4_defconfig
powerpc ep88xc_defconfig
xtensa xip_kc705_defconfig
powerpc arches_defconfig
arm palmz72_defconfig
powerpc mpc5200_defconfig
arm zeus_defconfig
powerpc mpc834x_itx_defconfig
powerpc obs600_defconfig
powerpc mpc8313_rdb_defconfig
sh sh7710voipgw_defconfig
mips bigsur_defconfig
arm stm32_defconfig
arm iop32x_defconfig
arm tango4_defconfig
powerpc mpc7448_hpc2_defconfig
mips nlm_xlp_defconfig
sh sh7724_generic_defconfig
arm64 alldefconfig
powerpc g5_defconfig
arm sunxi_defconfig
powerpc mpc8272_ads_defconfig
arm magician_defconfig
arm lpc32xx_defconfig
mips pnx8335_stb225_defconfig
arm s3c6400_defconfig
sh se7619_defconfig
mips decstation_r4k_defconfig
mips fuloong2e_defconfig
sh microdev_defconfig
arm versatile_defconfig
powerpc skiroot_defconfig
powerpc sam440ep_defconfig
sh kfr2r09_defconfig
m68k mac_defconfig
sh se7343_defconfig
arm spear3xx_defconfig
arm imx_v6_v7_defconfig
arm mvebu_v5_defconfig
powerpc tqm8555_defconfig
mips e55_defconfig
nds32 defconfig
mips vocore2_defconfig
c6x evmc6474_defconfig
openrisc or1ksim_defconfig
sh lboxre2_defconfig
arm lpc18xx_defconfig
arm exynos_defconfig
powerpc ppa8548_defconfig
m68k q40_defconfig
sparc64 defconfig
h8300 edosk2674_defconfig
parisc generic-64bit_defconfig
sh secureedge5410_defconfig
mips ip32_defconfig
sh apsh4a3a_defconfig
arc hsdk_defconfig
arm multi_v5_defconfig
xtensa alldefconfig
mips ath79_defconfig
h8300 h8s-sim_defconfig
powerpc ge_imp3a_defconfig
mips malta_kvm_defconfig
csky alldefconfig
parisc generic-32bit_defconfig
sh se7705_defconfig
sh alldefconfig
arm footbridge_defconfig
c6x evmc6472_defconfig
sh ecovec24_defconfig
arm efm32_defconfig
mips ip27_defconfig
powerpc lite5200b_defconfig
arm omap1_defconfig
m68k hp300_defconfig
arm mv78xx0_defconfig
sh edosk7705_defconfig
nios2 alldefconfig
m68k m5208evb_defconfig
powerpc eiger_defconfig
mips tb0226_defconfig
mips nlm_xlr_defconfig
sh se7722_defconfig
m68k m5272c3_defconfig
m68k defconfig
powerpc mpc85xx_cds_defconfig
powerpc redwood_defconfig
sh rsk7269_defconfig
arm alldefconfig
arm vt8500_v6_v7_defconfig
sh espt_defconfig
m68k bvme6000_defconfig
powerpc mpc836x_mds_defconfig
powerpc mpc837x_rdb_defconfig
arc axs101_defconfig
sh landisk_defconfig
arm sama5_defconfig
sh sh7785lcr_defconfig
powerpc iss476-smp_defconfig
mips maltaup_xpa_defconfig
mips loongson3_defconfig
ia64 allmodconfig
ia64 defconfig
ia64 allyesconfig
m68k allmodconfig
m68k allyesconfig
nios2 defconfig
arc allyesconfig
nds32 allnoconfig
c6x allyesconfig
nios2 allyesconfig
csky defconfig
alpha defconfig
alpha allyesconfig
xtensa allyesconfig
h8300 allyesconfig
arc defconfig
sh allmodconfig
parisc defconfig
s390 allyesconfig
parisc allyesconfig
s390 defconfig
i386 allyesconfig
sparc allyesconfig
sparc defconfig
i386 defconfig
mips allyesconfig
mips allmodconfig
powerpc allyesconfig
powerpc allmodconfig
powerpc allnoconfig
x86_64 randconfig-a004-20201006
x86_64 randconfig-a002-20201006
x86_64 randconfig-a001-20201006
x86_64 randconfig-a005-20201006
x86_64 randconfig-a003-20201006
x86_64 randconfig-a006-20201006
i386 randconfig-a006-20201005
i386 randconfig-a005-20201005
i386 randconfig-a001-20201005
i386 randconfig-a004-20201005
i386 randconfig-a003-20201005
i386 randconfig-a002-20201005
x86_64 randconfig-a012-20201005
x86_64 randconfig-a015-20201005
x86_64 randconfig-a014-20201005
x86_64 randconfig-a013-20201005
x86_64 randconfig-a011-20201005
x86_64 randconfig-a016-20201005
i386 randconfig-a014-20201005
i386 randconfig-a015-20201005
i386 randconfig-a013-20201005
i386 randconfig-a016-20201005
i386 randconfig-a011-20201005
i386 randconfig-a012-20201005
i386 randconfig-a014-20201007
i386 randconfig-a013-20201007
i386 randconfig-a015-20201007
i386 randconfig-a016-20201007
i386 randconfig-a011-20201007
i386 randconfig-a012-20201007
riscv nommu_k210_defconfig
riscv allyesconfig
riscv nommu_virt_defconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
x86_64 rhel
x86_64 allyesconfig
x86_64 rhel-7.6-kselftests
x86_64 defconfig
x86_64 rhel-8.3
x86_64 kexec
clang tested configs:
x86_64 randconfig-a004-20201005
x86_64 randconfig-a002-20201005
x86_64 randconfig-a001-20201005
x86_64 randconfig-a003-20201005
x86_64 randconfig-a005-20201005
x86_64 randconfig-a006-20201005
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply
* Re: linux-next: Fixes tag needs some work in the powerpc tree
From: Michael Ellerman @ 2020-10-07 2:39 UTC (permalink / raw)
To: Stephen Rothwell, PowerPC
Cc: Linux Next Mailing List, Athira Rajeev, Linux Kernel Mailing List
In-Reply-To: <20201007000544.48aabc91@canb.auug.org.au>
Stephen Rothwell <sfr@canb.auug.org.au> writes:
> Hi all,
>
> In commit
>
> 3b6c3adbb2fa ("powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints")
>
> Fixes tag
>
> Fixes: 7ffd948 ("powerpc/perf: factor out power8 pmu functions")
>
> has these problem(s):
>
> - SHA1 should be at least 12 digits long
> Can be fixed by setting core.abbrev to 12 (or more) or (for git v2.11
> or later) just making sure it is not set (or set to "auto").
>
> Since Michael doesn't generally rebase his tree, this is more to be
> remebered for next time.
Yeah, if it was the wrong SHA I would rebase, but not just for a short
SHA.
You can avoid this in future by doing:
$ git config --add core.abbrev 12
$ git config --add pretty.fixes 'Fixes: %h ("%s")'
$ git config --add alias.showfix 'log -1 --format=fixes'
Then you can do:
$ git showfix 7ffd948
Fixes: 7ffd948fae4c ("powerpc/perf: factor out power8 pmu functions")
cheers
^ permalink raw reply
* Re: [PATCH V2] powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: mpe, Athira Rajeev; +Cc: maddy, linuxppc-dev
In-Reply-To: <1600672204-1610-1-git-send-email-atrajeev@linux.vnet.ibm.com>
On Mon, 21 Sep 2020 03:10:04 -0400, Athira Rajeev wrote:
> PMU counter support functions enforces event constraints for group of
> events to check if all events in a group can be monitored. Incase of
> event codes using PMC5 and PMC6 ( 500fa and 600f4 respectively ),
> not all constraints are applicable, say the threshold or sample bits.
> But current code includes pmc5 and pmc6 in some group constraints (like
> IC_DC Qualifier bits) which is actually not applicable and hence results
> in those events not getting counted when scheduled along with group of
> other events. Patch fixes this by excluding PMC5/6 from constraints
> which are not relevant for it.
Applied to powerpc/next.
[1/1] powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
https://git.kernel.org/powerpc/c/3b6c3adbb2fa42749c3d38cfc4d4d0b7e096bb7b
cheers
^ permalink raw reply
* Re: [PATCH v2 1/2] powerpc/rtas: Restrict RTAS requests from userspace
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Andrew Donnellan, linuxppc-dev; +Cc: nathanl, leobras.c, stable, dja
In-Reply-To: <20200820044512.7543-1-ajd@linux.ibm.com>
On Thu, 20 Aug 2020 14:45:12 +1000, Andrew Donnellan wrote:
> A number of userspace utilities depend on making calls to RTAS to retrieve
> information and update various things.
>
> The existing API through which we expose RTAS to userspace exposes more
> RTAS functionality than we actually need, through the sys_rtas syscall,
> which allows root (or anyone with CAP_SYS_ADMIN) to make any RTAS call they
> want with arbitrary arguments.
>
> [...]
Applied to powerpc/next.
[1/2] powerpc/rtas: Restrict RTAS requests from userspace
https://git.kernel.org/powerpc/c/bd59380c5ba4147dcbaad3e582b55ccfd120b764
[2/2] selftests/powerpc: Add a rtas_filter selftest
https://git.kernel.org/powerpc/c/dc9af82ea0614bb138705d1f5230d53b3b1dfb83
cheers
^ permalink raw reply
* Re: [PATCH v4] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Scott Cheloha, linuxppc-dev
Cc: Laurent Dufour, Michal Suchanek, Rick Lindsley, Nathan Lynch,
David Hildenbrand
In-Reply-To: <20200916145122.3408129-1-cheloha@linux.ibm.com>
On Wed, 16 Sep 2020 09:51:22 -0500, Scott Cheloha wrote:
> During memory hot-add, dlpar_add_lmb() calls memory_add_physaddr_to_nid()
> to determine which node id (nid) to use when later calling __add_memory().
>
> This is wasteful. On pseries, memory_add_physaddr_to_nid() finds an
> appropriate nid for a given address by looking up the LMB containing the
> address and then passing that LMB to of_drconf_to_nid_single() to get the
> nid. In dlpar_add_lmb() we get this address from the LMB itself.
>
> [...]
Applied to powerpc/next.
[1/1] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
https://git.kernel.org/powerpc/c/72cdd117c449896c707fc6cfe5b90978160697d0
cheers
^ permalink raw reply
* Re: [PATCH v3] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Scott Cheloha, linuxppc-dev
Cc: Laurent Dufour, Michal Suchanek, Rick Lindsley, Nathan Lynch,
David Hildenbrand
In-Reply-To: <20200915194647.3334645-1-cheloha@linux.ibm.com>
On Tue, 15 Sep 2020 14:46:47 -0500, Scott Cheloha wrote:
> During memory hot-add, dlpar_add_lmb() calls memory_add_physaddr_to_nid()
> to determine which node id (nid) to use when later calling __add_memory().
>
> This is wasteful. On pseries, memory_add_physaddr_to_nid() finds an
> appropriate nid for a given address by looking up the LMB containing the
> address and then passing that LMB to of_drconf_to_nid_single() to get the
> nid. In dlpar_add_lmb() we get this address from the LMB itself.
>
> [...]
Applied to powerpc/next.
[1/1] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
https://git.kernel.org/powerpc/c/72cdd117c449896c707fc6cfe5b90978160697d0
cheers
^ permalink raw reply
* Re: [PATCH] powerpc: PPC_SECURE_BOOT should not require PowerNV
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Daniel Axtens, linuxppc-dev; +Cc: Nayna Jain
In-Reply-To: <20200924014922.172914-1-dja@axtens.net>
On Thu, 24 Sep 2020 11:49:22 +1000, Daniel Axtens wrote:
> In commit 61f879d97ce4 ("powerpc/pseries: Detect secure and trusted
> boot state of the system.") we taught the kernel how to understand the
> secure-boot parameters used by a pseries guest.
>
> However, CONFIG_PPC_SECURE_BOOT still requires PowerNV. I didn't
> catch this because pseries_le_defconfig includes support for
> PowerNV and so everything still worked. Indeed, most configs will.
> Nonetheless, technically PPC_SECURE_BOOT doesn't require PowerNV
> any more.
>
> [...]
Applied to powerpc/next.
[1/1] powerpc: PPC_SECURE_BOOT should not require PowerNV
https://git.kernel.org/powerpc/c/5c5e46dad939b2bf4df04293ab9ac68abd7c1f55
cheers
^ permalink raw reply
* Re: [PATCH v2] powerpc/tm: Save and restore AMR on treclaim and trechkpt
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Gustavo Romero, linuxppc-dev; +Cc: aneesh.kumar, mikey
In-Reply-To: <20200919150025.9609-1-gromero@linux.ibm.com>
On Sat, 19 Sep 2020 12:00:25 -0300, Gustavo Romero wrote:
> Althought AMR is stashed in the checkpoint area, currently we don't save
> it to the per thread checkpoint struct after a treclaim and so we don't
> restore it either from that struct when we trechkpt. As a consequence when
> the transaction is later rolled back the kernel space AMR value when the
> trechkpt was done appears in userspace.
>
> That commit saves and restores AMR accordingly on treclaim and trechkpt.
> Since AMR value is also used in kernel space in other functions, it also
> takes care of stashing kernel live AMR into the stack before treclaim and
> before trechkpt, restoring it later, just before returning from tm_reclaim
> and __tm_recheckpoint.
>
> [...]
Applied to powerpc/next.
[1/1] powerpc/tm: Save and restore AMR on treclaim and trechkpt
https://git.kernel.org/powerpc/c/d0ffdee8ff01fb21085d835ee54dc8c1c4d19226
cheers
^ permalink raw reply
* Re: [PATCH] powerpc: switch 85xx defconfigs from legacy ide to libata
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: mpe, Christoph Hellwig; +Cc: linuxppc-dev
In-Reply-To: <20200924041310.520970-1-hch@lst.de>
On Thu, 24 Sep 2020 06:13:10 +0200, Christoph Hellwig wrote:
> Switch the 85xx defconfigs from the soon to be removed legacy ide
> driver to libata.
Applied to powerpc/next.
[1/1] powerpc: switch 85xx defconfigs from legacy ide to libata
https://git.kernel.org/powerpc/c/874dc62f548f28649ac3d7e31025b1e8cec3868a
cheers
^ permalink raw reply
* Re: [PATCH 1/6] powerpc/64: fix irq replay missing preempt
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev
In-Reply-To: <20200915114650.3980244-1-npiggin@gmail.com>
On Tue, 15 Sep 2020 21:46:45 +1000, Nicholas Piggin wrote:
> Prior to commit 3282a3da25bd ("powerpc/64: Implement soft interrupt
> replay in C"), replayed interrupts returned by the regular interrupt
> exit code, which performs preemption in case an interrupt had set
> need_resched.
>
> This logic was missed by the conversion. Adding preempt_disable/enable
> around the interrupt replay and final irq enable will reschedule if
> needed.
Patches 1-5 applied to powerpc/next.
[1/6] powerpc/64: fix irq replay missing preempt
https://git.kernel.org/powerpc/c/903fd31d3212ab72d564c68f6cfb5d04db68773e
[2/6] powerpc/64: fix irq replay pt_regs->softe value
https://git.kernel.org/powerpc/c/2b48e96be2f9f7151197fd25dc41487054bc6f5b
[3/6] powerpc/64e: remove PACA_IRQ_EE_EDGE
https://git.kernel.org/powerpc/c/012a9a97a8fd6c96d5ec64eb0583220490d95e73
[4/6] powerpc/64e: remove 64s specific interrupt soft-mask code
https://git.kernel.org/powerpc/c/903dd1ff453e458fc7608ee4df42a6df16d3d1a0
[5/6] powerpc/64: make restore_interrupts 64e only
https://git.kernel.org/powerpc/c/455575533c7aa294d3c0284d59a77ae9a60c0537
cheers
^ permalink raw reply
* Re: [PATCH] powerpc/pseries: add new branch prediction security bits for link stack
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev
In-Reply-To: <20200825075612.224656-1-npiggin@gmail.com>
On Tue, 25 Aug 2020 17:56:12 +1000, Nicholas Piggin wrote:
> The hypervisor interface has defined branch prediction security bits for
> handling the link stack. Wire them up.
Applied to powerpc/next.
[1/1] powerpc/pseries: add new branch prediction security bits for link stack
https://git.kernel.org/powerpc/c/cdb1ea0276bd6a225aa1203b4829b8c3c0d4d069
cheers
^ permalink raw reply
* Re: [PATCH v2 1/2] powerpc: untangle cputable mce include
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev
In-Reply-To: <20200916030234.4110379-1-npiggin@gmail.com>
On Wed, 16 Sep 2020 13:02:33 +1000, Nicholas Piggin wrote:
> Having cputable.h include mce.h means it pulls in a bunch of low level
> headers (e.g., synch.h) which then can't use CPU_FTR_ definitions.
Applied to powerpc/next.
[1/2] powerpc: untangle cputable mce include
https://git.kernel.org/powerpc/c/9983efa83b0a98da33807ccf5c047e204fdcac4c
[2/2] powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address
https://git.kernel.org/powerpc/c/05504b42562066ae27ce3e7dcec37f81dea476cb
cheers
^ permalink raw reply
* Re: [PATCH v2 1/9] powerpc/eeh: Rework EEH initialisation
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Oliver O'Halloran, linuxppc-dev
In-Reply-To: <20200918093050.37344-1-oohall@gmail.com>
On Fri, 18 Sep 2020 19:30:42 +1000, Oliver O'Halloran wrote:
> Drop the EEH register / unregister ops thing and have the platform pass the
> ops structure into eeh_init() directly. This takes one initcall out of the
> EEH setup path and it means we're only doing EEH setup on the platforms
> which actually support it. It's also less code and generally easier to
> follow.
>
> No functional changes.
Applied to powerpc/next.
[1/9] powerpc/eeh: Rework EEH initialisation
https://git.kernel.org/powerpc/c/d125aedb404204de0579b16028096b2cc09e4deb
[2/9] powerpc/powernv: Stop using eeh_ops->init()
https://git.kernel.org/powerpc/c/82a1ea21f1bac42eb8e3f77d5d249201855f2c85
[3/9] powerpc/pseries: Stop using eeh_ops->init()
https://git.kernel.org/powerpc/c/1f8fa0cd6a848ff072bffe0ee776554387128f60
[4/9] powerpc/eeh: Delete eeh_ops->init
https://git.kernel.org/powerpc/c/5d69e46a2104050c0a458c6bf6abba5f58f56e4c
[5/9] powerpc/eeh: Move EEH initialisation to an arch initcall
https://git.kernel.org/powerpc/c/395ee2a2a15ba1c4c7c414db24dc3082ba8feab8
[6/9] powerpc/pseries/eeh: Clean up pe_config_addr lookups
https://git.kernel.org/powerpc/c/f61c859feb5d19787c93d6b2b3d4beeca7260034
[7/9] powerpc/pseries/eeh: Rework device EEH PE determination
https://git.kernel.org/powerpc/c/98ba956f6a3891b233466b8da064f17d16dc2090
[8/9] powerpc/pseries/eeh: Allow zero to be a valid PE configuration address
https://git.kernel.org/powerpc/c/42de19d5ef71b91765266557705394e52954adb3
[9/9] powerpc/eeh: Clean up PE addressing
https://git.kernel.org/powerpc/c/35d64734b64315f2c5716c5a0a380ed1ba8fbe4a
cheers
^ permalink raw reply
* Re: [PATCH v2 00/11] Optimization to improve CPU online/offline on Powerpc
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Michael Ellerman, Srikar Dronamraju
Cc: Nathan Lynch, Gautham R Shenoy, Michael Neuling, Peter Zijlstra,
LKML, Nicholas Piggin, Ingo Molnar, Oliver O'Halloran,
Satheesh Rajendran, linuxppc-dev, Valentin Schneider
In-Reply-To: <20200921095653.9701-1-srikar@linux.vnet.ibm.com>
On Mon, 21 Sep 2020 15:26:42 +0530, Srikar Dronamraju wrote:
> Here are some optimizations and fixes to make CPU online/offline
> faster and hence result in faster bootup.
>
> Its based on top of my v5 coregroup support patchset.
> https://lore.kernel.org/linuxppc-dev/20200810071834.92514-1-srikar@linux.vnet.ibm.com/t/#u
>
> Anton reported that his 4096 cpu (1024 cores in a socket) was taking too
> long to boot. He also analyzed that most of the time was being spent on
> updating cpu_core_mask.
>
> [...]
Applied to powerpc/next.
[01/11] powerpc/topology: Update topology_core_cpumask
https://git.kernel.org/powerpc/c/4bce545903fa0290e011cf118997717f0c4f4d20
[02/11] powerpc/smp: Stop updating cpu_core_mask
https://git.kernel.org/powerpc/c/4ca234a9cbd7c3a656b34dd98c8b156f70ed7849
[03/11] powerpc/smp: Remove get_physical_package_id
https://git.kernel.org/powerpc/c/e29e9ed665eeb6f98cd88672994ecf4aaefdb943
[04/11] powerpc/smp: Optimize remove_cpu_from_masks
https://git.kernel.org/powerpc/c/70edd4a7c753ba18e3e4bb9e97b6d85156cea738
[05/11] powerpc/smp: Limit CPUs traversed to within a node.
https://git.kernel.org/powerpc/c/53516d4abacfab1faaa075c1f79957abc3da358c
[06/11] powerpc/smp: Stop passing mask to update_mask_by_l2
https://git.kernel.org/powerpc/c/1f3a4181042107e32e44047e9dde990aced845b5
[07/11] powerpc/smp: Depend on cpu_l1_cache_map when adding CPUs
https://git.kernel.org/powerpc/c/661e3d42f99193b7fdd71467a87e48f6e597c285
[08/11] powerpc/smp: Check for duplicate topologies and consolidate
https://git.kernel.org/powerpc/c/375370a10d061d5c75c6bc5b09c5db4cc0b0fcfe
[09/11] powerpc/smp: Optimize update_mask_by_l2
https://git.kernel.org/powerpc/c/3ab33d6dc3e98e83b55732049e1d1d488207bb6d
[10/11] powerpc/smp: Move coregroup mask updation to a new function
https://git.kernel.org/powerpc/c/b8a97cb4599cda28bd3b3bc13042f5803b42ad65
[11/11] powerpc/smp: Optimize update_coregroup_mask
https://git.kernel.org/powerpc/c/70a94089d7f7fa91bc1795622426b3ed017ec71a
cheers
^ permalink raw reply
* Re: [PATCH -next] powerpc/papr_scm: Fix warnings about undeclared variable
From: Michael Ellerman @ 2020-10-07 3:21 UTC (permalink / raw)
To: Wang Wensheng, linuxppc-dev
Cc: santosh, aneesh.kumar, linux-kernel, paulus, vaibhav,
dan.j.williams, ira.weiny
In-Reply-To: <20200918085951.44983-1-wangwensheng4@huawei.com>
On Fri, 18 Sep 2020 08:59:51 +0000, Wang Wensheng wrote:
> Build the kernel with 'make C=2':
> arch/powerpc/platforms/pseries/papr_scm.c:825:1: warning: symbol
> 'dev_attr_perf_stats' was not declared. Should it be static?
Applied to powerpc/next.
[1/1] powerpc/papr_scm: Fix warnings about undeclared variable
https://git.kernel.org/powerpc/c/4366337490cbe5a35b50e83755be629a502ec7e2
cheers
^ permalink raw reply
* Re: [PATCH v4] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
From: Michael Ellerman @ 2020-10-07 3:25 UTC (permalink / raw)
To: Scott Cheloha, linuxppc-dev
Cc: Nathan Lynch, Laurent Dufour, Michal Suchanek, David Hildenbrand,
Rick Lindsley
In-Reply-To: <20200916145122.3408129-1-cheloha@linux.ibm.com>
On Wed, 16 Sep 2020 09:51:22 -0500, Scott Cheloha wrote:
> During memory hot-add, dlpar_add_lmb() calls memory_add_physaddr_to_nid()
> to determine which node id (nid) to use when later calling __add_memory().
>
> This is wasteful. On pseries, memory_add_physaddr_to_nid() finds an
> appropriate nid for a given address by looking up the LMB containing the
> address and then passing that LMB to of_drconf_to_nid_single() to get the
> nid. In dlpar_add_lmb() we get this address from the LMB itself.
>
> [...]
Applied to powerpc/next.
[1/1] pseries/hotplug-memory: hot-add: skip redundant LMB lookup
https://git.kernel.org/powerpc/c/72cdd117c449896c707fc6cfe5b90978160697d0
cheers
^ permalink raw reply
* Re: [PATCH v5] powerpc/powernv/elog: Fix race while processing OPAL error log event.
From: Michael Ellerman @ 2020-10-07 3:25 UTC (permalink / raw)
To: Michael Ellerman, linuxppc-dev; +Cc: aneesh.kumar, oohall, hegdevasant
In-Reply-To: <20201006122051.190176-1-mpe@ellerman.id.au>
On Tue, 6 Oct 2020 23:20:51 +1100, Michael Ellerman wrote:
> Every error log reported by OPAL is exported to userspace through a
> sysfs interface and notified using kobject_uevent(). The userspace
> daemon (opal_errd) then reads the error log and acknowledges the error
> log is saved safely to disk. Once acknowledged the kernel removes the
> respective sysfs file entry causing respective resources to be
> released including kobject.
>
> [...]
Applied to powerpc/next.
[1/1] powerpc/powernv/elog: Fix race while processing OPAL error log event.
https://git.kernel.org/powerpc/c/aea948bb80b478ddc2448f7359d574387521a52d
cheers
^ permalink raw reply
* [PATCH 1/2] powerpc/eeh: Delete eeh_pe->config_addr
From: Oliver O'Halloran @ 2020-10-07 4:09 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Oliver O'Halloran
The eeh_pe->config_addr field was supposed to be removed in
commit 35d64734b643 ("powerpc/eeh: Clean up PE addressing") which made it
largely unused. Finish the job.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
---
mpe: the Fixes SHA is from ppc/next, fold it into that if you want.
---
arch/powerpc/include/asm/eeh.h | 1 -
arch/powerpc/kernel/eeh.c | 2 +-
arch/powerpc/kernel/eeh_pe.c | 4 ++--
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/include/asm/eeh.h b/arch/powerpc/include/asm/eeh.h
index dd6a4ac6c713..b1a5bba2e0b9 100644
--- a/arch/powerpc/include/asm/eeh.h
+++ b/arch/powerpc/include/asm/eeh.h
@@ -73,7 +73,6 @@ struct pci_dn;
struct eeh_pe {
int type; /* PE type: PHB/Bus/Device */
int state; /* PE EEH dependent mode */
- int config_addr; /* Traditional PCI address */
int addr; /* PE configuration address */
struct pci_controller *phb; /* Associated PHB */
struct pci_bus *bus; /* Top PCI bus for bus PE */
diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 87de8b798b2d..0e160dffcb86 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -466,7 +466,7 @@ int eeh_dev_check_failure(struct eeh_dev *edev)
return 0;
}
- if (!pe->addr && !pe->config_addr) {
+ if (!pe->addr) {
eeh_stats.no_cfg_addr++;
return 0;
}
diff --git a/arch/powerpc/kernel/eeh_pe.c b/arch/powerpc/kernel/eeh_pe.c
index 61b7d4019051..845e024321d4 100644
--- a/arch/powerpc/kernel/eeh_pe.c
+++ b/arch/powerpc/kernel/eeh_pe.c
@@ -354,8 +354,8 @@ int eeh_pe_tree_insert(struct eeh_dev *edev, struct eeh_pe *new_pe_parent)
pr_err("%s: out of memory!\n", __func__);
return -ENOMEM;
}
- pe->addr = edev->pe_config_addr;
- pe->config_addr = edev->bdfn;
+
+ pe->addr = edev->pe_config_addr;
/*
* Put the new EEH PE into hierarchy tree. If the parent
--
2.26.2
^ permalink raw reply related
* [PATCH 2/2] powerpc/pseries/eeh: Fix use of uninitialised variable
From: Oliver O'Halloran @ 2020-10-07 4:09 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Oliver O'Halloran
In-Reply-To: <20201007040903.819081-1-oohall@gmail.com>
If the RTAS call to query the PE address for a device fails we jump the
err: label where an error message is printed along with the return code.
However, the printed return code is from the "ret" variable which isn't set
at that point since we assigned the result to "addr" instead. Fix this by
consistently using the "ret" variable for the result of the RTAS call
helpers an dropping the "addr" local variable"
Fixes: 98ba956f6a38 ("powerpc/pseries/eeh: Rework device EEH PE determination")
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
---
arch/powerpc/platforms/pseries/eeh_pseries.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/eeh_pseries.c b/arch/powerpc/platforms/pseries/eeh_pseries.c
index d8fd5f7b2143..cf024fa37bda 100644
--- a/arch/powerpc/platforms/pseries/eeh_pseries.c
+++ b/arch/powerpc/platforms/pseries/eeh_pseries.c
@@ -363,7 +363,6 @@ void pseries_eeh_init_edev(struct pci_dn *pdn)
{
struct eeh_pe pe, *parent;
struct eeh_dev *edev;
- int addr;
u32 pcie_flags;
int ret;
@@ -422,8 +421,8 @@ void pseries_eeh_init_edev(struct pci_dn *pdn)
}
/* first up, find the pe_config_addr for the PE containing the device */
- addr = pseries_eeh_get_pe_config_addr(pdn);
- if (addr < 0) {
+ ret = pseries_eeh_get_pe_config_addr(pdn);
+ if (ret < 0) {
eeh_edev_dbg(edev, "Unable to find pe_config_addr\n");
goto err;
}
@@ -431,7 +430,7 @@ void pseries_eeh_init_edev(struct pci_dn *pdn)
/* Try enable EEH on the fake PE */
memset(&pe, 0, sizeof(struct eeh_pe));
pe.phb = pdn->phb;
- pe.addr = addr;
+ pe.addr = ret;
eeh_edev_dbg(edev, "Enabling EEH on device\n");
ret = eeh_ops->set_option(&pe, EEH_OPT_ENABLE);
@@ -440,7 +439,7 @@ void pseries_eeh_init_edev(struct pci_dn *pdn)
goto err;
}
- edev->pe_config_addr = addr;
+ edev->pe_config_addr = pe.addr;
eeh_add_flag(EEH_ENABLED);
--
2.26.2
^ permalink raw reply related
* Re: [PATCH v2 1/2] powerpc/rtas: Restrict RTAS requests from userspace
From: Andrew Donnellan @ 2020-10-07 5:10 UTC (permalink / raw)
To: Sasha Levin, linuxppc-dev; +Cc: nathanl, leobras.c, stable, dja
In-Reply-To: <20200826135348.AD06422B4B@mail.kernel.org>
On 26/8/20 11:53 pm, Sasha Levin wrote:
> How should we proceed with this patch?
mpe: I believe we came to the conclusion that we shouldn't put this in
stable just yet?
--
Andrew Donnellan OzLabs, ADL Canberra
ajd@linux.ibm.com IBM Australia Limited
^ permalink raw reply
* [PATCH v2] powerpc/mm: Update tlbiel loop on POWER10
From: Aneesh Kumar K.V @ 2020-10-07 5:33 UTC (permalink / raw)
To: linuxppc-dev, mpe; +Cc: Aneesh Kumar K.V, npiggin
With POWER10, single tlbiel instruction invalidates all the congruence
class of the TLB and hence we need to issue only one tlbiel with SET=0.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
arch/powerpc/kvm/book3s_hv.c | 7 ++++++-
arch/powerpc/kvm/book3s_hv_builtin.c | 11 ++++++++++-
arch/powerpc/mm/book3s64/radix_tlb.c | 23 ++++++++++++++++-------
3 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 3bd3118c7633..00b5c5981db5 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -4939,7 +4939,12 @@ static int kvmppc_core_init_vm_hv(struct kvm *kvm)
* Work out how many sets the TLB has, for the use of
* the TLB invalidation loop in book3s_hv_rmhandlers.S.
*/
- if (radix_enabled())
+ if (cpu_has_feature(CPU_FTR_ARCH_31)) {
+ /*
+ * P10 will flush all the congruence class with a single tlbiel
+ */
+ kvm->arch.tlb_sets = 1;
+ } else if (radix_enabled())
kvm->arch.tlb_sets = POWER9_TLB_SETS_RADIX; /* 128 */
else if (cpu_has_feature(CPU_FTR_ARCH_300))
kvm->arch.tlb_sets = POWER9_TLB_SETS_HASH; /* 256 */
diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c b/arch/powerpc/kvm/book3s_hv_builtin.c
index 073617ce83e0..2803a4b01109 100644
--- a/arch/powerpc/kvm/book3s_hv_builtin.c
+++ b/arch/powerpc/kvm/book3s_hv_builtin.c
@@ -702,6 +702,7 @@ static void wait_for_sync(struct kvm_split_mode *sip, int phase)
void kvmhv_p9_set_lpcr(struct kvm_split_mode *sip)
{
+ int num_sets;
unsigned long rb, set;
/* wait for every other thread to get to real mode */
@@ -712,11 +713,19 @@ void kvmhv_p9_set_lpcr(struct kvm_split_mode *sip)
mtspr(SPRN_LPID, sip->lpidr_req);
isync();
+ /*
+ * P10 will flush all the congruence class with a single tlbiel
+ */
+ if (cpu_has_feature(CPU_FTR_ARCH_31))
+ num_sets = 1;
+ else
+ num_sets = POWER9_TLB_SETS_RADIX;
+
/* Invalidate the TLB on thread 0 */
if (local_paca->kvm_hstate.tid == 0) {
sip->do_set = 0;
asm volatile("ptesync" : : : "memory");
- for (set = 0; set < POWER9_TLB_SETS_RADIX; ++set) {
+ for (set = 0; set < num_sets; ++set) {
rb = TLBIEL_INVAL_SET_LPID +
(set << TLBIEL_INVAL_SET_SHIFT);
asm volatile(PPC_TLBIEL(%0, %1, 0, 0, 0) : :
diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c
index 143b4fd396f0..9e76ba766b3c 100644
--- a/arch/powerpc/mm/book3s64/radix_tlb.c
+++ b/arch/powerpc/mm/book3s64/radix_tlb.c
@@ -56,14 +56,21 @@ static void tlbiel_all_isa300(unsigned int num_sets, unsigned int is)
if (early_cpu_has_feature(CPU_FTR_HVMODE)) {
/* MSR[HV] should flush partition scope translations first. */
tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 0);
- for (set = 1; set < num_sets; set++)
- tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 0);
+
+ if (!early_cpu_has_feature(CPU_FTR_ARCH_31)) {
+ for (set = 1; set < num_sets; set++)
+ tlbiel_radix_set_isa300(set, is, 0,
+ RIC_FLUSH_TLB, 0);
+ }
}
/* Flush process scoped entries. */
tlbiel_radix_set_isa300(0, is, 0, RIC_FLUSH_ALL, 1);
- for (set = 1; set < num_sets; set++)
- tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 1);
+
+ if (!early_cpu_has_feature(CPU_FTR_ARCH_31)) {
+ for (set = 1; set < num_sets; set++)
+ tlbiel_radix_set_isa300(set, is, 0, RIC_FLUSH_TLB, 1);
+ }
asm volatile("ptesync": : :"memory");
}
@@ -300,9 +307,11 @@ static __always_inline void _tlbiel_pid(unsigned long pid, unsigned long ric)
return;
}
- /* For the remaining sets, just flush the TLB */
- for (set = 1; set < POWER9_TLB_SETS_RADIX ; set++)
- __tlbiel_pid(pid, set, RIC_FLUSH_TLB);
+ if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
+ /* For the remaining sets, just flush the TLB */
+ for (set = 1; set < POWER9_TLB_SETS_RADIX ; set++)
+ __tlbiel_pid(pid, set, RIC_FLUSH_TLB);
+ }
asm volatile("ptesync": : :"memory");
asm volatile(PPC_RADIX_INVALIDATE_ERAT_USER "; isync" : : :"memory");
--
2.26.2
^ permalink raw reply related
* Re: [PATCH v2 3/4] powerpc/memhotplug: Make lmb size 64bit
From: Michael Ellerman @ 2020-10-07 5:56 UTC (permalink / raw)
To: Nathan Lynch, Aneesh Kumar K.V; +Cc: linuxppc-dev, stable
In-Reply-To: <87pn7lxe5k.fsf@linux.ibm.com>
Nathan Lynch <nathanl@linux.ibm.com> writes:
> "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> writes:
>> @@ -322,12 +322,16 @@ static int pseries_remove_mem_node(struct device_node *np)
>> /*
>> * Find the base address and size of the memblock
>> */
>> - regs = of_get_property(np, "reg", NULL);
>> - if (!regs)
>> + prop = of_get_property(np, "reg", NULL);
>> + if (!prop)
>> return ret;
>>
>> - base = be64_to_cpu(*(unsigned long *)regs);
>> - lmb_size = be32_to_cpu(regs[3]);
>> + /*
>> + * "reg" property represents (addr,size) tuple.
>> + */
>> + base = of_read_number(prop, mem_addr_cells);
>> + prop += mem_addr_cells;
>> + lmb_size = of_read_number(prop, mem_size_cells);
>
> Would of_n_size_cells() and of_n_addr_cells() work here?
Yes that should work and be cleaner.
cheers
^ permalink raw reply
* Re: [powerpc:next-test 76/183] arch/powerpc/kernel/vdso32/gettimeofday.S:40: Error: syntax error; found `@', expected `,'
From: Christophe Leroy @ 2020-10-07 6:03 UTC (permalink / raw)
To: kernel test robot, Michael Ellerman
Cc: clang-built-linux, kbuild-all, linuxppc-dev
In-Reply-To: <202010070441.K8Bb46Rt-lkp@intel.com>
Le 06/10/2020 à 22:41, kernel test robot a écrit :
> Hi Michael,
>
> First bad commit (maybe != root cause):
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next-test
> head: 72cdd117c449896c707fc6cfe5b90978160697d0
> commit: 231b232df8f67e7d37af01259c21f2a131c3911e [76/183] powerpc/64: Make VDSO32 track COMPAT on 64-bit
> config: powerpc-randconfig-r033-20201005 (attached as .config)
> compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1127662c6dc2a276839c75a42238b11a3ad00f32)
There has been already a discussion on this, see
https://groups.google.com/g/clang-built-linux/c/ayNmi3HoNdY/m/ROdg7avVBwAJ
This apparently is a clang issue. The commit mentionned here is only exposing the issue, but the
issue is not in the commit itself.
Regardless, this error should go away when we switch to the generic C VDSO.
Christophe
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox