Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* [snitzer:kernel-7.3/canary 285/387] fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: instruction requires the following: RV64I Base Instruction Set
@ 2026-10-24 10:10 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-24 10:10 UTC (permalink / raw)
  To: Jonathan Flynn; +Cc: llvm, oe-kbuild-all, Mike Snitzer

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/snitzer/linux.git kernel-7.3/canary
head:   2bbaed9eb0e6249faa555ea839da7a7a88820f6d
commit: 31c1686e8f4441749d31204c83efc843f02d6af6 [285/387] NFSv4/flexfiles: move layoutstats accounting to a per-stripe lock
config: riscv-randconfig-2000-20261024 (https://download.01.org/0day-ci/archive/20261024/202610241225.b9yb7x6H-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project a808f8ea7fdc61ead417bfe55e8ef5f728776aeb)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261024/202610241225.b9yb7x6H-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610241225.b9yb7x6H-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: instruction requires the following: RV64I Base Instruction Set
     760 |         return try_cmpxchg64(&ffl->last_report_time, &last_report, now);
         |                ^
   include/linux/atomic/atomic-instrumented.h:4918:2: note: expanded from macro 'try_cmpxchg64'
    4918 |         raw_try_cmpxchg64(__ai_ptr, __ai_oldp, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:259:9: note: expanded from macro 'raw_try_cmpxchg64'
     259 |         ___r = raw_cmpxchg64((_ptr), ___o, (_new)); \
         |                ^
   include/linux/atomic/atomic-arch-fallback.h:98:23: note: expanded from macro 'raw_cmpxchg64'
      98 | #define raw_cmpxchg64 arch_cmpxchg64
         |                       ^
   arch/riscv/include/asm/cmpxchg.h:303:2: note: expanded from macro 'arch_cmpxchg64'
     303 |         arch_cmpxchg((ptr), (o), (n));                                  \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:294:20: note: expanded from macro 'arch_cmpxchg'
     294 |                       SC_PREPEND(""), SC_APPEND(RISCV_FULL_BARRIER),    \
         |                                  ^
   <inline asm>:1:5: note: instantiated into assembly here
       1 |         0:      lr.d s0, 0(a0)
         |                 ^
>> fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: instruction requires the following: RV64I Base Instruction Set
     760 |         return try_cmpxchg64(&ffl->last_report_time, &last_report, now);
         |                ^
   include/linux/atomic/atomic-instrumented.h:4918:2: note: expanded from macro 'try_cmpxchg64'
    4918 |         raw_try_cmpxchg64(__ai_ptr, __ai_oldp, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:259:9: note: expanded from macro 'raw_try_cmpxchg64'
     259 |         ___r = raw_cmpxchg64((_ptr), ___o, (_new)); \
         |                ^
   include/linux/atomic/atomic-arch-fallback.h:98:23: note: expanded from macro 'raw_cmpxchg64'
      98 | #define raw_cmpxchg64 arch_cmpxchg64
         |                       ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/cmpxchg.h:292:2: note: expanded from macro 'arch_cmpxchg'
     292 |         _arch_cmpxchg((ptr), (o), (n),                                  \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:251:3: note: expanded from macro '_arch_cmpxchg'
     251 |                 __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx,         \
         |                 ^
   arch/riscv/include/asm/cmpxchg.h:212:5: note: expanded from macro '__arch_cmpxchg'
     212 |                         "       sc" sc_sfx " %1, %z4, %2\n"             \
         |                          ^
   <inline asm>:3:2: note: instantiated into assembly here
       3 |         sc.d.rl a1, s3, 0(a0)
         |         ^
>> fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: register must be even
     760 |         return try_cmpxchg64(&ffl->last_report_time, &last_report, now);
         |                ^
   include/linux/atomic/atomic-instrumented.h:4918:2: note: expanded from macro 'try_cmpxchg64'
    4918 |         raw_try_cmpxchg64(__ai_ptr, __ai_oldp, __VA_ARGS__); \
         |         ^
   include/linux/atomic/atomic-arch-fallback.h:259:9: note: expanded from macro 'raw_try_cmpxchg64'
     259 |         ___r = raw_cmpxchg64((_ptr), ___o, (_new)); \
         |                ^
   include/linux/atomic/atomic-arch-fallback.h:98:23: note: expanded from macro 'raw_cmpxchg64'
      98 | #define raw_cmpxchg64 arch_cmpxchg64
         |                       ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/cmpxchg.h:292:2: note: expanded from macro 'arch_cmpxchg'
     292 |         _arch_cmpxchg((ptr), (o), (n),                                  \
         |         ^
   arch/riscv/include/asm/cmpxchg.h:251:3: note: expanded from macro '_arch_cmpxchg'
     251 |                 __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx,         \
         |                 ^
   arch/riscv/include/asm/cmpxchg.h:199:5: note: expanded from macro '__arch_cmpxchg'
     199 |                         "       amocas" cas_sfx " %0, %z2, %1\n"        \
         |                          ^
   <inline asm>:3:20: note: instantiated into assembly here
       3 |         amocas.d.aqrl s0, s3, 0(a0)
         |                           ^
   3 errors generated.


vim +760 fs/nfs/flexfilelayout/flexfilelayout.c

   732	
   733	static bool
   734	nfs4_ff_layoutstat_start_io(struct nfs4_ff_layout_mirror *mirror,
   735				    u32 dss_id,
   736				    struct nfs4_ff_layoutstat *layoutstat,
   737				    ktime_t now)
   738	{
   739		s64 report_interval = FF_LAYOUTSTATS_REPORT_INTERVAL;
   740		struct nfs4_flexfile_layout *ffl = FF_LAYOUT_FROM_HDR(mirror->layout);
   741		ktime_t last_report;
   742	
   743		nfs4_ff_start_busy_timer(&layoutstat->busy_timer, now);
   744		if (!mirror->dss[dss_id].start_time)
   745			mirror->dss[dss_id].start_time = now;
   746		if (mirror->report_interval != 0)
   747			report_interval = (s64)mirror->report_interval * 1000LL;
   748		else if (layoutstats_timer != 0)
   749			report_interval = (s64)layoutstats_timer * 1000LL;
   750	
   751		/*
   752		 * last_report_time is shared by every mirror and stripe of this
   753		 * layout, so it was never serialised by the mirror lock either.
   754		 * Make that explicit: whoever wins the cmpxchg() reports.
   755		 */
   756		last_report = READ_ONCE(ffl->last_report_time);
   757		if (ktime_to_ms(ktime_sub(now, last_report)) < report_interval)
   758			return false;
   759	
 > 760		return try_cmpxchg64(&ffl->last_report_time, &last_report, now);
   761	}
   762	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-24 10:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 10:10 [snitzer:kernel-7.3/canary 285/387] fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: instruction requires the following: RV64I Base Instruction Set kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox