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 -----
  • 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

  • 18444 discussions
[openeuler:OLK-6.6 2257/2257] mm/mempolicy.c:1115:32: warning: variable 'vma' set but not used
by kernel test robot 20 May '25

20 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: e69c6375f883badcc9ec4c9e9ed85660ac3fb1bf commit: dba69db9a5fc7c2c9c0cda0f32bb3b5f3d73ef93 [2257/2257] mm/damon/vaddr: Add demotion interface for migrating cold pages to target nodemask config: x86_64-buildonly-randconfig-002-20250520 (https://download.01.org/0day-ci/archive/20250520/202505201856.VGaOEUgd-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201856.VGaOEUgd-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/202505201856.VGaOEUgd-lkp@intel.com/ All warnings (new ones prefixed by >>): mm/mempolicy.c: In function 'migrate_area_to_node': >> mm/mempolicy.c:1115:32: warning: variable 'vma' set but not used [-Wunused-but-set-variable] 1115 | struct vm_area_struct *vma; | ^~~ Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PTP_1588_CLOCK Depends on [n]: NET [=y] && POSIX_TIMERS [=n] Selected by [y]: - SXE [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y] - SXE_VF [=y] && NETDEVICES [=y] && ETHERNET [=y] && NET_VENDOR_LINKDATA [=y] && (X86 [=y] || ARM64) && PCI [=y] vim +/vma +1115 mm/mempolicy.c 1106 1107 /* 1108 * Migrate area pages from one node to a target node. 1109 * Returns error or the number of pages not migrated. 1110 */ 1111 static int migrate_area_to_node(struct mm_struct *mm, int source, int dest, 1112 unsigned long start, unsigned long end, int flags) 1113 { 1114 nodemask_t nmask; > 1115 struct vm_area_struct *vma; 1116 LIST_HEAD(pagelist); 1117 int err = 0; 1118 struct migration_target_control mtc = { 1119 .nid = dest, 1120 .gfp_mask = GFP_HIGHUSER_MOVABLE | __GFP_THISNODE, 1121 }; 1122 1123 nodes_clear(nmask); 1124 node_set(source, nmask); 1125 1126 /* 1127 * This does not "check" the range but isolates all pages that 1128 * need migration. Between passing in the full user address 1129 * space range and MPOL_MF_DISCONTIG_OK, this call can not fail. 1130 */ 1131 vma = find_vma(mm, 0); 1132 VM_BUG_ON(!(flags & (MPOL_MF_MOVE | MPOL_MF_MOVE_ALL))); 1133 queue_pages_range(mm, start, end, &nmask, 1134 flags | MPOL_MF_DISCONTIG_OK, &pagelist, false); 1135 1136 if (!list_empty(&pagelist)) { 1137 err = migrate_pages(&pagelist, alloc_migration_target, NULL, 1138 (unsigned long)&mtc, MIGRATE_SYNC, MR_DAMON_DEMOTION, NULL); 1139 if (err) 1140 putback_movable_pages(&pagelist); 1141 } 1142 1143 return err; 1144 } 1145 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2257/2257] drivers/crypto/sedriver/wst_se_echip_driver.c:95:25: warning: no previous prototype for 'se_get_dma_buf'
by kernel test robot 20 May '25

20 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 07f584ce776b1da46ead9c90d16968739723d311 commit: 3fb87845837f13b19d7b20349801e75f2e303293 [2257/2257] crypto: loongson: add wst se chip support config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20250520/202505201757.qoTbv6a9-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201757.qoTbv6a9-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/202505201757.qoTbv6a9-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/crypto/sedriver/wst_se_echip_driver.c:95:25: warning: no previous prototype for 'se_get_dma_buf' [-Wmissing-prototypes] 95 | struct tag_dma_buf_ctl *se_get_dma_buf(int ikernel) | ^~~~~~~~~~~~~~ >> drivers/crypto/sedriver/wst_se_echip_driver.c:114:5: warning: no previous prototype for 'se_free_dma_buf' [-Wmissing-prototypes] 114 | int se_free_dma_buf(struct tag_dma_buf_ctl *pdmabufctl) | ^~~~~~~~~~~~~~~ >> drivers/crypto/sedriver/wst_se_echip_driver.c:150:5: warning: no previous prototype for 'se_printk_hex' [-Wmissing-prototypes] 150 | int se_printk_hex(unsigned char *buff, int length) | ^~~~~~~~~~~~~ >> drivers/crypto/sedriver/wst_se_echip_driver.c:1082:9: warning: no previous prototype for 'se_kernelwrite' [-Wmissing-prototypes] 1082 | ssize_t se_kernelwrite(unsigned char *pInPtr, unsigned short usInlen, | ^~~~~~~~~~~~~~ >> drivers/crypto/sedriver/wst_se_echip_driver.c:1175:5: warning: no previous prototype for 'se_chip_load' [-Wmissing-prototypes] 1175 | int se_chip_load(void) | ^~~~~~~~~~~~ >> drivers/crypto/sedriver/wst_se_echip_driver.c:1272:6: warning: no previous prototype for 'se_chip_unload' [-Wmissing-prototypes] 1272 | void se_chip_unload(void) | ^~~~~~~~~~~~~~ vim +/se_get_dma_buf +95 drivers/crypto/sedriver/wst_se_echip_driver.c 94 > 95 struct tag_dma_buf_ctl *se_get_dma_buf(int ikernel) 96 { 97 struct tag_dma_buf_ctl *pbufctl = NULL; 98 unsigned long ultimeout = 0; 99 100 ultimeout = jiffies + 20 * HZ; 101 while (1) { 102 spin_lock(&g_getdmabuflock); 103 pbufctl = (struct tag_dma_buf_ctl *)wst_Popfront_Que( 104 &g_DmaBQueueContainer); 105 spin_unlock(&g_getdmabuflock); 106 if (pbufctl) 107 return pbufctl; 108 if (down_timeout(&g_dmabufsem, ultimeout)) 109 return NULL; 110 } 111 return pbufctl; 112 } 113 > 114 int se_free_dma_buf(struct tag_dma_buf_ctl *pdmabufctl) 115 { 116 spin_lock(&g_getdmabuflock); 117 wst_Pushback_Que(&g_DmaBQueueContainer, pdmabufctl); 118 spin_unlock(&g_getdmabuflock); 119 if (g_dmabufsem.count <= 0) 120 up(&g_dmabufsem); 121 122 return 0; 123 } 124 125 static unsigned long bytes_align(struct device *pdev, unsigned long ulVirAddr) 126 { 127 unsigned char diff; 128 unsigned long ulPhyAddr = (unsigned long)__pa((void *)ulVirAddr); 129 130 if ((ulPhyAddr & 0x000000000000003f) == 0) 131 return ulVirAddr; 132 diff = ((long)ulPhyAddr & (~(0x000000000000003f))) + 64 - ulPhyAddr; 133 ulVirAddr += diff; 134 135 return ulVirAddr; 136 } 137 138 static unsigned long descri_bytes_align(unsigned long ulVirAddr) 139 { 140 unsigned char diff; 141 unsigned long ulPhyAddr = ulVirAddr; 142 143 if ((ulPhyAddr & (~0x00000000ffffffe0)) == 0) 144 return ulVirAddr; 145 diff = ((long)ulPhyAddr & 0x00000000ffffffe0) + 32 - ulPhyAddr; 146 ulVirAddr += diff; 147 return ulVirAddr; 148 } 149 > 150 int se_printk_hex(unsigned char *buff, int length) 151 { 152 unsigned char *string_tmp = buff; 153 int i; 154 int count = 0; 155 156 for (i = 0; i < length; i++, count++) { 157 if (count < 16) 158 pr_info("%02x ", string_tmp[i]); 159 else { 160 count = 0; 161 pr_info("\n%02x ", string_tmp[i]); 162 continue; 163 } 164 } 165 pr_info("\n"); 166 return 0; 167 } 168 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1646/1646] mm/memory_hotplug.c:482:23: warning: variable 'start_pfn' set but not used
by kernel test robot 20 May '25

20 May '25
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 2eb609d2f89b2d85d89cb018c3f97050989807e2 commit: 8de9a7ef5533b50d0054c06cb04bd266ecac17b7 [1646/1646] mm/memory_hotplug: shrink zones when offlining memory config: arm64-randconfig-001-20250520 (https://download.01.org/0day-ci/archive/20250520/202505201731.rOzzhiIH-lkp@…) compiler: aarch64-linux-gcc (GCC) 13.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201731.rOzzhiIH-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/202505201731.rOzzhiIH-lkp@intel.com/ All warnings (new ones prefixed by >>): mm/memory_hotplug.c: In function '__remove_section': >> mm/memory_hotplug.c:482:23: warning: variable 'start_pfn' set but not used [-Wunused-but-set-variable] 482 | unsigned long start_pfn; | ^~~~~~~~~ vim +/start_pfn +482 mm/memory_hotplug.c 815121d2b5cd56 Yasuaki Ishimatsu 2013-02-22 478 8de9a7ef5533b5 David Hildenbrand 2020-09-22 479 static void __remove_section(struct mem_section *ms, unsigned long map_offset, b9f9a54ea6ea41 David Hildenbrand 2020-09-22 480 struct vmem_altmap *altmap) ea01ea937dcae2 Badari Pulavarty 2008-04-28 481 { 815121d2b5cd56 Yasuaki Ishimatsu 2013-02-22 @482 unsigned long start_pfn; 815121d2b5cd56 Yasuaki Ishimatsu 2013-02-22 483 int scn_nr; ea01ea937dcae2 Badari Pulavarty 2008-04-28 484 b9f9a54ea6ea41 David Hildenbrand 2020-09-22 485 if (WARN_ON_ONCE(!valid_section(ms))) b9f9a54ea6ea41 David Hildenbrand 2020-09-22 486 return; ea01ea937dcae2 Badari Pulavarty 2008-04-28 487 815121d2b5cd56 Yasuaki Ishimatsu 2013-02-22 488 scn_nr = __section_nr(ms); 1dd2bfc86818dd YASUAKI ISHIMATSU 2017-10-03 489 start_pfn = section_nr_to_pfn((unsigned long)scn_nr); 815121d2b5cd56 Yasuaki Ishimatsu 2013-02-22 490 457dd3c8002ca0 David Hildenbrand 2020-09-22 491 sparse_remove_one_section(ms, map_offset, altmap); ea01ea937dcae2 Badari Pulavarty 2008-04-28 492 } ea01ea937dcae2 Badari Pulavarty 2008-04-28 493 :::::: The code at line 482 was first introduced by commit :::::: 815121d2b5cd56f1757d4468dc3abadd06a0ed6b memory_hotplug: clear zone when removing the memory :::::: TO: Yasuaki Ishimatsu <isimatu.yasuaki(a)jp.fujitsu.com> :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2257/2257] mm/madvise.c:297:6: warning: no previous prototype for 'force_swapin_vma'
by kernel test robot 20 May '25

20 May '25
Hi Liu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 289de29f4f837038aa79e765e64ddc1d410fe5fd commit: 92a0eb9bde6c03412b39f9f3d20968c091ea3b46 [2257/2257] memcg: introduce per-memcg swapin interface config: loongarch-randconfig-002-20250520 (https://download.01.org/0day-ci/archive/20250520/202505201708.6dvo6U58-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201708.6dvo6U58-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/202505201708.6dvo6U58-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/madvise.c:297:6: warning: no previous prototype for 'force_swapin_vma' [-Wmissing-prototypes] 297 | void force_swapin_vma(struct vm_area_struct *vma) | ^~~~~~~~~~~~~~~~ vim +/force_swapin_vma +297 mm/madvise.c 280 281 #ifdef CONFIG_MEMCG_SWAP_QOS 282 void force_swapin_vma(struct vm_area_struct *vma) 283 { 284 struct file *file = vma->vm_file; 285 286 if (!can_madv_lru_vma(vma)) 287 return; 288 289 if (!file) { 290 walk_page_vma(vma, &swapin_walk_ops, vma); 291 lru_add_drain(); 292 } else if (shmem_mapping(file->f_mapping)) 293 shmem_swapin_range(vma, vma->vm_start, 294 vma->vm_end, file->f_mapping); 295 } 296 #else > 297 void force_swapin_vma(struct vm_area_struct *vma) 298 { 299 } 300 #endif 301 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2258/2258] versioncheck: ./drivers/crypto/sedriver/wst_se_common_type.h: 19 linux/version.h not needed.
by kernel test robot 20 May '25

20 May '25
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 289de29f4f837038aa79e765e64ddc1d410fe5fd commit: 3fb87845837f13b19d7b20349801e75f2e303293 [2258/2258] crypto: loongson: add wst se chip support reproduce: (https://download.01.org/0day-ci/archive/20250520/202505201722.VJAhefze-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/202505201722.VJAhefze-lkp@intel.com/ versioncheck warnings: (new ones prefixed by >>) INFO PATH=/opt/cross/rustc-1.73.0-bindgen-0.65.1/cargo/bin:/opt/cross/clang-20/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/timeout -k 100 3h /usr/bin/make KCFLAGS= -Wno-error=return-type -Wreturn-type -funsigned-char -Wundef W=1 --keep-going LLVM=1 -j16 ARCH=x86_64 versioncheck find ./* \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o \ -name '*.[hcS]' -type f -print | sort \ | xargs perl -w ./scripts/checkversion.pl ./drivers/accessibility/speakup/genmap.c: 13 linux/version.h not needed. ./drivers/accessibility/speakup/makemapdata.c: 13 linux/version.h not needed. ./drivers/char/ipmi/ipmi_si_ls2k500.c: 19 linux/version.h not needed. ./drivers/crypto/ccp/hygon/hct.c: 6 linux/version.h not needed. ./drivers/crypto/ccp/hygon/tdm-dev.h: 29 linux/version.h not needed. ./drivers/crypto/montage/tsse/tsse_vuart.c: 21 linux/version.h not needed. >> ./drivers/crypto/sedriver/wst_se_common_type.h: 19 linux/version.h not needed. ./drivers/gpu/drm/phytium/phytium_gem.c: 9 linux/version.h not needed. ./drivers/i2c/busses/i2c-zhaoxin.c: 18 linux/version.h not needed. ./drivers/net/ethernet/3snic/sssnic/include/kernel/sss_linux_kernel.h: 13 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/edma_drv/bma_include.h: 32 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c: 17 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_include.h: 20 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_main.c: 22 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_mce.c: 16 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_ram_op.c: 16 linux/version.h not needed. ./drivers/net/ethernet/huawei/hinic/ossl_knl.h: 22 linux/version.h not needed. ./drivers/net/ethernet/huawei/hinic3/bond/hinic3_bond.c: 12 linux/version.h not needed. ./drivers/net/ethernet/huawei/hinic3/ossl_knl_linux.h: 12 linux/version.h not needed. ./drivers/net/ethernet/linkdata/sxe/base/compat/sxe_compat.h: 16 linux/version.h not needed. ./drivers/net/ethernet/linkdata/sxevf/base/compat/sxe_compat.h: 16 linux/version.h not needed. ./drivers/net/ethernet/mucse/rnpm/rnpm_common.h: 7 linux/version.h not needed. ./drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h: 26 linux/version.h not needed. ./drivers/scsi/hisi_raid/hiraid_main.c: 9 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/linux/ps3_base.c: 11 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/linux/ps3_cli.c: 14 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/linux/ps3_driver_log.c: 3 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_device_manager.h: 9 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_device_manager_sas.h: 6 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_qos.c: 6 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_rb_tree.h: 7 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_sas_transport.h: 9 linux/version.h not needed. ./drivers/scsi/linkdata/ps3stor/ps3_scsi_cmd_err.c: 9 linux/version.h not needed. ./drivers/scsi/sssraid/sssraid_fw.c: 6 linux/version.h not needed. ./drivers/scsi/sssraid/sssraid_os.c: 6 linux/version.h not needed. ./drivers/staging/media/atomisp/include/linux/atomisp.h: 23 linux/version.h not needed. ./fs/proc/etmem_scan.c: 13 linux/version.h not needed. ./samples/bpf/spintest.bpf.c: 8 linux/version.h not needed. ./samples/trace_events/trace_custom_sched.c: 11 linux/version.h not needed. ./sound/soc/codecs/cs42l42.c: 14 linux/version.h not needed. ./tools/lib/bpf/bpf_helpers.h: 402: need linux/version.h ./tools/testing/selftests/bpf/progs/dev_cgroup.c: 9 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/netcnt_prog.c: 3 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_map_lock.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_send_signal_kern.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_spin_lock.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_tcp_estats.c: 37 linux/version.h not needed. ./tools/testing/selftests/wireguard/qemu/init.c: 27 linux/version.h not needed. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2257/2257] mm/memcontrol.c:4428:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used
by kernel test robot 20 May '25

20 May '25
Hi Liu, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 289de29f4f837038aa79e765e64ddc1d410fe5fd commit: a095a940f784db58ea4e87df361f9a4fd0dd977f [2257/2257] memcg: add restrict to swap to cgroup1 config: x86_64-buildonly-randconfig-002-20250520 (https://download.01.org/0day-ci/archive/20250520/202505201603.DayzxkWd-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201603.DayzxkWd-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/202505201603.DayzxkWd-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/memcontrol.c:4428:12: warning: 'mem_cgroup_check_swap_for_v1' defined but not used [-Wunused-function] 4428 | static int mem_cgroup_check_swap_for_v1(struct folio *folio, swp_entry_t entry) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/mem_cgroup_check_swap_for_v1 +4428 mm/memcontrol.c 4427 > 4428 static int mem_cgroup_check_swap_for_v1(struct folio *folio, swp_entry_t entry) 4429 { 4430 return 0; 4431 } 4432 #endif 4433 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 1646/1646] mm/khugepaged.c:1307: warning: Function parameter or member 'mm' not described in 'collapse_shmem'
by kernel test robot 20 May '25

20 May '25
Hi Paulo, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 8ef0a44ca2d0533e47597c06656a95d56aecc0c3 commit: 71e217e85c3dff8a9151707ed3afc7b4b054a2d4 [1646/1646] selinux: use kernel linux/socket.h for genheaders and mdp config: x86_64-buildonly-randconfig-002-20250520 (https://download.01.org/0day-ci/archive/20250520/202505201642.9kWf73yF-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250520/202505201642.9kWf73yF-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/202505201642.9kWf73yF-lkp@intel.com/ All warnings (new ones prefixed by >>): >> mm/khugepaged.c:1307: warning: Function parameter or member 'mm' not described in 'collapse_shmem' >> mm/khugepaged.c:1307: warning: Function parameter or member 'mapping' not described in 'collapse_shmem' >> mm/khugepaged.c:1307: warning: Function parameter or member 'start' not described in 'collapse_shmem' >> mm/khugepaged.c:1307: warning: Function parameter or member 'hpage' not described in 'collapse_shmem' >> mm/khugepaged.c:1307: warning: Function parameter or member 'node' not described in 'collapse_shmem' mm/khugepaged.o: warning: objtool: start_stop_khugepaged()+0x185: sibling call from callable instruction with modified stack frame mm/khugepaged.o: warning: objtool: start_stop_khugepaged.cold()+0x0: call without frame pointer save/setup -- mm/huge_memory.c:501:15: warning: no previous prototype for '__thp_get_unmapped_area' [-Wmissing-prototypes] 501 | unsigned long __thp_get_unmapped_area(struct file *filp, unsigned long len, | ^~~~~~~~~~~~~~~~~~~~~~~ mm/huge_memory.c: In function 'zap_huge_pud': >> mm/huge_memory.c:1997:15: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable] 1997 | pud_t orig_pud; | ^~~~~~~~ mm/huge_memory.o: warning: objtool: split_huge_pages_set.part.0()+0x23: sibling call from callable instruction with modified stack frame mm/huge_memory.o: warning: objtool: split_huge_pages_set.part.0.cold()+0xa: call without frame pointer save/setup -- In file included from include/linux/page_counter.h:6, from mm/memcontrol.c:34: mm/memcontrol.c: In function 'mem_cgroup_get_max': include/linux/kernel.h:879:45: warning: comparison of unsigned expression in '< 0' is always false [-Wtype-limits] 879 | #define min(x, y) __careful_cmp(x, y, <) | ^ include/linux/kernel.h:862:30: note: in definition of macro '__cmp' 862 | #define __cmp(x, y, op) ((x) op (y) ? (x) : (y)) | ^~ include/linux/kernel.h:879:25: note: in expansion of macro '__careful_cmp' 879 | #define min(x, y) __careful_cmp(x, y, <) | ^~~~~~~~~~~~~ mm/memcontrol.c:1373:28: note: in expansion of macro 'min' 1373 | swap_max = min(swap_max, (unsigned long)total_swap_pages); | ^~~ >> mm/memcontrol.c:5790: warning: bad line: | 0, otherwise. mm/memcontrol.o: warning: objtool: mem_cgroup_print_oom_info()+0x3a: sibling call from callable instruction with modified stack frame mm/memcontrol.o: warning: objtool: mem_cgroup_print_oom_info.cold()+0x7: call without frame pointer save/setup vim +1307 mm/khugepaged.c f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1285 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1286 /** f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1287 * collapse_shmem - collapse small tmpfs/shmem pages into huge one. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1288 * f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1289 * Basic scheme is simple, details are more complex: af24c01831e4e2 Hugh Dickins 2018-11-30 1290 * - allocate and lock a new huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1291 * - scan over radix tree replacing old pages the new one f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1292 * + swap in pages if necessary; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1293 * + fill in gaps; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1294 * + keep old pages around in case if rollback is required; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1295 * - if replacing succeed: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1296 * + copy data over; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1297 * + free old pages; af24c01831e4e2 Hugh Dickins 2018-11-30 1298 * + unlock huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1299 * - if replacing failed; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1300 * + put all pages back and unfreeze them; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1301 * + restore gaps in the radix-tree; af24c01831e4e2 Hugh Dickins 2018-11-30 1302 * + unlock and free huge page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1303 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1304 static void collapse_shmem(struct mm_struct *mm, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1305 struct address_space *mapping, pgoff_t start, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1306 struct page **hpage, int node) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 @1307 { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1308 gfp_t gfp; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1309 struct page *page, *new_page, *tmp; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1310 struct mem_cgroup *memcg; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1311 pgoff_t index, end = start + HPAGE_PMD_NR; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1312 LIST_HEAD(pagelist); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1313 struct radix_tree_iter iter; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1314 void **slot; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1315 int nr_none = 0, result = SCAN_SUCCEED; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1316 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1317 VM_BUG_ON(start & (HPAGE_PMD_NR - 1)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1318 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1319 /* Only allocate from the target node */ 41b6167e8f746b Michal Hocko 2017-01-10 1320 gfp = alloc_hugepage_khugepaged_gfpmask() | __GFP_THISNODE; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1321 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1322 new_page = khugepaged_alloc_page(hpage, gfp, node); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1323 if (!new_page) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1324 result = SCAN_ALLOC_HUGE_PAGE_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1325 goto out; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1326 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1327 2a70f6a76bb86d Michal Hocko 2018-04-10 1328 if (unlikely(mem_cgroup_try_charge(new_page, mm, gfp, &memcg, true))) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1329 result = SCAN_CGROUP_CHARGE_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1330 goto out; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1331 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1332 3e9646c76cb91d Hugh Dickins 2018-11-30 1333 __SetPageLocked(new_page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1334 __SetPageSwapBacked(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1335 new_page->index = start; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1336 new_page->mapping = mapping; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1337 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1338 /* af24c01831e4e2 Hugh Dickins 2018-11-30 1339 * At this point the new_page is locked and not up-to-date. af24c01831e4e2 Hugh Dickins 2018-11-30 1340 * It's safe to insert it into the page cache, because nobody would af24c01831e4e2 Hugh Dickins 2018-11-30 1341 * be able to map it or use it in another way until we unlock it. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1342 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1343 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1344 index = start; b93b016313b3ba Matthew Wilcox 2018-04-10 1345 xa_lock_irq(&mapping->i_pages); b93b016313b3ba Matthew Wilcox 2018-04-10 1346 radix_tree_for_each_slot(slot, &mapping->i_pages, &iter, start) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1347 int n = min(iter.index, end) - index; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1348 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1349 /* 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1350 * Stop if extent has been hole-punched, and is now completely 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1351 * empty (the more obvious i_size_read() check would take an 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1352 * irq-unsafe seqlock on 32-bit). 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1353 */ 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1354 if (n >= HPAGE_PMD_NR) { 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1355 result = SCAN_TRUNCATED; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1356 goto tree_locked; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1357 } 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1358 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1359 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1360 * Handle holes in the radix tree: charge it from shmem and f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1361 * insert relevant subpage of new_page into the radix-tree. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1362 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1363 if (n && !shmem_charge(mapping->host, n)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1364 result = SCAN_FAIL; 3e9646c76cb91d Hugh Dickins 2018-11-30 1365 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1366 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1367 for (; index < min(iter.index, end); index++) { b93b016313b3ba Matthew Wilcox 2018-04-10 1368 radix_tree_insert(&mapping->i_pages, index, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1369 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1370 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1371 nr_none += n; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1372 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1373 /* We are done. */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1374 if (index >= end) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1375 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1376 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1377 page = radix_tree_deref_slot_protected(slot, b93b016313b3ba Matthew Wilcox 2018-04-10 1378 &mapping->i_pages.xa_lock); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1379 if (radix_tree_exceptional_entry(page) || !PageUptodate(page)) { b93b016313b3ba Matthew Wilcox 2018-04-10 1380 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1381 /* swap in or instantiate fallocated page */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1382 if (shmem_getpage(mapping->host, index, &page, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1383 SGP_NOHUGE)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1384 result = SCAN_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1385 goto tree_unlocked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1386 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1387 } else if (trylock_page(page)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1388 get_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1389 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1390 } else { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1391 result = SCAN_PAGE_LOCK; 3e9646c76cb91d Hugh Dickins 2018-11-30 1392 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1393 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1394 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1395 /* b93b016313b3ba Matthew Wilcox 2018-04-10 1396 * The page must be locked, so we can drop the i_pages lock f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1397 * without racing with truncate. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1398 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1399 VM_BUG_ON_PAGE(!PageLocked(page), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1400 VM_BUG_ON_PAGE(!PageUptodate(page), page); 8b37c40503eadc Hugh Dickins 2018-11-30 1401 8b37c40503eadc Hugh Dickins 2018-11-30 1402 /* 8b37c40503eadc Hugh Dickins 2018-11-30 1403 * If file was truncated then extended, or hole-punched, before 8b37c40503eadc Hugh Dickins 2018-11-30 1404 * we locked the first page, then a THP might be there already. 8b37c40503eadc Hugh Dickins 2018-11-30 1405 */ 8b37c40503eadc Hugh Dickins 2018-11-30 1406 if (PageTransCompound(page)) { 8b37c40503eadc Hugh Dickins 2018-11-30 1407 result = SCAN_PAGE_COMPOUND; 8b37c40503eadc Hugh Dickins 2018-11-30 1408 goto out_unlock; 8b37c40503eadc Hugh Dickins 2018-11-30 1409 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1410 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1411 if (page_mapping(page) != mapping) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1412 result = SCAN_TRUNCATED; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1413 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1414 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1415 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1416 if (isolate_lru_page(page)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1417 result = SCAN_DEL_PAGE_LRU; 3e9646c76cb91d Hugh Dickins 2018-11-30 1418 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1419 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1420 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1421 if (page_mapped(page)) 977fbdcd5986c9 Matthew Wilcox 2018-01-31 1422 unmap_mapping_pages(mapping, index, 1, false); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1423 b93b016313b3ba Matthew Wilcox 2018-04-10 1424 xa_lock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1425 b93b016313b3ba Matthew Wilcox 2018-04-10 1426 slot = radix_tree_lookup_slot(&mapping->i_pages, index); 91a45f71078a65 Johannes Weiner 2016-12-12 1427 VM_BUG_ON_PAGE(page != radix_tree_deref_slot_protected(slot, b93b016313b3ba Matthew Wilcox 2018-04-10 1428 &mapping->i_pages.xa_lock), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1429 VM_BUG_ON_PAGE(page_mapped(page), page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1430 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1431 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1432 * The page is expected to have page_count() == 3: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1433 * - we hold a pin on it; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1434 * - one reference from radix tree; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1435 * - one from isolate_lru_page; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1436 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1437 if (!page_ref_freeze(page, 3)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1438 result = SCAN_PAGE_COUNT; 3e9646c76cb91d Hugh Dickins 2018-11-30 1439 xa_unlock_irq(&mapping->i_pages); 3e9646c76cb91d Hugh Dickins 2018-11-30 1440 putback_lru_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1441 goto out_unlock; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1442 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1443 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1444 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1445 * Add the page to the list to be able to undo the collapse if f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1446 * something go wrong. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1447 */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1448 list_add_tail(&page->lru, &pagelist); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1449 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1450 /* Finally, replace with the new page. */ b93b016313b3ba Matthew Wilcox 2018-04-10 1451 radix_tree_replace_slot(&mapping->i_pages, slot, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1452 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1453 148deab223b237 Matthew Wilcox 2016-12-14 1454 slot = radix_tree_iter_resume(slot, &iter); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1455 index++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1456 continue; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1457 out_unlock: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1458 unlock_page(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1459 put_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1460 goto tree_unlocked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1461 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1462 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1463 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1464 * Handle hole in radix tree at the end of the range. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1465 * This code only triggers if there's nothing in radix tree f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1466 * beyond 'end'. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1467 */ 3e9646c76cb91d Hugh Dickins 2018-11-30 1468 if (index < end) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1469 int n = end - index; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1470 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1471 /* Stop if extent has been truncated, and is now empty */ 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1472 if (n >= HPAGE_PMD_NR) { 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1473 result = SCAN_TRUNCATED; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1474 goto tree_locked; 8797f2f4fe0d55 Hugh Dickins 2018-11-30 1475 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1476 if (!shmem_charge(mapping->host, n)) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1477 result = SCAN_FAIL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1478 goto tree_locked; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1479 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1480 for (; index < end; index++) { b93b016313b3ba Matthew Wilcox 2018-04-10 1481 radix_tree_insert(&mapping->i_pages, index, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1482 new_page + (index % HPAGE_PMD_NR)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1483 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1484 nr_none += n; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1485 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1486 3e9646c76cb91d Hugh Dickins 2018-11-30 1487 __inc_node_page_state(new_page, NR_SHMEM_THPS); 3e9646c76cb91d Hugh Dickins 2018-11-30 1488 if (nr_none) { 3e9646c76cb91d Hugh Dickins 2018-11-30 1489 struct zone *zone = page_zone(new_page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1490 3e9646c76cb91d Hugh Dickins 2018-11-30 1491 __mod_node_page_state(zone->zone_pgdat, NR_FILE_PAGES, nr_none); 3e9646c76cb91d Hugh Dickins 2018-11-30 1492 __mod_node_page_state(zone->zone_pgdat, NR_SHMEM, nr_none); 3e9646c76cb91d Hugh Dickins 2018-11-30 1493 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1494 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1495 tree_locked: b93b016313b3ba Matthew Wilcox 2018-04-10 1496 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1497 tree_unlocked: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1498 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1499 if (result == SCAN_SUCCEED) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1500 /* f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1501 * Replacing old pages with new one has succeed, now we need to f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1502 * copy the content and free old pages. f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1503 */ ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1504 index = start; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1505 list_for_each_entry_safe(page, tmp, &pagelist, lru) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1506 while (index < page->index) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1507 clear_highpage(new_page + (index % HPAGE_PMD_NR)); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1508 index++; ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1509 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1510 copy_highpage(new_page + (page->index % HPAGE_PMD_NR), f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1511 page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1512 list_del(&page->lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1513 page->mapping = NULL; 3e9646c76cb91d Hugh Dickins 2018-11-30 1514 page_ref_unfreeze(page, 1); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1515 ClearPageActive(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1516 ClearPageUnevictable(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1517 unlock_page(page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1518 put_page(page); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1519 index++; ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1520 } ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1521 while (index < end) { ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1522 clear_highpage(new_page + (index % HPAGE_PMD_NR)); ee13d69bc1e8a5 Hugh Dickins 2018-11-30 1523 index++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1524 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1525 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1526 SetPageUptodate(new_page); af24c01831e4e2 Hugh Dickins 2018-11-30 1527 page_ref_add(new_page, HPAGE_PMD_NR - 1); 3e9646c76cb91d Hugh Dickins 2018-11-30 1528 set_page_dirty(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1529 mem_cgroup_commit_charge(new_page, memcg, false, true); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1530 lru_cache_add_anon(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1531 3e9646c76cb91d Hugh Dickins 2018-11-30 1532 /* 3e9646c76cb91d Hugh Dickins 2018-11-30 1533 * Remove pte page tables, so we can re-fault the page as huge. 3e9646c76cb91d Hugh Dickins 2018-11-30 1534 */ 3e9646c76cb91d Hugh Dickins 2018-11-30 1535 retract_page_tables(mapping, start); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1536 *hpage = NULL; 87aa752906ecf6 Yang Shi 2018-08-17 1537 87aa752906ecf6 Yang Shi 2018-08-17 1538 khugepaged_pages_collapsed++; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1539 } else { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1540 /* Something went wrong: rollback changes to the radix-tree */ b93b016313b3ba Matthew Wilcox 2018-04-10 1541 xa_lock_irq(&mapping->i_pages); 78141aabfbb956 Hugh Dickins 2018-11-30 1542 mapping->nrpages -= nr_none; 78141aabfbb956 Hugh Dickins 2018-11-30 1543 shmem_uncharge(mapping->host, nr_none); 78141aabfbb956 Hugh Dickins 2018-11-30 1544 b93b016313b3ba Matthew Wilcox 2018-04-10 1545 radix_tree_for_each_slot(slot, &mapping->i_pages, &iter, start) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1546 if (iter.index >= end) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1547 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1548 page = list_first_entry_or_null(&pagelist, f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1549 struct page, lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1550 if (!page || iter.index < page->index) { f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1551 if (!nr_none) f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1552 break; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1553 nr_none--; 59749e6ce53735 Johannes Weiner 2016-12-12 1554 /* Put holes back where they were */ b93b016313b3ba Matthew Wilcox 2018-04-10 1555 radix_tree_delete(&mapping->i_pages, iter.index); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1556 continue; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1557 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1558 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1559 VM_BUG_ON_PAGE(page->index != iter.index, page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1560 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1561 /* Unfreeze the page. */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1562 list_del(&page->lru); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1563 page_ref_unfreeze(page, 2); b93b016313b3ba Matthew Wilcox 2018-04-10 1564 radix_tree_replace_slot(&mapping->i_pages, slot, page); 148deab223b237 Matthew Wilcox 2016-12-14 1565 slot = radix_tree_iter_resume(slot, &iter); b93b016313b3ba Matthew Wilcox 2018-04-10 1566 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1567 unlock_page(page); 3e9646c76cb91d Hugh Dickins 2018-11-30 1568 putback_lru_page(page); b93b016313b3ba Matthew Wilcox 2018-04-10 1569 xa_lock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1570 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1571 VM_BUG_ON(nr_none); b93b016313b3ba Matthew Wilcox 2018-04-10 1572 xa_unlock_irq(&mapping->i_pages); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1573 f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1574 mem_cgroup_cancel_charge(new_page, memcg, true); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1575 new_page->mapping = NULL; f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1576 } 3e9646c76cb91d Hugh Dickins 2018-11-30 1577 3e9646c76cb91d Hugh Dickins 2018-11-30 1578 unlock_page(new_page); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1579 out: f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1580 VM_BUG_ON(!list_empty(&pagelist)); f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1581 /* TODO: tracepoints */ f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1582 } f3f0e1d2150b2b Kirill A. Shutemov 2016-07-26 1583 :::::: The code at line 1307 was first introduced by commit :::::: f3f0e1d2150b2b99da2cbdfaad000089efe9bf30 khugepaged: add support of collapse for tmpfs/shmem pages :::::: TO: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com> :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-5.10 0/2] bugfixes for fuse fastpath and fast_ipc
by chenrenhui 20 May '25

20 May '25
bugfixes for fuse fastpath and fast_ipc wuyifeng10 (2): fuse: add fuse fastpath forget cmd support ipc: fix error kill signal handle in fast_ipc fs/fuse/dev.c | 46 ++++++++++++++++++++++++++++++++++------ fs/fuse/dir.c | 16 ++++++++++++++ fs/fuse/fuse_i.h | 3 +++ fs/fuse/inode.c | 5 +++++ include/linux/fast_ipc.h | 6 ++++++ ipc/fast_ipc.c | 25 ++++++++++++++++------ 6 files changed, 88 insertions(+), 13 deletions(-) -- 2.33.0
2 3
0 0
[openeuler:OLK-6.6 2257/2257] htmldocs: Warning: drivers/arm/mm_monitor/spe-decoder/arm-spe-decoder.c references a file that doesn't exist: Documentation/arm64/memory.rst
by kernel test robot 20 May '25

20 May '25
Hi Ze, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 289de29f4f837038aa79e765e64ddc1d410fe5fd commit: b8a759002c48f227d03084fb6b6213a3beaa44e3 [2257/2257] mm_monitor/mm_spe: Introduce standalone SPE profiling framework reproduce: (https://download.01.org/0day-ci/archive/20250520/202505201519.o4k4rCxn-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/202505201519.o4k4rCxn-lkp@intel.com/ All warnings (new ones prefixed by >>): Warning: Documentation/devicetree/bindings/regulator/siliconmitus,sm5703-regulator.yaml references a file that doesn't exist: Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml Warning: Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml references a file that doesn't exist: Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml Warning: Documentation/trace/coresight/coresight.rst references a file that doesn't exist: Documentation/devicetree/bindings/arm/arm,coresight- Warning: Documentation/usb/gadget_uvc.rst references a file that doesn't exist: Documentation/userspace-api/media/v4l/pixfmt-packed.yuv.rst Warning: crypto/asymmetric_keys/pgp_preload.c references a file that doesn't exist: Documentation/security/keys-crypto.txt >> Warning: drivers/arm/mm_monitor/spe-decoder/arm-spe-decoder.c references a file that doesn't exist: Documentation/arm64/memory.rst Warning: drivers/net/ethernet/nebula-matrix/Kconfig references a file that doesn't exist: file:Documentation/networking/device_drivers/ethernet/nebula-matrix/m18110.rst Warning: drivers/net/ethernet/yunsilicon/xsc/common/xsc_ioctl.h references a file that doesn't exist: Documentation/ioctl/ioctl-number.txt Warning: kernel/Kconfig.kexec references a file that doesn't exist: file:Documentation/s390/zfcpdump.rst Warning: mm/hugetlb_vmemmap.h references a file that doesn't exist: Documentation/vm/vmemmap_dedup.rst Using alabaster theme -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-5.10 0/2] bugfixes for fuse fastpath and fast_ipc
by chenrenhui 20 May '25

20 May '25
bugfixes for fuse fastpath and fast_ipc chenrenhui (1): fuse: add fuse fastpath forget cmd support wuyifeng10 (1): ipc: fix error kill signal handle in fastpath fs/fuse/dev.c | 46 ++++++++++++++++++++++++++++++++++------ fs/fuse/dir.c | 16 ++++++++++++++ fs/fuse/fuse_i.h | 3 +++ fs/fuse/inode.c | 5 +++++ include/linux/fast_ipc.h | 6 ++++++ ipc/fast_ipc.c | 25 ++++++++++++++++------ 6 files changed, 88 insertions(+), 13 deletions(-) -- 2.33.0
2 3
0 0
  • ← Newer
  • 1
  • ...
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • ...
  • 1845
  • Older →

HyperKitty Powered by HyperKitty