mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 45 participants
  • 21955 discussions
[openeuler:OLK-6.6 3540/3540] kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used
by kernel test robot 14 Dec '25

14 Dec '25
Hi Jiakun, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 03479a75f63bef0dca7ec44c1e1a7e8c45201aed [3540/3540] dma: Fix kabi breakage due to "dma: phytium: Add PSWIOTLB mechanism to improve DMA performance" config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512141034.7ERZ0sjF-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512141034.7ERZ0sjF-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512141034.7ERZ0sjF-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/dma/phytium/pswiotlb.c:1159:6: warning: variable 'cpuid' set but not used [-Wunused-but-set-variable] 1159 | int cpuid; | ^ 1 warning generated. -- >> kernel/dma/phytium/pswiotlb.c:474: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_tlb' >> kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'nid' not described in 'pswiotlb_alloc_pool' >> kernel/dma/phytium/pswiotlb.c:533: warning: Function parameter or member 'transient' not described in 'pswiotlb_alloc_pool' >> kernel/dma/phytium/pswiotlb.c:806: warning: Function parameter or member 'nid' not described in 'alloc_dma_pages' >> kernel/dma/phytium/pswiotlb.c:836: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_pool' >> kernel/dma/phytium/pswiotlb.c:1005: warning: Function parameter or member 'nid' not described in 'pswiotlb_area_find_slots' >> kernel/dma/phytium/pswiotlb.c:1115: warning: Function parameter or member 'nid' not described in 'pswiotlb_pool_find_slots' >> kernel/dma/phytium/pswiotlb.c:1153: warning: Function parameter or member 'nid' not described in 'pswiotlb_find_slots' >> kernel/dma/phytium/pswiotlb.c:1523: warning: Function parameter or member 'dev' not described in 'is_pswiotlb_allocated' >> kernel/dma/phytium/pswiotlb.c:1542: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_base' >> kernel/dma/phytium/pswiotlb.c:1556: warning: Function parameter or member 'dev' not described in 'default_pswiotlb_limit' Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for DEBUG_FEATURE_BYPASS Depends on [n]: (FAST_SYSCALL [=y] || FAST_IRQ [=y]) && !LOCKDEP [=y] Selected by [y]: - FAST_SYSCALL [=y] - FAST_IRQ [=y] && ARM_GIC_V3 [=y] WARNING: unmet direct dependencies detected for SECURITY_FEATURE_BYPASS Depends on [n]: !ARM64_MTE [=y] && !KASAN_HW_TAGS [=n] && (FAST_SYSCALL [=y] || FAST_IRQ [=y]) Selected by [y]: - FAST_SYSCALL [=y] - FAST_IRQ [=y] && ARM_GIC_V3 [=y] vim +/cpuid +1159 kernel/dma/phytium/pswiotlb.c 81a243170f720e Jiakun Shuai 2025-07-07 985 81a243170f720e Jiakun Shuai 2025-07-07 986 /** 81a243170f720e Jiakun Shuai 2025-07-07 987 * pswiotlb_area_find_slots() - search for slots in one Phytium IO TLB memory area 81a243170f720e Jiakun Shuai 2025-07-07 988 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 989 * @pool: Memory pool to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 990 * @area_index: Index of the Phytium IO TLB memory area to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 991 * @orig_addr: Original (non-bounced) Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 992 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 993 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 994 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 995 * 81a243170f720e Jiakun Shuai 2025-07-07 996 * Find a suitable sequence of Phytium IO TLB entries for the request and allocate 81a243170f720e Jiakun Shuai 2025-07-07 997 * a buffer from the given Phytium IO TLB memory area. 81a243170f720e Jiakun Shuai 2025-07-07 998 * This function takes care of locking. 81a243170f720e Jiakun Shuai 2025-07-07 999 * 81a243170f720e Jiakun Shuai 2025-07-07 1000 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1001 */ 81a243170f720e Jiakun Shuai 2025-07-07 1002 static int pswiotlb_area_find_slots(struct device *dev, int nid, struct p_io_tlb_pool *pool, 81a243170f720e Jiakun Shuai 2025-07-07 1003 int area_index, phys_addr_t orig_addr, size_t alloc_size, 81a243170f720e Jiakun Shuai 2025-07-07 1004 unsigned int alloc_align_mask) 81a243170f720e Jiakun Shuai 2025-07-07 @1005 { 81a243170f720e Jiakun Shuai 2025-07-07 1006 struct p_io_tlb_area *area = pool->areas + area_index; 81a243170f720e Jiakun Shuai 2025-07-07 1007 unsigned long boundary_mask = dma_get_seg_boundary(dev); 81a243170f720e Jiakun Shuai 2025-07-07 1008 dma_addr_t tbl_dma_addr = 81a243170f720e Jiakun Shuai 2025-07-07 1009 phys_to_dma_unencrypted(dev, pool->start) & boundary_mask; 81a243170f720e Jiakun Shuai 2025-07-07 1010 unsigned long max_slots = get_max_slots(boundary_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1011 unsigned int iotlb_align_mask = 81a243170f720e Jiakun Shuai 2025-07-07 1012 dma_get_min_align_mask(dev) | alloc_align_mask; 81a243170f720e Jiakun Shuai 2025-07-07 1013 unsigned int nslots = nr_slots(alloc_size), stride; 81a243170f720e Jiakun Shuai 2025-07-07 1014 unsigned int offset = pswiotlb_align_offset(dev, orig_addr); 81a243170f720e Jiakun Shuai 2025-07-07 1015 unsigned int index, slots_checked, count = 0, i; 81a243170f720e Jiakun Shuai 2025-07-07 1016 unsigned long flags; 81a243170f720e Jiakun Shuai 2025-07-07 1017 unsigned int slot_base; 81a243170f720e Jiakun Shuai 2025-07-07 1018 unsigned int slot_index; 81a243170f720e Jiakun Shuai 2025-07-07 1019 81a243170f720e Jiakun Shuai 2025-07-07 1020 WARN_ON(!nslots); 81a243170f720e Jiakun Shuai 2025-07-07 1021 WARN_ON(area_index >= pool->nareas); 81a243170f720e Jiakun Shuai 2025-07-07 1022 81a243170f720e Jiakun Shuai 2025-07-07 1023 /* 81a243170f720e Jiakun Shuai 2025-07-07 1024 * For allocations of PAGE_SIZE or larger only look for page aligned 81a243170f720e Jiakun Shuai 2025-07-07 1025 * allocations. 81a243170f720e Jiakun Shuai 2025-07-07 1026 */ 81a243170f720e Jiakun Shuai 2025-07-07 1027 if (alloc_size >= PAGE_SIZE) 81a243170f720e Jiakun Shuai 2025-07-07 1028 iotlb_align_mask |= ~PAGE_MASK; 81a243170f720e Jiakun Shuai 2025-07-07 1029 iotlb_align_mask &= ~(P_IO_TLB_SIZE - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1030 81a243170f720e Jiakun Shuai 2025-07-07 1031 /* 81a243170f720e Jiakun Shuai 2025-07-07 1032 * For mappings with an alignment requirement don't bother looping to 81a243170f720e Jiakun Shuai 2025-07-07 1033 * unaligned slots once we found an aligned one. 81a243170f720e Jiakun Shuai 2025-07-07 1034 */ 81a243170f720e Jiakun Shuai 2025-07-07 1035 stride = (iotlb_align_mask >> P_IO_TLB_SHIFT) + 1; 81a243170f720e Jiakun Shuai 2025-07-07 1036 81a243170f720e Jiakun Shuai 2025-07-07 1037 if (spin_trylock_irqsave(&area->lock, flags)) { 81a243170f720e Jiakun Shuai 2025-07-07 1038 if (unlikely(nslots > pool->area_nslabs - area->used)) 81a243170f720e Jiakun Shuai 2025-07-07 1039 goto not_found; 81a243170f720e Jiakun Shuai 2025-07-07 1040 81a243170f720e Jiakun Shuai 2025-07-07 1041 slot_base = area_index * pool->area_nslabs; 81a243170f720e Jiakun Shuai 2025-07-07 1042 index = area->index; 81a243170f720e Jiakun Shuai 2025-07-07 1043 81a243170f720e Jiakun Shuai 2025-07-07 1044 for (slots_checked = 0; slots_checked < pool->area_nslabs;) { 81a243170f720e Jiakun Shuai 2025-07-07 1045 slot_index = slot_base + index; 81a243170f720e Jiakun Shuai 2025-07-07 1046 81a243170f720e Jiakun Shuai 2025-07-07 1047 if (orig_addr && 81a243170f720e Jiakun Shuai 2025-07-07 1048 (slot_addr(tbl_dma_addr, slot_index) & 81a243170f720e Jiakun Shuai 2025-07-07 1049 iotlb_align_mask) != (orig_addr & iotlb_align_mask)) { 81a243170f720e Jiakun Shuai 2025-07-07 1050 index = wrap_area_index(pool, index + 1); 81a243170f720e Jiakun Shuai 2025-07-07 1051 slots_checked++; 81a243170f720e Jiakun Shuai 2025-07-07 1052 continue; 81a243170f720e Jiakun Shuai 2025-07-07 1053 } 81a243170f720e Jiakun Shuai 2025-07-07 1054 81a243170f720e Jiakun Shuai 2025-07-07 1055 if (!iommu_is_span_boundary(slot_index, nslots, 81a243170f720e Jiakun Shuai 2025-07-07 1056 nr_slots(tbl_dma_addr), 81a243170f720e Jiakun Shuai 2025-07-07 1057 max_slots)) { 81a243170f720e Jiakun Shuai 2025-07-07 1058 if (pool->slots[slot_index].list >= nslots) 81a243170f720e Jiakun Shuai 2025-07-07 1059 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1060 } 81a243170f720e Jiakun Shuai 2025-07-07 1061 index = wrap_area_index(pool, index + stride); 81a243170f720e Jiakun Shuai 2025-07-07 1062 slots_checked += stride; 81a243170f720e Jiakun Shuai 2025-07-07 1063 } 81a243170f720e Jiakun Shuai 2025-07-07 1064 } else { 81a243170f720e Jiakun Shuai 2025-07-07 1065 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1066 } 81a243170f720e Jiakun Shuai 2025-07-07 1067 81a243170f720e Jiakun Shuai 2025-07-07 1068 not_found: 81a243170f720e Jiakun Shuai 2025-07-07 1069 spin_unlock_irqrestore(&area->lock, flags); 81a243170f720e Jiakun Shuai 2025-07-07 1070 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1071 81a243170f720e Jiakun Shuai 2025-07-07 1072 found: 81a243170f720e Jiakun Shuai 2025-07-07 1073 /* 81a243170f720e Jiakun Shuai 2025-07-07 1074 * If we find a slot that indicates we have 'nslots' number of 81a243170f720e Jiakun Shuai 2025-07-07 1075 * contiguous buffers, we allocate the buffers from that slot onwards 81a243170f720e Jiakun Shuai 2025-07-07 1076 * and set the list of free entries to '0' indicating unavailable. 81a243170f720e Jiakun Shuai 2025-07-07 1077 */ 81a243170f720e Jiakun Shuai 2025-07-07 1078 for (i = slot_index; i < slot_index + nslots; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1079 pool->slots[i].list = 0; 81a243170f720e Jiakun Shuai 2025-07-07 1080 pool->slots[i].alloc_size = alloc_size - (offset + 81a243170f720e Jiakun Shuai 2025-07-07 1081 ((i - slot_index) << P_IO_TLB_SHIFT)); 81a243170f720e Jiakun Shuai 2025-07-07 1082 } 81a243170f720e Jiakun Shuai 2025-07-07 1083 for (i = slot_index - 1; 81a243170f720e Jiakun Shuai 2025-07-07 1084 io_tlb_offset(i) != P_IO_TLB_SEGSIZE - 1 && 81a243170f720e Jiakun Shuai 2025-07-07 1085 pool->slots[i].list; i--) 81a243170f720e Jiakun Shuai 2025-07-07 1086 pool->slots[i].list = ++count; 81a243170f720e Jiakun Shuai 2025-07-07 1087 81a243170f720e Jiakun Shuai 2025-07-07 1088 /* 81a243170f720e Jiakun Shuai 2025-07-07 1089 * Update the indices to avoid searching in the next round. 81a243170f720e Jiakun Shuai 2025-07-07 1090 */ 81a243170f720e Jiakun Shuai 2025-07-07 1091 area->index = wrap_area_index(pool, index + nslots); 81a243170f720e Jiakun Shuai 2025-07-07 1092 area->used += nslots; 81a243170f720e Jiakun Shuai 2025-07-07 1093 spin_unlock_irqrestore(&area->lock, flags); 81a243170f720e Jiakun Shuai 2025-07-07 1094 81a243170f720e Jiakun Shuai 2025-07-07 1095 return slot_index; 81a243170f720e Jiakun Shuai 2025-07-07 1096 } 81a243170f720e Jiakun Shuai 2025-07-07 1097 81a243170f720e Jiakun Shuai 2025-07-07 1098 /** 81a243170f720e Jiakun Shuai 2025-07-07 1099 * pswiotlb_pool_find_slots() - search for slots in one memory pool 81a243170f720e Jiakun Shuai 2025-07-07 1100 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1101 * @pool: Memory pool to be searched. 81a243170f720e Jiakun Shuai 2025-07-07 1102 * @orig_addr: Original (non-bounced)Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 1103 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 1104 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 1105 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1106 * 81a243170f720e Jiakun Shuai 2025-07-07 1107 * Search through one memory pool to find a sequence of slots that match the 81a243170f720e Jiakun Shuai 2025-07-07 1108 * allocation constraints. 81a243170f720e Jiakun Shuai 2025-07-07 1109 * 81a243170f720e Jiakun Shuai 2025-07-07 1110 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1111 */ 81a243170f720e Jiakun Shuai 2025-07-07 1112 static int pswiotlb_pool_find_slots(struct device *dev, int nid, struct p_io_tlb_pool *pool, 81a243170f720e Jiakun Shuai 2025-07-07 1113 phys_addr_t orig_addr, size_t alloc_size, 81a243170f720e Jiakun Shuai 2025-07-07 1114 unsigned int alloc_align_mask) 81a243170f720e Jiakun Shuai 2025-07-07 @1115 { 81a243170f720e Jiakun Shuai 2025-07-07 1116 int start = raw_smp_processor_id() & (pool->nareas - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1117 int i = start, index; 81a243170f720e Jiakun Shuai 2025-07-07 1118 81a243170f720e Jiakun Shuai 2025-07-07 1119 do { 81a243170f720e Jiakun Shuai 2025-07-07 1120 index = pswiotlb_area_find_slots(dev, nid, pool, i, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1121 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1122 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1123 if ((pool != &p_io_tlb_default_mem[nid].defpool) && 81a243170f720e Jiakun Shuai 2025-07-07 1124 !pool->transient) { 81a243170f720e Jiakun Shuai 2025-07-07 1125 bitmap_set(pool->busy_record, i, 1); 81a243170f720e Jiakun Shuai 2025-07-07 1126 } 81a243170f720e Jiakun Shuai 2025-07-07 1127 return index; 81a243170f720e Jiakun Shuai 2025-07-07 1128 } 81a243170f720e Jiakun Shuai 2025-07-07 1129 if (++i >= pool->nareas) 81a243170f720e Jiakun Shuai 2025-07-07 1130 i = 0; 81a243170f720e Jiakun Shuai 2025-07-07 1131 } while (i != start); 81a243170f720e Jiakun Shuai 2025-07-07 1132 81a243170f720e Jiakun Shuai 2025-07-07 1133 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1134 } 81a243170f720e Jiakun Shuai 2025-07-07 1135 81a243170f720e Jiakun Shuai 2025-07-07 1136 /** 81a243170f720e Jiakun Shuai 2025-07-07 1137 * pswiotlb_find_slots() - search for slots in the whole pswiotlb 81a243170f720e Jiakun Shuai 2025-07-07 1138 * @dev: Device which maps the buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1139 * @orig_addr: Original (non-bounced) Phytium IO buffer address. 81a243170f720e Jiakun Shuai 2025-07-07 1140 * @alloc_size: Total requested size of the bounce buffer, 81a243170f720e Jiakun Shuai 2025-07-07 1141 * including initial alignment padding. 81a243170f720e Jiakun Shuai 2025-07-07 1142 * @alloc_align_mask: Required alignment of the allocated buffer. 81a243170f720e Jiakun Shuai 2025-07-07 1143 * @retpool: Used memory pool, updated on return. 81a243170f720e Jiakun Shuai 2025-07-07 1144 * 81a243170f720e Jiakun Shuai 2025-07-07 1145 * Search through the whole Phytium software IO TLB to find a sequence of slots that 81a243170f720e Jiakun Shuai 2025-07-07 1146 * match the allocation constraints. 81a243170f720e Jiakun Shuai 2025-07-07 1147 * 81a243170f720e Jiakun Shuai 2025-07-07 1148 * Return: Index of the first allocated slot, or -1 on error. 81a243170f720e Jiakun Shuai 2025-07-07 1149 */ 81a243170f720e Jiakun Shuai 2025-07-07 1150 static int pswiotlb_find_slots(struct device *dev, int nid, phys_addr_t orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1151 size_t alloc_size, unsigned int alloc_align_mask, 81a243170f720e Jiakun Shuai 2025-07-07 1152 struct p_io_tlb_pool **retpool) 81a243170f720e Jiakun Shuai 2025-07-07 @1153 { 81a243170f720e Jiakun Shuai 2025-07-07 1154 struct p_io_tlb_mem *mem = &dev->dma_p_io_tlb_mem[nid]; 81a243170f720e Jiakun Shuai 2025-07-07 1155 struct p_io_tlb_pool *pool; 81a243170f720e Jiakun Shuai 2025-07-07 1156 int index; 81a243170f720e Jiakun Shuai 2025-07-07 1157 int try_pool_idx; 81a243170f720e Jiakun Shuai 2025-07-07 1158 int i; 81a243170f720e Jiakun Shuai 2025-07-07 @1159 int cpuid; 81a243170f720e Jiakun Shuai 2025-07-07 1160 int current_ratio; 81a243170f720e Jiakun Shuai 2025-07-07 1161 unsigned long pswiotlb_mem; 81a243170f720e Jiakun Shuai 2025-07-07 1162 unsigned long nslabs_per_pool = dynamic_inc_thr_npslabs; 81a243170f720e Jiakun Shuai 2025-07-07 1163 81a243170f720e Jiakun Shuai 2025-07-07 1164 cpuid = raw_smp_processor_id(); 81a243170f720e Jiakun Shuai 2025-07-07 1165 81a243170f720e Jiakun Shuai 2025-07-07 1166 rcu_read_lock(); 81a243170f720e Jiakun Shuai 2025-07-07 1167 #ifndef CONFIG_ARM64_4K_PAGES 81a243170f720e Jiakun Shuai 2025-07-07 1168 for (i = 0; i < 15; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1169 if (i == 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1170 pool = mem->pool_addr[0]; 81a243170f720e Jiakun Shuai 2025-07-07 1171 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1172 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1173 } else if (i == 1 && mem->capacity > (cpuid + 1)) { 81a243170f720e Jiakun Shuai 2025-07-07 1174 pool = mem->pool_addr[cpuid + 1]; 81a243170f720e Jiakun Shuai 2025-07-07 1175 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1176 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1177 } else { 81a243170f720e Jiakun Shuai 2025-07-07 1178 try_pool_idx = get_random_u32() % mem->capacity; 81a243170f720e Jiakun Shuai 2025-07-07 1179 pool = mem->pool_addr[try_pool_idx]; 81a243170f720e Jiakun Shuai 2025-07-07 1180 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1181 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1182 } 81a243170f720e Jiakun Shuai 2025-07-07 1183 81a243170f720e Jiakun Shuai 2025-07-07 1184 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1185 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1186 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1187 } 81a243170f720e Jiakun Shuai 2025-07-07 1188 } 81a243170f720e Jiakun Shuai 2025-07-07 1189 #else 81a243170f720e Jiakun Shuai 2025-07-07 1190 for (i = 0; i < 15; i++) { 81a243170f720e Jiakun Shuai 2025-07-07 1191 try_pool_idx = get_random_u32() % mem->capacity; 81a243170f720e Jiakun Shuai 2025-07-07 1192 pool = mem->pool_addr[try_pool_idx]; 81a243170f720e Jiakun Shuai 2025-07-07 1193 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1194 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1195 81a243170f720e Jiakun Shuai 2025-07-07 1196 if (index >= 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1197 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1198 goto found; 81a243170f720e Jiakun Shuai 2025-07-07 1199 } 81a243170f720e Jiakun Shuai 2025-07-07 1200 } 81a243170f720e Jiakun Shuai 2025-07-07 1201 #endif 81a243170f720e Jiakun Shuai 2025-07-07 1202 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1203 if (nslabs_per_pool > SLABS_PER_PAGE << MAX_ORDER) 81a243170f720e Jiakun Shuai 2025-07-07 1204 nslabs_per_pool = SLABS_PER_PAGE << MAX_ORDER; 81a243170f720e Jiakun Shuai 2025-07-07 1205 81a243170f720e Jiakun Shuai 2025-07-07 1206 nslabs_per_pool = ALIGN(nslabs_per_pool >> 1, P_IO_TLB_SEGSIZE); 81a243170f720e Jiakun Shuai 2025-07-07 1207 pswiotlb_mem = P_IO_TLB_DEFAULT_SIZE + 81a243170f720e Jiakun Shuai 2025-07-07 1208 (nslabs_per_pool << P_IO_TLB_SHIFT) * (mem->whole_size - 1); 81a243170f720e Jiakun Shuai 2025-07-07 1209 current_ratio = (pswiotlb_mem * 100 + mem->node_total_mem / 2) / mem->node_total_mem; 81a243170f720e Jiakun Shuai 2025-07-07 1210 if (current_ratio >= P_IO_TLB_EXT_WATERMARK) { 81a243170f720e Jiakun Shuai 2025-07-07 1211 dev_warn_once(dev, "Total pswiotlb (%ld MB) exceeds the watermark (%d%%)\n" 81a243170f720e Jiakun Shuai 2025-07-07 1212 "of memory (%ld MB) in node %d, pswiotlb expansion is prohibited.\n", 81a243170f720e Jiakun Shuai 2025-07-07 1213 pswiotlb_mem >> 20, P_IO_TLB_EXT_WATERMARK, 81a243170f720e Jiakun Shuai 2025-07-07 1214 mem->node_total_mem >> 20, nid); 81a243170f720e Jiakun Shuai 2025-07-07 1215 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1216 } 81a243170f720e Jiakun Shuai 2025-07-07 1217 81a243170f720e Jiakun Shuai 2025-07-07 1218 if (!mem->can_grow) 81a243170f720e Jiakun Shuai 2025-07-07 1219 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1220 81a243170f720e Jiakun Shuai 2025-07-07 1221 pool = pswiotlb_formal_alloc(dev, mem); 81a243170f720e Jiakun Shuai 2025-07-07 1222 if (!pool) 81a243170f720e Jiakun Shuai 2025-07-07 1223 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1224 81a243170f720e Jiakun Shuai 2025-07-07 1225 /* retry */ 81a243170f720e Jiakun Shuai 2025-07-07 1226 rcu_read_lock(); 81a243170f720e Jiakun Shuai 2025-07-07 1227 index = pswiotlb_pool_find_slots(dev, nid, pool, orig_addr, 81a243170f720e Jiakun Shuai 2025-07-07 1228 alloc_size, alloc_align_mask); 81a243170f720e Jiakun Shuai 2025-07-07 1229 rcu_read_unlock(); 81a243170f720e Jiakun Shuai 2025-07-07 1230 81a243170f720e Jiakun Shuai 2025-07-07 1231 if (index < 0) { 81a243170f720e Jiakun Shuai 2025-07-07 1232 pswiotlb_dyn_free(&pool->rcu); 81a243170f720e Jiakun Shuai 2025-07-07 1233 return -1; 81a243170f720e Jiakun Shuai 2025-07-07 1234 } 81a243170f720e Jiakun Shuai 2025-07-07 1235 81a243170f720e Jiakun Shuai 2025-07-07 1236 found: 81a243170f720e Jiakun Shuai 2025-07-07 1237 WRITE_ONCE(dev->dma_uses_p_io_tlb, true); 81a243170f720e Jiakun Shuai 2025-07-07 1238 81a243170f720e Jiakun Shuai 2025-07-07 1239 /* 81a243170f720e Jiakun Shuai 2025-07-07 1240 * The general barrier orders reads and writes against a presumed store 81a243170f720e Jiakun Shuai 2025-07-07 1241 * of the PSWIOTLB buffer address by a device driver (to a driver private 81a243170f720e Jiakun Shuai 2025-07-07 1242 * data structure). It serves two purposes. 81a243170f720e Jiakun Shuai 2025-07-07 1243 * 81a243170f720e Jiakun Shuai 2025-07-07 1244 * First, the store to dev->dma_uses_p_io_tlb must be ordered before the 81a243170f720e Jiakun Shuai 2025-07-07 1245 * presumed store. This guarantees that the returned buffer address 81a243170f720e Jiakun Shuai 2025-07-07 1246 * cannot be passed to another CPU before updating dev->dma_uses_p_io_tlb. 81a243170f720e Jiakun Shuai 2025-07-07 1247 * 81a243170f720e Jiakun Shuai 2025-07-07 1248 * Second, the load from mem->pools must be ordered before the same 81a243170f720e Jiakun Shuai 2025-07-07 1249 * presumed store. This guarantees that the returned buffer address 81a243170f720e Jiakun Shuai 2025-07-07 1250 * cannot be observed by another CPU before an update of the RCU list 81a243170f720e Jiakun Shuai 2025-07-07 1251 * that was made by pswiotlb_dyn_alloc() on a third CPU (cf. multicopy 81a243170f720e Jiakun Shuai 2025-07-07 1252 * atomicity). 81a243170f720e Jiakun Shuai 2025-07-07 1253 * 81a243170f720e Jiakun Shuai 2025-07-07 1254 * See also the comment in is_pswiotlb_buffer(). 81a243170f720e Jiakun Shuai 2025-07-07 1255 */ 81a243170f720e Jiakun Shuai 2025-07-07 1256 smp_mb(); 81a243170f720e Jiakun Shuai 2025-07-07 1257 81a243170f720e Jiakun Shuai 2025-07-07 1258 *retpool = pool; 81a243170f720e Jiakun Shuai 2025-07-07 1259 return index; 81a243170f720e Jiakun Shuai 2025-07-07 1260 } 81a243170f720e Jiakun Shuai 2025-07-07 1261 #ifdef CONFIG_DEBUG_FS 81a243170f720e Jiakun Shuai 2025-07-07 1262 :::::: The code at line 1159 was first introduced by commit :::::: 81a243170f720e9b8772c7b0a1dfb2922264e0c6 dma: phytium: Add PSWIOTLB mechanism to improve DMA performance :::::: TO: Jiakun Shuai <shuaijiakun1288(a)phytium.com.cn> :::::: CC: Jiakun Shuai <shuaijiakun1288(a)phytium.com.cn> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Andrew, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: f43f336031282e8ea7e5f7f887c5a6ff7b9c99b0 [1942/1942] arm64:vdso: Rewrite gettimeofday into C. config: arm64-allnoconfig (https://download.01.org/0day-ci/archive/20251214/202512140916.VwvjFYEj-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140916.VwvjFYEj-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140916.VwvjFYEj-lkp@intel.com/ Note: functions only called from assembly code should be annotated with the asmlinkage attribute All warnings (new ones prefixed by >>): >> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes] 268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes] 302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes] 325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) | ^~~~~~~~~~~~~~~~~~~~~ -- >> arch/arm64/kernel/vdso/gettimeofday.c:268:13: warning: no previous prototype for '__kernel_clock_gettime' [-Wmissing-prototypes] 268 | notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kernel/vdso/gettimeofday.c:302:13: warning: no previous prototype for '__kernel_gettimeofday' [-Wmissing-prototypes] 302 | notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/arm64/kernel/vdso/gettimeofday.c:325:5: warning: no previous prototype for '__kernel_clock_getres' [-Wmissing-prototypes] 325 | int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) | ^~~~~~~~~~~~~~~~~~~~~ vim +/__kernel_clock_gettime +268 arch/arm64/kernel/vdso/gettimeofday.c 267 > 268 notrace int __kernel_clock_gettime(clockid_t clock, struct timespec *ts) 269 { 270 const struct vdso_data *vd = &_vdso_data; 271 272 switch (clock) { 273 case CLOCK_REALTIME: 274 if (do_realtime(vd, ts)) 275 goto fallback; 276 break; 277 case CLOCK_MONOTONIC: 278 if (do_monotonic(vd, ts)) 279 goto fallback; 280 break; 281 case CLOCK_MONOTONIC_RAW: 282 if (do_monotonic_raw(vd, ts)) 283 goto fallback; 284 break; 285 case CLOCK_REALTIME_COARSE: 286 do_realtime_coarse(vd, ts); 287 break; 288 case CLOCK_MONOTONIC_COARSE: 289 do_monotonic_coarse(vd, ts); 290 break; 291 default: 292 goto fallback; 293 } 294 295 return 0; 296 fallback: 297 return clock_gettime_fallback(clock, ts); 298 } 299 300 301 302 notrace int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz) 303 { 304 const struct vdso_data *vd = &_vdso_data; 305 306 if (likely(tv != NULL)) { 307 struct timespec ts; 308 309 if (do_realtime(vd, &ts)) 310 return gettimeofday_fallback(tv, tz); 311 312 tv->tv_sec = ts.tv_sec; 313 tv->tv_usec = ts.tv_nsec / 1000; 314 } 315 316 if (unlikely(tz != NULL)) { 317 tz->tz_minuteswest = vd->tz_minuteswest; 318 tz->tz_dsttime = vd->tz_dsttime; 319 } 320 321 return 0; 322 } 323 324 > 325 int __kernel_clock_getres(clockid_t clock_id, struct timespec *res) -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/iommu/arm-smmu-v3-context.c:591:5: warning: no previous prototype for 'arm_smmu_get_cd_mpam'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Xingang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 2b7032bc021bef1eeca51dac8213fd3abce61dc4 [1942/1942] iommu/arm-smmu-v3: Add support to get SMMU mpam configuration config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140917.x1FlS27Y-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140917.x1FlS27Y-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140917.x1FlS27Y-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam' [-Wmissing-prototypes] 569 | int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3-context.c:591:5: warning: no previous prototype for 'arm_smmu_get_cd_mpam' [-Wmissing-prototypes] 591 | int arm_smmu_get_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ -- drivers/iommu/arm-smmu-v3.c:4296:5: warning: no previous prototype for 'arm_smmu_set_dev_mpam' [-Wmissing-prototypes] 4296 | int arm_smmu_set_dev_mpam(struct device *dev, int ssid, int partid, int pmg, | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3.c:4338:5: warning: no previous prototype for 'arm_smmu_get_dev_mpam' [-Wmissing-prototypes] 4338 | int arm_smmu_get_dev_mpam(struct device *dev, int ssid, int *partid, int *pmg, | ^~~~~~~~~~~~~~~~~~~~~ drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'ssid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'partid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 'pmg' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4298: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'ssid' not described in 'arm_smmu_get_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'partid' not described in 'arm_smmu_get_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 'pmg' not described in 'arm_smmu_get_dev_mpam' drivers/iommu/arm-smmu-v3.c:4340: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_get_dev_mpam' vim +/arm_smmu_get_cd_mpam +591 drivers/iommu/arm-smmu-v3-context.c 590 > 591 int arm_smmu_get_cd_mpam(struct iommu_pasid_table_ops *ops, 592 int ssid, int *partid, int *pmg) 593 { 594 struct arm_smmu_cd_tables *tbl = pasid_ops_to_tables(ops); 595 u64 val; 596 __le64 *cdptr = arm_smmu_get_cd_ptr(tbl, ssid); 597 598 if (!cdptr) 599 return -ENOMEM; 600 601 val = le64_to_cpu(cdptr[5]); 602 *partid = FIELD_GET(CTXDESC_CD_5_PARTID_MASK, val); 603 *pmg = FIELD_GET(CTXDESC_CD_5_PMG_MASK, val); 604 605 return 0; 606 } 607 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] block/genhd.c:642:5: warning: no previous prototype for 'disk_scan_partitions'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Yu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: cdfb5c11ad89867cd28c903369fbfebe3f36ca26 [1941/1941] block: fix kabi broken in ioctl.c config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251214/202512140221.GVjDgRQq-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140221.GVjDgRQq-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140221.GVjDgRQq-lkp@intel.com/ All warnings (new ones prefixed by >>): >> block/genhd.c:642:5: warning: no previous prototype for 'disk_scan_partitions' [-Wmissing-prototypes] 642 | int disk_scan_partitions(struct gendisk *disk, fmode_t mode) | ^~~~~~~~~~~~~~~~~~~~ block/genhd.c:533: warning: Function parameter or member 'devt' not described in 'blk_invalidate_devt' vim +/disk_scan_partitions +642 block/genhd.c d2bf1b6723ed0e Tejun Heo 2010-12-08 641 efc73feb2901d2 Christoph Hellwig 2023-04-07 @642 int disk_scan_partitions(struct gendisk *disk, fmode_t mode) b9484a857f600c Yu Kuai 2022-08-09 643 { b9484a857f600c Yu Kuai 2022-08-09 644 struct block_device *bdev; efc73feb2901d2 Christoph Hellwig 2023-04-07 645 int ret; b9484a857f600c Yu Kuai 2022-08-09 646 efc73feb2901d2 Christoph Hellwig 2023-04-07 647 if (!disk_part_scan_enabled(disk)) efc73feb2901d2 Christoph Hellwig 2023-04-07 648 return -EINVAL; b9484a857f600c Yu Kuai 2022-08-09 649 b9484a857f600c Yu Kuai 2022-08-09 650 bdev = bdget_disk(disk, 0); b9484a857f600c Yu Kuai 2022-08-09 651 if (!bdev) efc73feb2901d2 Christoph Hellwig 2023-04-07 652 return -ENOMEM; b9484a857f600c Yu Kuai 2022-08-09 653 b9484a857f600c Yu Kuai 2022-08-09 654 bdev->bd_invalidated = 1; efc73feb2901d2 Christoph Hellwig 2023-04-07 655 efc73feb2901d2 Christoph Hellwig 2023-04-07 656 ret = blkdev_get(bdev, mode, NULL); efc73feb2901d2 Christoph Hellwig 2023-04-07 657 if (!ret) efc73feb2901d2 Christoph Hellwig 2023-04-07 658 blkdev_put(bdev, mode); efc73feb2901d2 Christoph Hellwig 2023-04-07 659 efc73feb2901d2 Christoph Hellwig 2023-04-07 660 return ret; fbbec472351c99 Christoph Hellwig 2023-04-07 661 } fbbec472351c99 Christoph Hellwig 2023-04-07 662 :::::: The code at line 642 was first introduced by commit :::::: efc73feb2901d27dcd01fa859d1378aee42850aa block: merge disk_scan_partitions and blkdev_reread_part :::::: TO: Christoph Hellwig <hch(a)lst.de> :::::: CC: Yongqiang Liu <duanzi(a)zju.edu.cn> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3541/3541] kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static?
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 2e1dfc02d115143587ccfee1815ad295763050f2 [3541/3541] sched: Adjust wakeup cpu range according CPU util dynamicly config: arm64-randconfig-r113-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140710.cAqdH8JK-lkp@…) compiler: aarch64-linux-gcc (GCC) 12.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140710.cAqdH8JK-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140710.cAqdH8JK-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) kernel/sched/fair.c:143:14: sparse: sparse: symbol 'sysctl_overload_detect_period' was not declared. Should it be static? kernel/sched/fair.c:144:14: sparse: sparse: symbol 'sysctl_offline_wait_interval' was not declared. Should it be static? >> kernel/sched/fair.c:175:5: sparse: sparse: symbol 'sysctl_sched_util_low_pct' was not declared. Should it be static? kernel/sched/fair.c:1256:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity const *se @@ got struct sched_entity [noderef] __rcu * @@ kernel/sched/fair.c:1256:34: sparse: expected struct sched_entity const *se kernel/sched/fair.c:1256:34: sparse: got struct sched_entity [noderef] __rcu * kernel/sched/fair.c:3039:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu * @@ kernel/sched/fair.c:3039:13: sparse: expected struct task_struct *tsk kernel/sched/fair.c:3039:13: sparse: got struct task_struct [noderef] __rcu * kernel/sched/fair.c:12740:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:12740:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12740:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:5891:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:5891:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:5891:22: sparse: struct task_struct * kernel/sched/fair.c:7964:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:7964:20: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:7964:20: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:8258:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:8258:9: sparse: expected struct sched_domain *[assigned] tmp kernel/sched/fair.c:8258:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:8367:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/fair.c:8367:38: sparse: expected struct task_struct *curr kernel/sched/fair.c:8367:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/fair.c:8587:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:8587:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:8587:22: sparse: struct task_struct * kernel/sched/fair.c:8941:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/fair.c:8941:38: sparse: expected struct task_struct *curr kernel/sched/fair.c:8941:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/fair.c:9934:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:9934:40: sparse: expected struct sched_domain *child kernel/sched/fair.c:9934:40: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:10571:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/fair.c:10571:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/fair.c:10571:22: sparse: struct task_struct * kernel/sched/fair.c:12012:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:12012:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12012:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:11669:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:11669:44: sparse: expected struct sched_domain *sd_parent kernel/sched/fair.c:11669:44: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:12108:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:12108:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/fair.c:12108:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c:2985:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block kernel/sched/fair.c:7180:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7180:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7180:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7186:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7186:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7186:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7193:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domain [noderef] __rcu *child @@ kernel/sched/fair.c:7193:28: sparse: expected struct sched_domain *sd kernel/sched/fair.c:7193:28: sparse: got struct sched_domain [noderef] __rcu *child kernel/sched/fair.c:7201:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/fair.c:7201:17: sparse: expected struct sched_domain *[assigned] tmp kernel/sched/fair.c:7201:17: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/fair.c: note: in included file: kernel/sched/sched.h:2309:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2309:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2309:9: sparse: struct task_struct * kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2145:25: sparse: struct task_struct * kernel/sched/sched.h:2145:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2145:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2145:25: sparse: struct task_struct * vim +/sysctl_sched_util_low_pct +175 kernel/sched/fair.c 168 169 #ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY 170 /* 171 * Low utilization threshold for CPU 172 * 173 * (default: 85%), units: percentage of CPU utilization) 174 */ > 175 int sysctl_sched_util_low_pct = 85; 176 #endif 177 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Xingang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 7c01a111ee8606b0c1986bb624808769d4236742 [1942/1942] iommu/arm-smmu-v3: Add support to configure mpam in STE/CD context config: arm64-randconfig-002-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140721.kLxdCMUB-lkp@…) compiler: aarch64-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140721.kLxdCMUB-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140721.kLxdCMUB-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/iommu/arm-smmu-v3-context.c:569:5: warning: no previous prototype for 'arm_smmu_set_cd_mpam' [-Wmissing-prototypes] 569 | int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, | ^~~~~~~~~~~~~~~~~~~~ -- drivers/iommu/arm-smmu-v3.c:4267:5: warning: no previous prototype for 'arm_smmu_set_dev_mpam' [-Wmissing-prototypes] 4267 | int arm_smmu_set_dev_mpam(struct device *dev, int ssid, int partid, int pmg, | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'dev' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'ssid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'partid' not described in 'arm_smmu_set_dev_mpam' drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 'pmg' not described in 'arm_smmu_set_dev_mpam' >> drivers/iommu/arm-smmu-v3.c:4269: warning: Function parameter or member 's1mpam' not described in 'arm_smmu_set_dev_mpam' vim +/arm_smmu_set_cd_mpam +569 drivers/iommu/arm-smmu-v3-context.c 568 > 569 int arm_smmu_set_cd_mpam(struct iommu_pasid_table_ops *ops, 570 int ssid, int partid, int pmg) 571 { 572 struct arm_smmu_cd_tables *tbl = pasid_ops_to_tables(ops); 573 u64 val; 574 __le64 *cdptr = arm_smmu_get_cd_ptr(tbl, ssid); 575 576 if (!cdptr) 577 return -ENOMEM; 578 579 val = le64_to_cpu(cdptr[5]); 580 val &= ~CTXDESC_CD_5_PARTID_MASK; 581 val |= FIELD_PREP(CTXDESC_CD_5_PARTID_MASK, partid); 582 val &= ~CTXDESC_CD_5_PMG_MASK; 583 val |= FIELD_PREP(CTXDESC_CD_5_PMG_MASK, pmg); 584 WRITE_ONCE(cdptr[5], cpu_to_le64(val)); 585 586 iommu_pasid_flush(&tbl->pasid, ssid, true); 587 588 return 0; 589 } 590 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1941/1941] kernel/cgroup/cgroup.c:2240: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_lock'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Tejun, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 4924308a1ca9cc2f791398836a8744c22078ffbd [1941/1941] cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251213/202512132306.9jtRj6o7-lkp@…) compiler: aarch64-linux-gcc (GCC) 15.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251213/202512132306.9jtRj6o7-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512132306.9jtRj6o7-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/cgroup/cgroup.c:2240: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_lock' >> kernel/cgroup/cgroup.c:2250: warning: Excess function parameter 'lock_threadgroup' description in 'cgroup_attach_unlock' vim +2240 kernel/cgroup/cgroup.c 2215 2216 /** 2217 * cgroup_attach_lock - Lock for ->attach() 2218 * @lock_threadgroup: whether to down_write cgroup_threadgroup_rwsem 2219 * 2220 * cgroup migration sometimes needs to stabilize threadgroups against forks and 2221 * exits by write-locking cgroup_threadgroup_rwsem. However, some ->attach() 2222 * implementations (e.g. cpuset), also need to disable CPU hotplug. 2223 * Unfortunately, letting ->attach() operations acquire cpus_read_lock() can 2224 * lead to deadlocks. 2225 * 2226 * Bringing up a CPU may involve creating and destroying tasks which requires 2227 * read-locking threadgroup_rwsem, so threadgroup_rwsem nests inside 2228 * cpus_read_lock(). If we call an ->attach() which acquires the cpus lock while 2229 * write-locking threadgroup_rwsem, the locking order is reversed and we end up 2230 * waiting for an on-going CPU hotplug operation which in turn is waiting for 2231 * the threadgroup_rwsem to be released to create new tasks. For more details: 2232 * 2233 * http://lkml.kernel.org/r/20220711174629.uehfmqegcwn2lqzu@wubuntu 2234 * 2235 * Resolve the situation by always acquiring cpus_read_lock() before optionally 2236 * write-locking cgroup_threadgroup_rwsem. This allows ->attach() to assume that 2237 * CPU hotplug is disabled on entry. 2238 */ 2239 static void cgroup_attach_lock(void) > 2240 { 2241 cpus_read_lock(); 2242 percpu_down_write(&cgroup_threadgroup_rwsem); 2243 } 2244 2245 /** 2246 * cgroup_attach_unlock - Undo cgroup_attach_lock() 2247 * @lock_threadgroup: whether to up_write cgroup_threadgroup_rwsem 2248 */ 2249 static void cgroup_attach_unlock(void) > 2250 { 2251 percpu_up_write(&cgroup_threadgroup_rwsem); 2252 cpus_read_unlock(); 2253 } 2254 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature
by kernel test robot 14 Dec '25

