From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5A6F1C30653 for ; Wed, 3 Jul 2024 09:18:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9B8E6B008A; Wed, 3 Jul 2024 05:18:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C4B516B0092; Wed, 3 Jul 2024 05:18:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AC5726B0093; Wed, 3 Jul 2024 05:18:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 8B8786B008A for ; Wed, 3 Jul 2024 05:18:14 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0F91F409EF for ; Wed, 3 Jul 2024 09:18:14 +0000 (UTC) X-FDA: 82297890108.27.B01FA03 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by imf26.hostedemail.com (Postfix) with ESMTP id E2EF9140008 for ; Wed, 3 Jul 2024 09:18:11 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Tu3av9ra; spf=pass (imf26.hostedemail.com: domain of lkp@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1719998280; a=rsa-sha256; cv=none; b=dWRsusOXNDLNYwVzD7syn2R0ZoCOsHKieTlf4ZiePSb/nmf+3ue5+WbVz0oq4Xm7KSzNq5 tbDw2+3ZOhJa0TkV39G3mqZTkpd3b8fPMTN9KXDOUaQb2UOdvoH5d38QKE98w6H0+84Pio 6MfqmepO1MhA9kQzwpjHxhVwfTJpYwg= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=Tu3av9ra; spf=pass (imf26.hostedemail.com: domain of lkp@intel.com designates 192.198.163.9 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1719998280; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=Yu2g1dH/TAdwB5k7E6v7OrQ1ViOwhzDbOVi2UKEFxWA=; b=ay4XuPevGXn1OSaXR8Qshx12H6ocEBVG1M1nj18tYI9DJByIu+zUNv7KXxzlhSQPlk64FS dEaPXRvxE28YcYnjjXlbxsuv1SYRkGxKxg+okQN81MvToCOB33YiKg0+xdNiOUW6pi2JRa gbnLGV7RxtwdFeLTF2WUbIA5q90Uey0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1719998292; x=1751534292; h=date:from:to:cc:subject:message-id:mime-version; bh=MusREK28ZLsKz0pbaeGtZuQVpIamelXv8STA0z23QSY=; b=Tu3av9ra7orkOQPjX3KFeN/MS4PVtAmHWwzLJDChe3POCq3b4MkjfOo8 vV7WhY7S07drT/BFxmNs5qzQWG4scudPu7gAVespHq0U7PqIp4KhRCB33 gC66nzKS+QVBbtxhpyRjPoiPQpeYPOtj3kIqkAqW+QH7TJgiJBlWpkHcI IPiRy6NtD2igwuFyB4akzj1PmNCpCHMfcrg9nlp/mo2T02pJhQ/+U/oNT wLuxjZ5RvbOmH4yamdABbBWmU1CdtS3p2eDTofDFiEk6NYjfaOPMyu+oU PYLFL3SvgKhsqJcz6He7Oob34kZAdmgMlPmXtseAcgfnR3VWzqLdWxkpu w==; X-CSE-ConnectionGUID: FOKzJE97S0WlO6tEw86irA== X-CSE-MsgGUID: nrbNDTzuRN2nwHmQ4lLlAA== X-IronPort-AV: E=McAfee;i="6700,10204,11121"; a="27889792" X-IronPort-AV: E=Sophos;i="6.09,181,1716274800"; d="scan'208";a="27889792" Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jul 2024 02:18:11 -0700 X-CSE-ConnectionGUID: 4whfEHsjRhqj/DwzVVs1pw== X-CSE-MsgGUID: qig9yo1VQVWq4aM9FI3pJw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,181,1716274800"; d="scan'208";a="51142740" Received: from lkp-server01.sh.intel.com (HELO 68891e0c336b) ([10.239.97.150]) by orviesa005.jf.intel.com with ESMTP; 03 Jul 2024 02:18:06 -0700 Received: from kbuild by 68891e0c336b with local (Exim 4.96) (envelope-from ) id 1sOw7o-000PaA-1t; Wed, 03 Jul 2024 09:18:04 +0000 Date: Wed, 3 Jul 2024 17:17:49 +0800 From: kernel test robot To: "Paul E. McKenney" Cc: oe-kbuild-all@lists.linux.dev, Linux Memory Management List Subject: [linux-next:master 9885/10451] kernel/rcu/tree_stall.h:797:undefined reference to `csd_lock_is_stuck' Message-ID: <202407031722.nBIh2u7x-lkp@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Stat-Signature: d6ycaam1y7p8xow9thyqgeyb1d5pjadh X-Rspamd-Queue-Id: E2EF9140008 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1719998291-533996 X-HE-Meta: U2FsdGVkX18pZjMuEHHWHkFTlqEMMkBPy63DniSU9w/D2/XZuw644TfUHAXFJChGH6479cB63Qr+ii1VoRbpHGViupnPrEeFWih52WG0wLcVBAXllzIciCkZiM8+MOi71jTorPiA2nHFhIbgJuAhssq+nAv1WzWx21V7NwucllD/HreIHuGoxBvmJc2Bs3zNjRZebwxD7IuqPw9IqbFABlWn4DTDwM3W/jvrbYOhAMXjS5WJpkD2sfmaR5TO5Wqm0ovX1F6mr0xL0xaeZBhEbsaM6jdbUbZNy37ZgrBd4d90n1m9159xGTSp6zfl2G6B1gsGwR8pGI7+maRrKISivnj5DbTEOH785x7sr5nitQiGBg61KZ/3W7i3gAom+x66GEYPYs27L8V1ziGGCW6qDOwOJgKQvD/0lqOaWJaB97DhO57TqKK+YmMGupsvFMA7SaG3EdSrlCnA/sHBeP7ZJeByHU9UGqzaQL9RLqaRXXxCJ6YLj4vPoaRnXL1d5pD6IC399F6qqKvRzHFX58uSxuJI6LfDmntWv3CbzjEOyC76KygPAomdSf8gx9YFwNA5NSpKl7YTg1Gs5JJDjFoCOHYkXsZBjWMd5/P0K9AmouiHOhNWfZ5HzkP4sDZ/Wdw2pAAJtBNEYbnMVwtf+Sbi9XFy0gdOlS8scOsb4pICxw88L6IEsMXUxCvtcxw1jhta/jNa//5ttJPSVb09EVIk2pcCUCxIEfaNagagG8tc6aNIgToGtLRS/z77MPr2OsW87Lx7nZgSY8u/rJpB9OT3MAcKMRCrZijQWtEGTZjQYwiM+pe+ZWcFVs7inug9rOH9iveHVfY0+5j7Cnk9NCwA7OI7s1aC7IoK+95MVv+wHzHhykvXCm7RXQHP2omQMwdjb6urQRYorIv72aouhi0HOrBEsqnsSwGarXEgsE1n7tucMjwiD1i8WpFcTJ0R4QMpxNpeTRYSi26yU4blP0j +kfJObr0 gmBItXDn2onodzXOPpKACB3qK6aqnL5Q/HxUzDQOUq5hRzhButQADfL8IGFlICIEdP8ExnYBmORm/vAAJV5/l3v4QHDn6onFW5DflruaqOUwWFXa5QIk77u1JDHyIJlGmWDrMMJI4NM3om4jj3IJceOIKxsJfri7hY3loR1LXUU6p8Eb2AR5/o2IP3394w0fVniuZkWCyffIMSw22c4B/N+/JOtdmFzD2oq3bbgt1N1UTLLo2DfSkHB5GQpxyl+f02W9TaK/FNdRVbCHQLywAJg2u151Nj8c2ABzvvfb1ssKwfMHL0bk2uApuidzoAjSBUJtrJ8vfiZ/Z7blPVs5vnZwSRqaQA8GGMH/RcVU5lblQj20/0gBVbdLGu7P+QUP3Y3kJ X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 0b58e108042b0ed28a71cd7edf5175999955b233 commit: 3be88389f46263f166973e80e528dcc9268e24cb [9885/10451] rcu: Summarize RCU CPU stall warnings during CSD-lock stalls config: x86_64-randconfig-a014-20211016 (https://download.01.org/0day-ci/archive/20240703/202407031722.nBIh2u7x-lkp@intel.com/config) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240703/202407031722.nBIh2u7x-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 | Closes: https://lore.kernel.org/oe-kbuild-all/202407031722.nBIh2u7x-lkp@intel.com/ All errors (new ones prefixed by >>): ld: vmlinux.o: in function `check_cpu_stall': >> kernel/rcu/tree_stall.h:797:(.text+0x273b89): undefined reference to `csd_lock_is_stuck' vim +797 kernel/rcu/tree_stall.h 724 725 static void check_cpu_stall(struct rcu_data *rdp) 726 { 727 bool self_detected; 728 unsigned long gs1; 729 unsigned long gs2; 730 unsigned long gps; 731 unsigned long j; 732 unsigned long jn; 733 unsigned long js; 734 struct rcu_node *rnp; 735 736 lockdep_assert_irqs_disabled(); 737 if ((rcu_stall_is_suppressed() && !READ_ONCE(rcu_kick_kthreads)) || 738 !rcu_gp_in_progress()) 739 return; 740 rcu_stall_kick_kthreads(); 741 742 /* 743 * Check if it was requested (via rcu_cpu_stall_reset()) that the FQS 744 * loop has to set jiffies to ensure a non-stale jiffies value. This 745 * is required to have good jiffies value after coming out of long 746 * breaks of jiffies updates. Not doing so can cause false positives. 747 */ 748 if (READ_ONCE(rcu_state.nr_fqs_jiffies_stall) > 0) 749 return; 750 751 j = jiffies; 752 753 /* 754 * Lots of memory barriers to reject false positives. 755 * 756 * The idea is to pick up rcu_state.gp_seq, then 757 * rcu_state.jiffies_stall, then rcu_state.gp_start, and finally 758 * another copy of rcu_state.gp_seq. These values are updated in 759 * the opposite order with memory barriers (or equivalent) during 760 * grace-period initialization and cleanup. Now, a false positive 761 * can occur if we get an new value of rcu_state.gp_start and a old 762 * value of rcu_state.jiffies_stall. But given the memory barriers, 763 * the only way that this can happen is if one grace period ends 764 * and another starts between these two fetches. This is detected 765 * by comparing the second fetch of rcu_state.gp_seq with the 766 * previous fetch from rcu_state.gp_seq. 767 * 768 * Given this check, comparisons of jiffies, rcu_state.jiffies_stall, 769 * and rcu_state.gp_start suffice to forestall false positives. 770 */ 771 gs1 = READ_ONCE(rcu_state.gp_seq); 772 smp_rmb(); /* Pick up ->gp_seq first... */ 773 js = READ_ONCE(rcu_state.jiffies_stall); 774 smp_rmb(); /* ...then ->jiffies_stall before the rest... */ 775 gps = READ_ONCE(rcu_state.gp_start); 776 smp_rmb(); /* ...and finally ->gp_start before ->gp_seq again. */ 777 gs2 = READ_ONCE(rcu_state.gp_seq); 778 if (gs1 != gs2 || 779 ULONG_CMP_LT(j, js) || 780 ULONG_CMP_GE(gps, js)) 781 return; /* No stall or GP completed since entering function. */ 782 rnp = rdp->mynode; 783 jn = jiffies + ULONG_MAX / 2; 784 self_detected = READ_ONCE(rnp->qsmask) & rdp->grpmask; 785 if (rcu_gp_in_progress() && 786 (self_detected || ULONG_CMP_GE(j, js + RCU_STALL_RAT_DELAY)) && 787 cmpxchg(&rcu_state.jiffies_stall, js, jn) == js) { 788 /* 789 * If a virtual machine is stopped by the host it can look to 790 * the watchdog like an RCU stall. Check to see if the host 791 * stopped the vm. 792 */ 793 if (kvm_check_and_clear_guest_paused()) 794 return; 795 796 rcu_stall_notifier_call_chain(RCU_STALL_NOTIFY_NORM, (void *)j - gps); > 797 if (READ_ONCE(csd_lock_suppress_rcu_stall) && csd_lock_is_stuck()) { 798 pr_err("INFO: %s detected stall, but suppressed full report due to a stuck CSD-lock.\n", rcu_state.name); 799 } else if (self_detected) { 800 /* We haven't checked in, so go dump stack. */ 801 print_cpu_stall(gps); 802 } else { 803 /* They had a few time units to dump stack, so complain. */ 804 print_other_cpu_stall(gs2, gps); 805 } 806 807 if (READ_ONCE(rcu_cpu_stall_ftrace_dump)) 808 rcu_ftrace_dump(DUMP_ALL); 809 810 if (READ_ONCE(rcu_state.jiffies_stall) == jn) { 811 jn = jiffies + 3 * rcu_jiffies_till_stall_check() + 3; 812 WRITE_ONCE(rcu_state.jiffies_stall, jn); 813 } 814 } 815 } 816 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki