tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 72a85e2b0a1e1e6fb4ee51ae902730212b2de25c commit: cf8194e46c1edd2368d19b71476bb77dc7bcb4c0 MIPS: Loongson64: Give chance to build under !CONFIG_NUMA and !CONFIG_SMP date: 2 years ago config: mips-randconfig-r026-20221224 compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project f5700e7b69048de958172fb513b336564e7f8709) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install mips cross compiling tool for clang build # apt-get install binutils-mips64el-linux-gnuabi64 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8194e46c1edd2368d19b71476bb77dc7bcb4c0 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout cf8194e46c1edd2368d19b71476bb77dc7bcb4c0 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash fs/f2fs/ kernel/bpf/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): >> fs/f2fs/gc.c:1522:12: warning: stack frame size (2240) exceeds limit (2048) in 'do_garbage_collect' [-Wframe-larger-than] static int do_garbage_collect(struct f2fs_sb_info *sbi, ^ 1930/2240 (86.16%) spills, 310/2240 (13.84%) variables fatal error: error in backend: Nested variants found in inline asm string: ' .set push .set mips64r2 .if ( (__builtin_constant_p(!!(( 0x00 ) != -1)) ? (!!(( 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 105, $); (!!(( 0x00 ) != -1)) ? (__if_trace.miss_hit[1]++,1) : (__if_trace.miss_hit[0]++,0); $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif 1: lld $0, $1 or $0, $2 scd $0, $1 beqz $0, 1b .set pop ' clang-16: error: clang frontend command failed with exit code 70 (use -v to see invocation) clang version 16.0.0 (git://gitmirror/llvm_project f5700e7b69048de958172fb513b336564e7f8709) Target: mips64el-unknown-linux Thread model: posix InstalledDir: /opt/cross/clang/bin clang-16: note: diagnostic msg: ******************** vim +/do_garbage_collect +1522 fs/f2fs/gc.c 7bc0900347e069 Jaegeuk Kim 2012-11-02 1521 718e53fa633f84 Chao Yu 2016-01-23 @1522 static int do_garbage_collect(struct f2fs_sb_info *sbi, 718e53fa633f84 Chao Yu 2016-01-23 1523 unsigned int start_segno, 7dda2af83b2b75 Changman Lee 2014-11-28 1524 struct gc_inode_list *gc_list, int gc_type) 7bc0900347e069 Jaegeuk Kim 2012-11-02 1525 { 7bc0900347e069 Jaegeuk Kim 2012-11-02 1526 struct page *sum_page; 7bc0900347e069 Jaegeuk Kim 2012-11-02 1527 struct f2fs_summary_block *sum; c718379b6b0954 Jaegeuk Kim 2013-04-24 1528 struct blk_plug plug; 718e53fa633f84 Chao Yu 2016-01-23 1529 unsigned int segno = start_segno; 718e53fa633f84 Chao Yu 2016-01-23 1530 unsigned int end_segno = start_segno + sbi->segs_per_sec; e3080b0120a15e Chao Yu 2018-10-24 1531 int seg_freed = 0, migrated = 0; 718e53fa633f84 Chao Yu 2016-01-23 1532 unsigned char type = IS_DATASEG(get_seg_entry(sbi, segno)->type) ? 718e53fa633f84 Chao Yu 2016-01-23 1533 SUM_TYPE_DATA : SUM_TYPE_NODE; 48018b4cfd07dd Chao Yu 2018-09-13 1534 int submitted = 0; 7bc0900347e069 Jaegeuk Kim 2012-11-02 1535 e3080b0120a15e Chao Yu 2018-10-24 1536 if (__is_large_section(sbi)) e3080b0120a15e Chao Yu 2018-10-24 1537 end_segno = rounddown(end_segno, sbi->segs_per_sec); e3080b0120a15e Chao Yu 2018-10-24 1538 de881df97768d0 Aravind Ramesh 2020-07-16 1539 /* de881df97768d0 Aravind Ramesh 2020-07-16 1540 * zone-capacity can be less than zone-size in zoned devices, de881df97768d0 Aravind Ramesh 2020-07-16 1541 * resulting in less than expected usable segments in the zone, de881df97768d0 Aravind Ramesh 2020-07-16 1542 * calculate the end segno in the zone which can be garbage collected de881df97768d0 Aravind Ramesh 2020-07-16 1543 */ de881df97768d0 Aravind Ramesh 2020-07-16 1544 if (f2fs_sb_has_blkzoned(sbi)) de881df97768d0 Aravind Ramesh 2020-07-16 1545 end_segno -= sbi->segs_per_sec - de881df97768d0 Aravind Ramesh 2020-07-16 1546 f2fs_usable_segs_in_sec(sbi, segno); de881df97768d0 Aravind Ramesh 2020-07-16 1547 093749e296e29a Chao Yu 2020-08-04 1548 sanity_check_seg_type(sbi, get_seg_entry(sbi, segno)->type); 093749e296e29a Chao Yu 2020-08-04 1549 718e53fa633f84 Chao Yu 2016-01-23 1550 /* readahead multi ssa blocks those have contiguous address */ 2c70c5e3874e8c Chao Yu 2018-10-24 1551 if (__is_large_section(sbi)) 4d57b86dd86404 Chao Yu 2018-05-30 1552 f2fs_ra_meta_pages(sbi, GET_SUM_BLOCK(sbi, segno), e3080b0120a15e Chao Yu 2018-10-24 1553 end_segno - segno, META_SSA, true); 718e53fa633f84 Chao Yu 2016-01-23 1554 718e53fa633f84 Chao Yu 2016-01-23 1555 /* reference all summary page */ 718e53fa633f84 Chao Yu 2016-01-23 1556 while (segno < end_segno) { 4d57b86dd86404 Chao Yu 2018-05-30 1557 sum_page = f2fs_get_sum_page(sbi, segno++); edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1558 if (IS_ERR(sum_page)) { edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1559 int err = PTR_ERR(sum_page); edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1560 edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1561 end_segno = segno - 1; edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1562 for (segno = start_segno; segno < end_segno; segno++) { edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1563 sum_page = find_get_page(META_MAPPING(sbi), edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1564 GET_SUM_BLOCK(sbi, segno)); edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1565 f2fs_put_page(sum_page, 0); edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1566 f2fs_put_page(sum_page, 0); edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1567 } edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1568 return err; edc55aaf0d1712 Jaegeuk Kim 2018-09-17 1569 } 718e53fa633f84 Chao Yu 2016-01-23 1570 unlock_page(sum_page); 718e53fa633f84 Chao Yu 2016-01-23 1571 } 7bc0900347e069 Jaegeuk Kim 2012-11-02 1572 c718379b6b0954 Jaegeuk Kim 2013-04-24 1573 blk_start_plug(&plug); c718379b6b0954 Jaegeuk Kim 2013-04-24 1574 718e53fa633f84 Chao Yu 2016-01-23 1575 for (segno = start_segno; segno < end_segno; segno++) { aa987273290d20 Jaegeuk Kim 2016-06-06 1576 718e53fa633f84 Chao Yu 2016-01-23 1577 /* find segment summary of victim */ 718e53fa633f84 Chao Yu 2016-01-23 1578 sum_page = find_get_page(META_MAPPING(sbi), 718e53fa633f84 Chao Yu 2016-01-23 1579 GET_SUM_BLOCK(sbi, segno)); 718e53fa633f84 Chao Yu 2016-01-23 1580 f2fs_put_page(sum_page, 0); 718e53fa633f84 Chao Yu 2016-01-23 1581 d6c66cd19ef322 Yunlong Song 2018-10-24 1582 if (get_valid_blocks(sbi, segno, false) == 0) d6c66cd19ef322 Yunlong Song 2018-10-24 1583 goto freed; dabfbbc8f91450 Jaegeuk Kim 2020-02-09 1584 if (gc_type == BG_GC && __is_large_section(sbi) && e3080b0120a15e Chao Yu 2018-10-24 1585 migrated >= sbi->migration_granularity) e3080b0120a15e Chao Yu 2018-10-24 1586 goto skip; d6c66cd19ef322 Yunlong Song 2018-10-24 1587 if (!PageUptodate(sum_page) || unlikely(f2fs_cp_error(sbi))) e3080b0120a15e Chao Yu 2018-10-24 1588 goto skip; de0dcc40f6e24d Jaegeuk Kim 2016-10-12 1589 7bc0900347e069 Jaegeuk Kim 2012-11-02 1590 sum = page_address(sum_page); 10d255c3540239 Chao Yu 2018-07-04 1591 if (type != GET_SUM_TYPE((&sum->footer))) { dcbb4c10e6d969 Joe Perches 2019-06-18 1592 f2fs_err(sbi, "Inconsistent segment (%u) type [%d, %d] in SSA and SIT", 10d255c3540239 Chao Yu 2018-07-04 1593 segno, type, GET_SUM_TYPE((&sum->footer))); 10d255c3540239 Chao Yu 2018-07-04 1594 set_sbi_flag(sbi, SBI_NEED_FSCK); 793ab1c8a792f8 Chao Yu 2019-04-10 1595 f2fs_stop_checkpoint(sbi, false); e3080b0120a15e Chao Yu 2018-10-24 1596 goto skip; 10d255c3540239 Chao Yu 2018-07-04 1597 } 7bc0900347e069 Jaegeuk Kim 2012-11-02 1598 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1599 /* 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1600 * this is to avoid deadlock: 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1601 * - lock_page(sum_page) - f2fs_replace_block 3d26fa6be3c487 Chao Yu 2017-10-30 1602 * - check_valid_map() - down_write(sentry_lock) 3d26fa6be3c487 Chao Yu 2017-10-30 1603 * - down_read(sentry_lock) - change_curseg() 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1604 * - lock_page(sum_page) 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1605 */ 718e53fa633f84 Chao Yu 2016-01-23 1606 if (type == SUM_TYPE_NODE) 48018b4cfd07dd Chao Yu 2018-09-13 1607 submitted += gc_node_segment(sbi, sum->entries, segno, 718e53fa633f84 Chao Yu 2016-01-23 1608 gc_type); 48018b4cfd07dd Chao Yu 2018-09-13 1609 else 48018b4cfd07dd Chao Yu 2018-09-13 1610 submitted += gc_data_segment(sbi, sum->entries, gc_list, 48018b4cfd07dd Chao Yu 2018-09-13 1611 segno, gc_type); c718379b6b0954 Jaegeuk Kim 2013-04-24 1612 718e53fa633f84 Chao Yu 2016-01-23 1613 stat_inc_seg_count(sbi, type, gc_type); 8c7b9ac129d096 Jaegeuk Kim 2020-02-09 1614 migrated++; c56f16dab0dfc8 Chao Yu 2017-08-11 1615 d6c66cd19ef322 Yunlong Song 2018-10-24 1616 freed: c56f16dab0dfc8 Chao Yu 2017-08-11 1617 if (gc_type == FG_GC && c56f16dab0dfc8 Chao Yu 2017-08-11 1618 get_valid_blocks(sbi, segno, false) == 0) c56f16dab0dfc8 Chao Yu 2017-08-11 1619 seg_freed++; e3080b0120a15e Chao Yu 2018-10-24 1620 e3080b0120a15e Chao Yu 2018-10-24 1621 if (__is_large_section(sbi) && segno + 1 < end_segno) e3080b0120a15e Chao Yu 2018-10-24 1622 sbi->next_victim_seg[gc_type] = segno + 1; e3080b0120a15e Chao Yu 2018-10-24 1623 skip: 9236cac5666ea8 Jaegeuk Kim 2015-05-28 1624 f2fs_put_page(sum_page, 0); 718e53fa633f84 Chao Yu 2016-01-23 1625 } 718e53fa633f84 Chao Yu 2016-01-23 1626 48018b4cfd07dd Chao Yu 2018-09-13 1627 if (submitted) b9109b0e49b93b Jaegeuk Kim 2017-05-10 1628 f2fs_submit_merged_write(sbi, b9109b0e49b93b Jaegeuk Kim 2017-05-10 1629 (type == SUM_TYPE_NODE) ? NODE : DATA); 718e53fa633f84 Chao Yu 2016-01-23 1630 718e53fa633f84 Chao Yu 2016-01-23 1631 blk_finish_plug(&plug); 718e53fa633f84 Chao Yu 2016-01-23 1632 17d899df4678a1 Chao Yu 2016-02-22 1633 stat_inc_call_count(sbi->stat_info); 17d899df4678a1 Chao Yu 2016-02-22 1634 c56f16dab0dfc8 Chao Yu 2017-08-11 1635 return seg_freed; 7bc0900347e069 Jaegeuk Kim 2012-11-02 1636 } 7bc0900347e069 Jaegeuk Kim 2012-11-02 1637 :::::: The code at line 1522 was first introduced by commit :::::: 718e53fa633f84d09acb4b76f1ad572ccbf75a12 f2fs: enhance foreground GC :::::: TO: Chao Yu :::::: CC: Jaegeuk Kim -- 0-DAY CI Kernel Test Service https://01.org/lkp