14 Dec '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: b4a620ff5be6873f1669fa06c90cd15a0d569021 [1942/1942] make bch_btree_check() to be multiple threads config: x86_64-randconfig-006-20251213 (https://download.01.org/0day-ci/archive/20251214/202512140641.mYQpHQXV-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140641.mYQpHQXV-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140641.mYQpHQXV-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/super.c:12: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ 2 warnings generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/acache.c:18: In file included from drivers/md/bcache/request.h:4: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/acache.c:73:5: warning: no previous prototype for function 'acache_open' [-Wmissing-prototypes] 73 | int acache_open(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:73:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 73 | int acache_open(struct inode *inode, struct file *filp) | ^ | static drivers/md/bcache/acache.c:91:5: warning: no previous prototype for function 'acache_release' [-Wmissing-prototypes] 91 | int acache_release(struct inode *inode, struct file *filp) | ^ drivers/md/bcache/acache.c:91:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 91 | int acache_release(struct inode *inode, struct file *filp) | ^ | static drivers/md/bcache/acache.c:97:9: warning: no previous prototype for function 'read_circ_slice' [-Wmissing-prototypes] 97 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ drivers/md/bcache/acache.c:97:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 97 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^ | static drivers/md/bcache/acache.c:232:6: warning: no previous prototype for function 'init_acache_circ' [-Wmissing-prototypes] 232 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ drivers/md/bcache/acache.c:232:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 232 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^ | static drivers/md/bcache/acache.c:261:5: warning: no previous prototype for function 'acache_prefetch_init' [-Wmissing-prototypes] 261 | int acache_prefetch_init(struct acache_device *adev) | ^ drivers/md/bcache/acache.c:261:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 261 | int acache_prefetch_init(struct acache_device *adev) | ^ | static drivers/md/bcache/acache.c:514:20: warning: no previous prototype for function 'get_cached_device_by_dev' [-Wmissing-prototypes] 514 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ drivers/md/bcache/acache.c:514:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 514 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^ | static drivers/md/bcache/acache.c:527:13: warning: no previous prototype for function 'get_bio_by_item' [-Wmissing-prototypes] 527 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ drivers/md/bcache/acache.c:527:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 527 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^ | static 9 warnings generated. -- In file included from <built-in>:2: In file included from include/linux/compiler_types.h:59: include/linux/compiler-clang.h:20:9: warning: '__SANITIZE_ADDRESS__' macro redefined [-Wmacro-redefined] 20 | #define __SANITIZE_ADDRESS__ | ^ <built-in>:354:9: note: previous definition is here 354 | #define __SANITIZE_ADDRESS__ 1 | ^ In file included from drivers/md/bcache/journal.c:9: >> drivers/md/bcache/btree.h:386:14: warning: redefinition of typedef 'btree_map_keys_fn' is a C11 feature [-Wtypedef-redefinition] 386 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/btree.h:288:14: note: previous definition is here 288 | typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, | ^ drivers/md/bcache/journal.c:320:6: warning: no previous prototype for function 'is_discard_enabled' [-Wmissing-prototypes] 320 | bool is_discard_enabled(struct cache_set *s) | ^ drivers/md/bcache/journal.c:320:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 320 | bool is_discard_enabled(struct cache_set *s) | ^ | static 3 warnings generated. vim +/btree_map_keys_fn +386 drivers/md/bcache/btree.h 48dad8baf92fe8 Kent Overstreet 2013-09-10 385 fc2d5988b5972b Coly Li 2018-08-11 @386 typedef int (btree_map_keys_fn)(struct btree_op *op, struct btree *b, fc2d5988b5972b Coly Li 2018-08-11 387 struct bkey *k); fc2d5988b5972b Coly Li 2018-08-11 388 int bch_btree_map_keys(struct btree_op *op, struct cache_set *c, fc2d5988b5972b Coly Li 2018-08-11 389 struct bkey *from, btree_map_keys_fn *fn, int flags); fc2d5988b5972b Coly Li 2018-08-11 390 :::::: The code at line 386 was first introduced by commit :::::: fc2d5988b5972bced859944986fb36d902ac3698 bcache: add identifier names to arguments of function definitions :::::: TO: Coly Li <colyli(a)suse.de> :::::: CC: Jens Axboe <axboe(a)kernel.dk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1942/1942] drivers/gpu/drm/nouveau/nvkm/core/object.c:37:19: warning: mixing declarations and code is a C99 extension
by kernel test robot 14 Dec '25

