All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Kees Cook <keescook@chromium.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Marco Elver <elver@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: [stable:linux-5.15.y 36/9999] arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
Date: Thu, 11 May 2023 17:14:16 +0800	[thread overview]
Message-ID: <202305111705.8j4cTm2s-lkp@intel.com> (raw)

Hi Kees,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.15.y
head:   8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95
commit: 33db9912ff7c491f839c89a08e98f755aa09598f [36/9999] ubsan: remove CONFIG_UBSAN_OBJECT_SIZE
config: s390-randconfig-r022-20230509 (https://download.01.org/0day-ci/archive/20230511/202305111705.8j4cTm2s-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project b0fb98227c90adf2536c9ad644a74d5e92961111)
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 s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=33db9912ff7c491f839c89a08e98f755aa09598f
        git remote add stable https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
        git fetch --no-tags stable linux-5.15.y
        git checkout 33db9912ff7c491f839c89a08e98f755aa09598f
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash arch/s390/kernel/ arch/s390/lib/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202305111705.8j4cTm2s-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:111:2: note: expanded from macro 'ALTERNATIVE'
           ALTINSTR_REPLACEMENT(altinstr, 1)                               \
           ^
   arch/s390/include/asm/alternative.h:106:2: note: expanded from macro 'ALTINSTR_REPLACEMENT'
           INSTR_LEN_SANITY_CHECK(altinstr_len(num))
           ^
   arch/s390/include/asm/alternative.h:62:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           ".if " len " > 254\n"                                           \
            ^
   <inline asm>:7:5: note: instantiated into assembly here
   .if 6651b-6641b > 254
       ^
>> arch/s390/kernel/vtime.c:132:2: error: cpu alternatives does not support instructions blocks > 254 bytes
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:111:2: note: expanded from macro 'ALTERNATIVE'
           ALTINSTR_REPLACEMENT(altinstr, 1)                               \
           ^
   arch/s390/include/asm/alternative.h:106:2: note: expanded from macro 'ALTINSTR_REPLACEMENT'
           INSTR_LEN_SANITY_CHECK(altinstr_len(num))
           ^
   arch/s390/include/asm/alternative.h:63:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           "\t.error \"cpu alternatives does not support instructions "    \
            ^
   <inline asm>:8:2: note: instantiated into assembly here
           .error "cpu alternatives does not support instructions blocks > 254 bytes"
           ^
>> arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:111:2: note: expanded from macro 'ALTERNATIVE'
           ALTINSTR_REPLACEMENT(altinstr, 1)                               \
           ^
   arch/s390/include/asm/alternative.h:106:2: note: expanded from macro 'ALTINSTR_REPLACEMENT'
           INSTR_LEN_SANITY_CHECK(altinstr_len(num))
           ^
   arch/s390/include/asm/alternative.h:66:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           ".if (" len ") %% 2\n"                                          \
            ^
   <inline asm>:10:5: note: instantiated into assembly here
   .if (6651b-6641b) % 2
       ^
>> arch/s390/kernel/vtime.c:132:2: error: cpu alternatives instructions length is odd
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:111:2: note: expanded from macro 'ALTERNATIVE'
           ALTINSTR_REPLACEMENT(altinstr, 1)                               \
           ^
   arch/s390/include/asm/alternative.h:106:2: note: expanded from macro 'ALTINSTR_REPLACEMENT'
           INSTR_LEN_SANITY_CHECK(altinstr_len(num))
           ^
   arch/s390/include/asm/alternative.h:67:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           "\t.error \"cpu alternatives instructions length is odd\"\n"    \
            ^
   <inline asm>:11:2: note: instantiated into assembly here
           .error "cpu alternatives instructions length is odd"
           ^
>> arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:83:2: note: expanded from macro 'OLDINSTR'
           OLDINSTR_PADDING(oldinstr, num)                                 \
           ^
   arch/s390/include/asm/alternative.h:71:3: note: expanded from macro 'OLDINSTR_PADDING'
           ".if " oldinstr_pad_len(num) " > 6\n"                           \
            ^
   <inline asm>:19:5: note: instantiated into assembly here
   .if -(((6651b-6641b)-(662b-661b)) > 0) * ((6651b-6641b)-(662b-661b)) > 6
       ^
>> arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:85:2: note: expanded from macro 'OLDINSTR'
           INSTR_LEN_SANITY_CHECK(oldinstr_len)
           ^
   arch/s390/include/asm/alternative.h:62:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           ".if " len " > 254\n"                                           \
            ^
   <inline asm>:29:5: note: instantiated into assembly here
   .if 662b-661b > 254
       ^
>> arch/s390/kernel/vtime.c:132:2: error: cpu alternatives does not support instructions blocks > 254 bytes
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:85:2: note: expanded from macro 'OLDINSTR'
           INSTR_LEN_SANITY_CHECK(oldinstr_len)
           ^
   arch/s390/include/asm/alternative.h:63:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           "\t.error \"cpu alternatives does not support instructions "    \
            ^
   <inline asm>:30:2: note: instantiated into assembly here
           .error "cpu alternatives does not support instructions blocks > 254 bytes"
           ^
>> arch/s390/kernel/vtime.c:132:2: error: expected absolute expression
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:85:2: note: expanded from macro 'OLDINSTR'
           INSTR_LEN_SANITY_CHECK(oldinstr_len)
           ^
   arch/s390/include/asm/alternative.h:66:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           ".if (" len ") %% 2\n"                                          \
            ^
   <inline asm>:32:5: note: instantiated into assembly here
   .if (662b-661b) % 2
       ^
>> arch/s390/kernel/vtime.c:132:2: error: cpu alternatives instructions length is odd
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:85:2: note: expanded from macro 'OLDINSTR'
           INSTR_LEN_SANITY_CHECK(oldinstr_len)
           ^
   arch/s390/include/asm/alternative.h:67:3: note: expanded from macro 'INSTR_LEN_SANITY_CHECK'
           "\t.error \"cpu alternatives instructions length is odd\"\n"    \
            ^
   <inline asm>:33:2: note: instantiated into assembly here
           .error "cpu alternatives instructions length is odd"
           ^
>> arch/s390/kernel/vtime.c:132:2: error: invalid number of bytes
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:83:2: note: expanded from macro 'OLDINSTR'
           OLDINSTR_PADDING(oldinstr, num)                                 \
           ^
   arch/s390/include/asm/alternative.h:74:3: note: expanded from macro 'OLDINSTR_PADDING'
           "\t.fill (" oldinstr_pad_len(num) " - (6620b-662b)) / 2, 2, 0x0700\n" \
            ^
   <inline asm>:22:8: note: instantiated into assembly here
           .fill (-(((6651b-6641b)-(662b-661b)) > 0) * ((6651b-6641b)-(662b-661b)) - (6620b-662b)) / 2, 2, 0x0700
                 ^
>> arch/s390/kernel/vtime.c:132:2: error: invalid number of bytes
           alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
           ^
   arch/s390/include/asm/alternative.h:155:22: note: expanded from macro 'alternative_io'
           asm_inline volatile(ALTERNATIVE(oldinstr, altinstr, facility)   \
                               ^
   arch/s390/include/asm/alternative.h:113:2: note: expanded from macro 'ALTERNATIVE'
           OLDINSTR(oldinstr, 1)                                           \
           ^
   arch/s390/include/asm/alternative.h:83:2: note: expanded from macro 'OLDINSTR'
           OLDINSTR_PADDING(oldinstr, num)                                 \
           ^
   arch/s390/include/asm/alternative.h:74:3: note: expanded from macro 'OLDINSTR_PADDING'
           "\t.fill (" oldinstr_pad_len(num) " - (6620b-662b)) / 2, 2, 0x0700\n" \
            ^
   <inline asm>:22:8: note: instantiated into assembly here
           .fill (-(((6651b-6641b)-(662b-661b)) > 0) * ((6651b-6641b)-(662b-661b)) - (6620b-662b)) / 2, 2, 0x0700
                 ^
   11 errors generated.
--
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:67:4: note: while in macro instantiation
                   "       VSTM    8,23,128,1\n"   /* vstm %v8,%v23,128(%r1) */
                    ^
   <inline asm>:7:2: note: instantiated into assembly here
           VSTM    8,23,128,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:74:4: note: while in macro instantiation
                   "       VSTM    0,7,0,1\n"      /* vstm %v0,%v7,0(%r1) */
                    ^
   <inline asm>:13:2: note: instantiated into assembly here
           VSTM    0,7,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:76:4: note: while in macro instantiation
                   "1:     VSTM    8,15,128,1\n"   /* vstm %v8,%v15,128(%r1) */
                    ^
   <inline asm>:15:4: note: instantiated into assembly here
   1:      VSTM    8,15,128,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:78:4: note: while in macro instantiation
                   "2:     VSTM    0,15,0,1\n"     /* vstm %v0,%v15,0(%r1) */
                    ^
   <inline asm>:17:4: note: instantiated into assembly here
   2:      VSTM    0,15,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:84:4: note: while in macro instantiation
                   "       VSTM    16,23,256,1\n"  /* vstm %v16,%v23,256(%r1) */
                    ^
   <inline asm>:22:2: note: instantiated into assembly here
           VSTM    16,23,256,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:86:4: note: while in macro instantiation
                   "4:     VSTM    24,31,384,1\n"  /* vstm %v24,%v31,384(%r1) */
                    ^
   <inline asm>:24:4: note: instantiated into assembly here
   4:      VSTM    24,31,384,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:88:4: note: while in macro instantiation
                   "5:     VSTM    0,15,0,1\n"     /* vstm %v0,%v15,0(%r1) */
                    ^
   <inline asm>:26:4: note: instantiated into assembly here
   5:      VSTM    0,15,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:89:4: note: while in macro instantiation
                   "6:     VSTM    16,31,256,1\n"  /* vstm %v16,%v31,256(%r1) */
                    ^
   <inline asm>:27:4: note: instantiated into assembly here
   6:      VSTM    16,31,256,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:149:4: note: while in macro instantiation
                   "       VLM     8,23,128,1\n"   /* vlm %v8,%v23,128(%r1) */
                    ^
   <inline asm>:7:2: note: instantiated into assembly here
           VLM     8,23,128,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:156:4: note: while in macro instantiation
                   "       VLM     0,7,0,1\n"      /* vlm %v0,%v7,0(%r1) */
                    ^
   <inline asm>:13:2: note: instantiated into assembly here
           VLM     0,7,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:158:4: note: while in macro instantiation
                   "1:     VLM     8,15,128,1\n"   /* vlm %v8,%v15,128(%r1) */
                    ^
   <inline asm>:15:4: note: instantiated into assembly here
   1:      VLM     8,15,128,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:160:4: note: while in macro instantiation
                   "2:     VLM     0,15,0,1\n"     /* vlm %v0,%v15,0(%r1) */
                    ^
   <inline asm>:17:4: note: instantiated into assembly here
   2:      VLM     0,15,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:166:4: note: while in macro instantiation
                   "       VLM     16,23,256,1\n"  /* vlm %v16,%v23,256(%r1) */
                    ^
   <inline asm>:22:2: note: instantiated into assembly here
           VLM     16,23,256,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:168:4: note: while in macro instantiation
                   "4:     VLM     24,31,384,1\n"  /* vlm %v24,%v31,384(%r1) */
                    ^
   <inline asm>:24:4: note: instantiated into assembly here
   4:      VLM     24,31,384,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:170:4: note: while in macro instantiation
                   "5:     VLM     0,15,0,1\n"     /* vlm %v0,%v15,0(%r1) */
                    ^
   <inline asm>:26:4: note: instantiated into assembly here
   5:      VLM     0,15,0,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:171:4: note: while in macro instantiation
                   "6:     VLM     16,31,256,1\n"  /* vlm %v16,%v31,256(%r1) */
                    ^
   <inline asm>:27:4: note: instantiated into assembly here
   6:      VLM     16,31,256,1
           ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:187:10: note: while in macro instantiation
                                "VLM       0,15,0,1\n"
                                 ^
   <inline asm>:2:1: note: instantiated into assembly here
   VLM     0,15,0,1
   ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:188:10: note: while in macro instantiation
                                "VLM       16,31,256,1\n"
                                 ^
   <inline asm>:3:1: note: instantiated into assembly here
   VLM     16,31,256,1
   ^
>> <instantiation>:3:19: error: too many positional arguments
           GR_NUM  b2, 1       /* Base register */
                               ^
   arch/s390/kernel/fpu.c:238:10: note: while in macro instantiation
                                "VSTM      0,15,0,1\n"
                                 ^
   <inline asm>:2:1: note: instantiated into assembly here
   VSTM    0,15,0,1
   ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.
..


vim +132 arch/s390/kernel/vtime.c

b7394a5f4ce954 Martin Schwidefsky  2017-01-05  120  
^1da177e4c3f41 Linus Torvalds      2005-04-16  121  /*
^1da177e4c3f41 Linus Torvalds      2005-04-16  122   * Update process times based on virtual cpu times stored by entry.S
^1da177e4c3f41 Linus Torvalds      2005-04-16  123   * to the lowcore fields user_timer, system_timer & steal_clock.
^1da177e4c3f41 Linus Torvalds      2005-04-16  124   */
8f2b468aadc81c Martin Schwidefsky  2016-12-20  125  static int do_account_vtime(struct task_struct *tsk)
^1da177e4c3f41 Linus Torvalds      2005-04-16  126  {
152e9b8676c6e7 Martin Schwidefsky  2019-03-06  127  	u64 timer, clock, user, guest, system, hardirq, softirq;
^1da177e4c3f41 Linus Torvalds      2005-04-16  128  
^1da177e4c3f41 Linus Torvalds      2005-04-16  129  	timer = S390_lowcore.last_update_timer;
^1da177e4c3f41 Linus Torvalds      2005-04-16  130  	clock = S390_lowcore.last_update_clock;
1c7673476b8298 Heiko Carstens      2021-02-02  131  	/* Use STORE CLOCK by default, STORE CLOCK FAST if available. */
1c7673476b8298 Heiko Carstens      2021-02-02 @132  	alternative_io("stpt %0\n .insn s,0xb2050000,%1\n",
1c7673476b8298 Heiko Carstens      2021-02-02  133  		       "stpt %0\n .insn s,0xb27c0000,%1\n",
1c7673476b8298 Heiko Carstens      2021-02-02  134  		       25,
1c7673476b8298 Heiko Carstens      2021-02-02  135  		       ASM_OUTPUT2("=Q" (S390_lowcore.last_update_timer),
1c7673476b8298 Heiko Carstens      2021-02-02  136  				   "=Q" (S390_lowcore.last_update_clock)),
1c7673476b8298 Heiko Carstens      2021-02-02  137  		       ASM_NO_INPUT_CLOBBER("cc"));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  138  	clock = S390_lowcore.last_update_clock - clock;
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  139  	timer -= S390_lowcore.last_update_timer;
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  140  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  141  	if (hardirq_count())
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  142  		S390_lowcore.hardirq_timer += timer;
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  143  	else
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  144  		S390_lowcore.system_timer += timer;
^1da177e4c3f41 Linus Torvalds      2005-04-16  145  
72d38b19781de4 Martin Schwidefsky  2015-09-18  146  	/* Update MT utilization calculation */
f341b8dff9823a Martin Schwidefsky  2015-08-03  147  	if (smp_cpu_mtid &&
72d38b19781de4 Martin Schwidefsky  2015-09-18  148  	    time_after64(jiffies_64, this_cpu_read(mt_scaling_jiffies)))
72d38b19781de4 Martin Schwidefsky  2015-09-18  149  		update_mt_scaling();
10ad34bc76dfbc Martin Schwidefsky  2015-01-14  150  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  151  	/* Calculate cputime delta */
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  152  	user = update_tsk_timer(&tsk->thread.user_timer,
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  153  				READ_ONCE(S390_lowcore.user_timer));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  154  	guest = update_tsk_timer(&tsk->thread.guest_timer,
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  155  				 READ_ONCE(S390_lowcore.guest_timer));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  156  	system = update_tsk_timer(&tsk->thread.system_timer,
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  157  				  READ_ONCE(S390_lowcore.system_timer));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  158  	hardirq = update_tsk_timer(&tsk->thread.hardirq_timer,
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  159  				   READ_ONCE(S390_lowcore.hardirq_timer));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  160  	softirq = update_tsk_timer(&tsk->thread.softirq_timer,
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  161  				   READ_ONCE(S390_lowcore.softirq_timer));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  162  	S390_lowcore.steal_timer +=
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  163  		clock - user - guest - system - hardirq - softirq;
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  164  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  165  	/* Push account value */
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  166  	if (user) {
23244a5c8003d4 Frederic Weisbecker 2017-01-31  167  		account_user_time(tsk, cputime_to_nsecs(user));
5613fda9a503cd Frederic Weisbecker 2017-01-31  168  		tsk->utimescaled += cputime_to_nsecs(scale_vtime(user));
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  169  	}
10ad34bc76dfbc Martin Schwidefsky  2015-01-14  170  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  171  	if (guest) {
fb8b049c988f1f Frederic Weisbecker 2017-01-31  172  		account_guest_time(tsk, cputime_to_nsecs(guest));
5613fda9a503cd Frederic Weisbecker 2017-01-31  173  		tsk->utimescaled += cputime_to_nsecs(scale_vtime(guest));
10ad34bc76dfbc Martin Schwidefsky  2015-01-14  174  	}
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  175  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  176  	if (system)
b29e061bb7a8d2 Martin Schwidefsky  2017-05-12  177  		account_system_index_scaled(tsk, system, CPUTIME_SYSTEM);
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  178  	if (hardirq)
b29e061bb7a8d2 Martin Schwidefsky  2017-05-12  179  		account_system_index_scaled(tsk, hardirq, CPUTIME_IRQ);
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  180  	if (softirq)
b29e061bb7a8d2 Martin Schwidefsky  2017-05-12  181  		account_system_index_scaled(tsk, softirq, CPUTIME_SOFTIRQ);
^1da177e4c3f41 Linus Torvalds      2005-04-16  182  
b7394a5f4ce954 Martin Schwidefsky  2017-01-05  183  	return virt_timer_forward(user + guest + system + hardirq + softirq);
^1da177e4c3f41 Linus Torvalds      2005-04-16  184  }
^1da177e4c3f41 Linus Torvalds      2005-04-16  185  

:::::: The code at line 132 was first introduced by commit
:::::: 1c7673476b82983768c6a4dd78775f817f0e0f88 s390/vtime: use cpu alternative for stck/stckf

:::::: TO: Heiko Carstens <hca@linux.ibm.com>
:::::: CC: Vasily Gorbik <gor@linux.ibm.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

             reply	other threads:[~2023-05-11  9:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-11  9:14 kernel test robot [this message]
2023-05-11 22:21 ` [stable:linux-5.15.y 36/9999] arch/s390/kernel/vtime.c:132:2: error: expected absolute expression Kees Cook
2023-05-23 17:45   ` Nathan Chancellor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202305111705.8j4cTm2s-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=elver@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=keescook@chromium.org \
    --cc=linux-mm@kvack.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.