From: kernel test robot <lkp@intel.com>
To: Jun Miao <jun.miao@intel.com>,
jarkko@kernel.org, dave.hansen@linux.intel.com
Cc: oe-kbuild-all@lists.linux.dev, kai.huang@intel.com,
challvy.tee@gmail.com, fan.du@intel.com, jun.miao@intel.com,
linux-kernel@vger.kernel.org, qiang.zhang@linux.dev
Subject: Re: [PATCH v2] x86/sgx: Fix RCU Tasks stalls in EPC sanitization loop
Date: Tue, 18 Aug 2026 08:06:47 +0200 [thread overview]
Message-ID: <202608180846.b3eJmlOU-lkp@intel.com> (raw)
In-Reply-To: <20260623030329.2786571-1-jun.miao@intel.com>
Hi Jun,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on tip/x86/sgx v7.2 next-20260817]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Jun-Miao/x86-sgx-Fix-RCU-Tasks-stalls-in-EPC-sanitization-loop/20260815-121253
base: linus/master
patch link: https://lore.kernel.org/r/20260623030329.2786571-1-jun.miao%40intel.com
patch subject: [PATCH v2] x86/sgx: Fix RCU Tasks stalls in EPC sanitization loop
config: x86_64-rhel-9.4-bpf (https://download.01.org/0day-ci/archive/20260818/202608180846.b3eJmlOU-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260818/202608180846.b3eJmlOU-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/202608180846.b3eJmlOU-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/x86/kernel/cpu/sgx/main.c: In function '__sgx_sanitize_pages':
>> arch/x86/kernel/cpu/sgx/main.c:109:17: error: implicit declaration of function 'cond_resched_rcu_qs'; did you mean 'cond_resched_lock'? [-Wimplicit-function-declaration]
109 | cond_resched_rcu_qs();
| ^~~~~~~~~~~~~~~~~~~
| cond_resched_lock
vim +109 arch/x86/kernel/cpu/sgx/main.c
54
55 /*
56 * Reset post-kexec EPC pages to the uninitialized state. The pages are removed
57 * from the input list, and made available for the page allocator. SECS pages
58 * prepending their children in the input list are left intact.
59 *
60 * Return 0 when sanitization was successful or kthread was stopped, and the
61 * number of unsanitized pages otherwise.
62 */
63 static unsigned long __sgx_sanitize_pages(struct list_head *dirty_page_list)
64 {
65 unsigned long left_dirty = 0;
66 struct sgx_epc_page *page;
67 LIST_HEAD(dirty);
68 int ret;
69
70 /* dirty_page_list is thread-local, no need for a lock: */
71 while (!list_empty(dirty_page_list)) {
72 if (kthread_should_stop())
73 return 0;
74
75 page = list_first_entry(dirty_page_list, struct sgx_epc_page, list);
76
77 /*
78 * Checking page->poison without holding the node->lock
79 * is racy, but losing the race (i.e. poison is set just
80 * after the check) just means __eremove() will be uselessly
81 * called for a page that sgx_free_epc_page() will put onto
82 * the node->sgx_poison_page_list later.
83 */
84 if (page->poison) {
85 struct sgx_epc_section *section = &sgx_epc_sections[page->section];
86 struct sgx_numa_node *node = section->node;
87
88 spin_lock(&node->lock);
89 list_move(&page->list, &node->sgx_poison_page_list);
90 spin_unlock(&node->lock);
91
92 continue;
93 }
94
95 ret = __eremove(sgx_get_epc_virt_addr(page));
96 if (!ret) {
97 /*
98 * page is now sanitized. Make it available via the SGX
99 * page allocator:
100 */
101 list_del(&page->list);
102 sgx_free_epc_page(page);
103 } else {
104 /* The page is not yet clean - move to the dirty list. */
105 list_move_tail(&page->list, &dirty);
106 left_dirty++;
107 }
108
> 109 cond_resched_rcu_qs();
110 }
111
112 list_splice(&dirty, dirty_page_list);
113 return left_dirty;
114 }
115
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
prev parent reply other threads:[~2026-08-18 6:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-23 3:03 [PATCH v2] x86/sgx: Fix RCU Tasks stalls in EPC sanitization loop Jun Miao
2026-08-18 6:06 ` kernel test robot [this message]
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=202608180846.b3eJmlOU-lkp@intel.com \
--to=lkp@intel.com \
--cc=challvy.tee@gmail.com \
--cc=dave.hansen@linux.intel.com \
--cc=fan.du@intel.com \
--cc=jarkko@kernel.org \
--cc=jun.miao@intel.com \
--cc=kai.huang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=qiang.zhang@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.