* [morse:mpam/monitors_and_locking/v4 15/24] arch/x86/kernel/cpu/resctrl/monitor.c:339:26: sparse: sparse: incompatible types for operation (<):
@ 2023-05-26 11:30 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-05-26 11:30 UTC (permalink / raw)
To: James Morse; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git mpam/monitors_and_locking/v4
head: 7a2faaa86a608f308185f2dc0c503e6c103a9206
commit: 7b6c0f41fa6f30fef835940b8f10b37bddbeaf11 [15/24] x86/resctrl: Allow arch to allocate memory needed in resctrl_arch_rmid_read()
config: i386-randconfig-s001-20230525 (https://download.01.org/0day-ci/archive/20230526/202305261902.SPC4AVIV-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git/commit/?id=7b6c0f41fa6f30fef835940b8f10b37bddbeaf11
git remote add morse https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git
git fetch --no-tags morse mpam/monitors_and_locking/v4
git checkout 7b6c0f41fa6f30fef835940b8f10b37bddbeaf11
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 olddefconfig
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kernel/cpu/resctrl/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202305261902.SPC4AVIV-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> arch/x86/kernel/cpu/resctrl/monitor.c:339:26: sparse: sparse: incompatible types for operation (<):
>> arch/x86/kernel/cpu/resctrl/monitor.c:339:26: sparse: void *[assigned] arch_mon_ctx
>> arch/x86/kernel/cpu/resctrl/monitor.c:339:26: sparse: int
arch/x86/kernel/cpu/resctrl/monitor.c:760:37: sparse: sparse: incompatible types for operation (<):
arch/x86/kernel/cpu/resctrl/monitor.c:760:37: sparse: void *[assigned] arch_mon_ctx
arch/x86/kernel/cpu/resctrl/monitor.c:760:37: sparse: int
arch/x86/kernel/cpu/resctrl/monitor.c:771:37: sparse: sparse: incompatible types for operation (<):
>> arch/x86/kernel/cpu/resctrl/monitor.c:771:37: sparse: void *[addressable] [assigned] arch_mon_ctx
arch/x86/kernel/cpu/resctrl/monitor.c:771:37: sparse: int
vim +339 arch/x86/kernel/cpu/resctrl/monitor.c
321
322 /*
323 * Check the RMIDs that are marked as busy for this domain. If the
324 * reported LLC occupancy is below the threshold clear the busy bit and
325 * decrement the count. If the busy count gets to zero on an RMID, we
326 * free the RMID
327 */
328 void __check_limbo(struct rdt_domain *d, bool force_free)
329 {
330 struct rdt_resource *r = &rdt_resources_all[RDT_RESOURCE_L3].r_resctrl;
331 u32 idx_limit = resctrl_arch_system_num_rmid_idx();
332 struct rmid_entry *entry;
333 u32 idx, cur_idx = 1;
334 void *arch_mon_ctx;
335 bool rmid_dirty;
336 u64 val = 0;
337
338 arch_mon_ctx = resctrl_arch_mon_ctx_alloc(r, QOS_L3_OCCUP_EVENT_ID);
> 339 if (arch_mon_ctx < 0)
340 return;
341
342 /*
343 * Skip RMID 0 and start from RMID 1 and check all the RMIDs that
344 * are marked as busy for occupancy < threshold. If the occupancy
345 * is less than the threshold decrement the busy counter of the
346 * RMID and move it to the free list when the counter reaches 0.
347 */
348 for (;;) {
349 idx = find_next_bit(d->rmid_busy_llc, idx_limit, cur_idx);
350 if (idx >= idx_limit)
351 break;
352
353 entry = __rmid_entry(idx);
354 if (resctrl_arch_rmid_read(r, d, entry->closid, entry->rmid,
355 QOS_L3_OCCUP_EVENT_ID, &val,
356 arch_mon_ctx)) {
357 rmid_dirty = true;
358 } else {
359 rmid_dirty = (val >= resctrl_rmid_realloc_threshold);
360 }
361
362 if (force_free || !rmid_dirty) {
363 clear_bit(idx, d->rmid_busy_llc);
364 if (!--entry->busy)
365 limbo_release_entry(entry);
366 }
367 cur_idx = idx + 1;
368 }
369
370 resctrl_arch_mon_ctx_free(r, QOS_L3_OCCUP_EVENT_ID, arch_mon_ctx);
371 }
372
--
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:[~2023-05-26 11:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-26 11:30 [morse:mpam/monitors_and_locking/v4 15/24] arch/x86/kernel/cpu/resctrl/monitor.c:339:26: sparse: sparse: incompatible types for operation (<): kernel test robot
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.