14 Dec '25
Hi Dave, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 5a399b91821faeec2466751db2d714b24f8eb17c commit: 901dbb48d8a4f60af427f1ec67ac1247ff219f39 [1942/1942] nouveau: lock the client object tree. config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251214/202512140652.dui78VGp-lkp@…) compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 1335a05ab8bc8339ce24be3a9da89d8c3f4e0571) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140652.dui78VGp-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140652.dui78VGp-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/gpu/drm/nouveau/nvkm/core/object.c:37:19: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement] 37 | struct rb_node *node = client->objroot.rb_node; | ^ 1 warning generated. vim +37 drivers/gpu/drm/nouveau/nvkm/core/object.c 9274f4a9ba7e70 drivers/gpu/drm/nouveau/core/core/object.c Ben Skeggs 2012-07-06 27 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 28 struct nvkm_object * 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 29 nvkm_object_search(struct nvkm_client *client, u64 handle, 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 30 const struct nvkm_object_func *func) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 31 { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 32 struct nvkm_object *object; 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 33 unsigned long flags; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 34 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 35 if (handle) { 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 36 spin_lock_irqsave(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 @37 struct rb_node *node = client->objroot.rb_node; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 38 while (node) { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 39 object = rb_entry(node, typeof(*object), node); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 40 if (handle < object->object) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 41 node = node->rb_left; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 42 else 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 43 if (handle > object->object) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 44 node = node->rb_right; 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 45 else { 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 46 spin_unlock_irqrestore(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 47 goto done; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 48 } 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 49 } 901dbb48d8a4f6 drivers/gpu/drm/nouveau/nvkm/core/object.c Dave Airlie 2024-05-09 50 spin_unlock_irqrestore(&client->obj_lock, flags); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 51 return ERR_PTR(-ENOENT); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 52 } else { 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 53 object = &client->object; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 54 } 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 55 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 56 done: 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 57 if (unlikely(func && object->func != func)) 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 58 return ERR_PTR(-EINVAL); 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 59 return object; 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 60 } 110cccff955313 drivers/gpu/drm/nouveau/nvkm/core/object.c Ben Skeggs 2016-12-22 61 :::::: The code at line 37 was first introduced by commit :::::: 110cccff955313c66dccd2817f62368f106d9bf2 drm/nouveau/core/object: support lookup of specific object types :::::: TO: Ben Skeggs <bskeggs(a)redhat.com> :::::: CC: Ben Skeggs <bskeggs(a)redhat.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3540/3540] clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag'
by kernel test robot 14 Dec '25

14 Dec '25
Hi Shuai, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: cd9eb9b4365b71652b2c2ac58293bea47c9f9302 commit: 5bc8dbb5fdf565625b2eea4080dbd70bade992b8 [3540/3540] infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20251214/202512140527.ZQJQrPyG-lkp@…) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251214/202512140527.ZQJQrPyG-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202512140527.ZQJQrPyG-lkp@intel.com/ All warnings (new ones prefixed by >>): >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:6: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_hw.h:10: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_crm.h:7: In file included from include/linux/pci.h:1663: In file included from include/linux/dmapool.h:14: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ 11 warnings generated. -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:7: In file included from include/rdma/ib_verbs.h:15: In file included from include/linux/ethtool.h:18: In file included from include/linux/if_ether.h:19: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:8: In file included from include/linux/cacheflush.h:5: In file included from arch/arm64/include/asm/cacheflush.h:11: In file included from include/linux/kgdb.h:19: In file included from include/linux/kprobes.h:28: In file included from include/linux/ftrace.h:13: In file included from include/linux/kallsyms.h:13: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: drivers/infiniband/hw/hiroce3/cq/roce_cq.h:13:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 13 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15: drivers/infiniband/hw/hiroce3/roce.h:30:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 30 | #include "roce_verbs_cmd.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c:4: drivers/infiniband/hw/hiroce3/cq/roce_cq.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:6: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_hw.h:10: In file included from drivers/net/ethernet/huawei/hinic3/hinic3_crm.h:7: In file included from include/linux/pci.h:1663: In file included from include/linux/dmapool.h:14: In file included from include/linux/scatterlist.h:8: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:8: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:63:5: warning: no previous prototype for function 'roce3_cq_hw2sw' [-Wmissing-prototypes] 63 | int roce3_cq_hw2sw(struct roce3_device *rdev, struct roce3_cq *cq) | ^ drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c:63:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 63 | int roce3_cq_hw2sw(struct roce3_device *rdev, struct roce3_cq *cq) | ^ | static 12 warnings generated. -- >> clang: warning: no such include directory: 'drivers/infiniband/hw/hiroce3/include/mag' [-Wmissing-include-dirs] In file included from drivers/infiniband/hw/hiroce3/roce_main.c:4: In file included from include/net/ipv6.h:12: In file included from include/linux/ipv6.h:100: In file included from include/linux/tcp.h:17: In file included from include/linux/skbuff.h:17: In file included from include/linux/bvec.h:10: In file included from include/linux/highmem.h:8: In file included from include/linux/cacheflush.h:5: In file included from arch/arm64/include/asm/cacheflush.h:11: In file included from include/linux/kgdb.h:19: In file included from include/linux/kprobes.h:28: In file included from include/linux/ftrace.h:13: In file included from include/linux/kallsyms.h:13: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:536:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 536 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 537 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_ccf_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h:720:9: note: previous '#pragma pack' directive that modifies alignment is here 720 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15: drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h:9:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 9 | #include "roce_verbs_mr_attr.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: In file included from drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8: drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:15:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 15 | #include "roce_dif_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h:328:9: note: previous '#pragma pack' directive that modifies alignment is here 328 | #pragma pack() | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: In file included from drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7: drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "rdma_ext_ctx_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h:377:9: note: previous '#pragma pack' directive that modifies alignment is here 377 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:7:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 7 | #include "rdma_context_format.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h:5179:9: note: previous '#pragma pack' directive that modifies alignment is here 5179 | #pragma pack(0) | ^ In file included from drivers/infiniband/hw/hiroce3/roce_main.c:26: In file included from drivers/infiniband/hw/hiroce3/roce_event.h:20: In file included from drivers/infiniband/hw/hiroce3/roce.h:30: drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h:8:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack] 8 | #include "roce_verbs_pub.h" | ^ drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h:223:9: note: previous '#pragma pack' directive that modifies alignment is here 223 | #pragma pack() | ^ drivers/infiniband/hw/hiroce3/roce_main.c:1256:6: warning: no previous prototype for function 'roce3_need_proc_link_event' [-Wmissing-prototypes] .. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ...
  • 2196
  • Older →

HyperKitty Powered by HyperKitty