Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jonathan Flynn <jonathan.flynn@hammerspace.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Mike Snitzer <snitzer@kernel.org>
Subject: [snitzer:kernel-7.3/canary 285/387] fs/nfs/flexfilelayout/flexfilelayout.c:760:9: error: instruction requires the following: RV64I Base Instruction Set
Date: Sat, 24 Oct 2026 12:10:01 +0200	[thread overview]
Message-ID: <202610241225.b9yb7x6H-lkp@intel.com> (raw)

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

                 reply	other threads:[~2026-10-24 10:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202610241225.b9yb7x6H-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jonathan.flynn@hammerspace.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=snitzer@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox