tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: d68dc6ee371ec5466be9b2d76bdca0b360940adc
commit: 48fb9af1d04848a2583b2dbf3b7091eca38dd482 [1636/1636] mm: Enhanced copy capabilities for Hygon processor
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20241214/202412140911.UsV56v7f-lkp@…)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412140911.UsV56v7f-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/202412140911.UsV56v7f-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> arch/x86/kernel/cpu/hygon.c:480:6: warning: no previous prototype for function 'set_c86_features_para_invalid' [-Wmissing-prototypes]
480 | void set_c86_features_para_invalid(void)
| ^
arch/x86/kernel/cpu/hygon.c:480:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
480 | void set_c86_features_para_invalid(void)
| ^
| static
>> arch/x86/kernel/cpu/hygon.c:485:14: warning: no previous prototype for function 'get_nt_block_copy_mini_len' [-Wmissing-prototypes]
485 | unsigned int get_nt_block_copy_mini_len(void)
| ^
arch/x86/kernel/cpu/hygon.c:485:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
485 | unsigned int get_nt_block_copy_mini_len(void)
| ^
| static
2 warnings generated.
--
In file included from arch/x86/kernel/fpu/core.c:14:
In file included from arch/x86/include/asm/traps.h:6:
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:2242:
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 +
| ~~~~~~~~~~~~~~~~~~~~~~
>> arch/x86/kernel/fpu/core.c:466:14: warning: no previous prototype for function 'get_fpustate_free_space' [-Wmissing-prototypes]
466 | unsigned int get_fpustate_free_space(struct fpu *fpu)
| ^
arch/x86/kernel/fpu/core.c:466:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
466 | unsigned int get_fpustate_free_space(struct fpu *fpu)
| ^
| static
6 warnings generated.
vim +/set_c86_features_para_invalid +480 arch/x86/kernel/cpu/hygon.c
479
> 480 void set_c86_features_para_invalid(void)
481 {
482 memset((void *)&hygon_c86_data, 0, sizeof(struct hygon_c86_info));
483 }
484
> 485 unsigned int get_nt_block_copy_mini_len(void)
486 {
487 unsigned int mini_len = hygon_c86_data.nt_cpy_mini_len;
488
489 return mini_len;
490 }
491 EXPORT_SYMBOL_GPL(get_nt_block_copy_mini_len);
492
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
From: "Darrick J. Wong" <djwong(a)kernel.org>
stable inclusion
from stable-v6.1.92
commit 4db0e08ef9aceee6947ebdb387439b5600e7564f
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IBB6IN
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?…
--------------------------------
[ Upstream commit 76e589013fec672c3587d6314f2d1f0aeddc26d9 ]
In the next patch, we're going to prohibit log recovery if the primary
superblock contains an unrecognized rocompat feature bit even on
readonly mounts. This requires removing all the code in the log
mounting process that temporarily disables the readonly state.
Unfortunately, inode inactivation disables itself on readonly mounts.
Clearing the iunlinked lists after log recovery needs inactivation to
run to free the unreferenced inodes, which (AFAICT) is the only reason
why log mounting plays games with the readonly state in the first place.
Therefore, change the inactivation predicates to allow inactivation
during log recovery of a readonly mount.
Fixes: 400cf2265d55 ("[Backport] xfs: fix log recovery when unknown rocompat bits are set")
Signed-off-by: Darrick J. Wong <djwong(a)kernel.org>
Reviewed-by: Dave Chinner <dchinner(a)redhat.com>
Signed-off-by: Leah Rumancik <leah.rumancik(a)gmail.com>
Acked-by: Darrick J. Wong <djwong(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Zizhi Wo <wozizhi(a)huawei.com>
---
fs/xfs/xfs_inode.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
index f77a27f73bb5..3230cc0ff722 100644
--- a/fs/xfs/xfs_inode.c
+++ b/fs/xfs/xfs_inode.c
@@ -1841,8 +1841,11 @@ xfs_inode_needs_inactive(
if (VFS_I(ip)->i_mode == 0)
return false;
- /* If this is a read-only mount, don't do this (would generate I/O) */
- if (xfs_is_readonly(mp))
+ /*
+ * If this is a read-only mount, don't do this (would generate I/O)
+ * unless we're in log recovery and cleaning the iunlinked list.
+ */
+ if (xfs_is_readonly(mp) && !xlog_recovery_needed(mp->m_log))
return false;
/* If the log isn't running, push inodes straight to reclaim. */
@@ -1902,8 +1905,11 @@ xfs_inactive(
mp = ip->i_mount;
ASSERT(!xfs_iflags_test(ip, XFS_IRECOVERY));
- /* If this is a read-only mount, don't do this (would generate I/O) */
- if (xfs_is_readonly(mp))
+ /*
+ * If this is a read-only mount, don't do this (would generate I/O)
+ * unless we're in log recovery and cleaning the iunlinked list.
+ */
+ if (xfs_is_readonly(mp) && !xlog_recovery_needed(mp->m_log))
goto out;
/* Metadata inodes require explicit resource cleanup. */
--
2.46.1
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: d68dc6ee371ec5466be9b2d76bdca0b360940adc
commit: dba6c8bad729e1971c31053550e9686127ce3844 [1636/1636] LoongArch: KVM: Add PV IPI support on host side
config: loongarch-randconfig-002-20241213 (https://download.01.org/0day-ci/archive/20241214/202412140300.AvxBVNVW-lkp@…)
compiler: loongarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241214/202412140300.AvxBVNVW-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/202412140300.AvxBVNVW-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/loongarch/kernel/paravirt.c: In function 'pv_send_ipi_single':
>> arch/loongarch/kernel/paravirt.c:85:24: error: 'KVM_HCALL_FUNC_PV_IPI' undeclared (first use in this function); did you mean 'KVM_HCALL_FUNC_IPI'?
85 | kvm_hypercall3(KVM_HCALL_FUNC_PV_IPI, 1, 0, min);
| ^~~~~~~~~~~~~~~~~~~~~
| KVM_HCALL_FUNC_IPI
arch/loongarch/kernel/paravirt.c:85:24: note: each undeclared identifier is reported only once for each function it appears in
arch/loongarch/kernel/paravirt.c: In function 'pv_send_ipi_mask':
arch/loongarch/kernel/paravirt.c:119:40: error: 'KVM_HCALL_FUNC_PV_IPI' undeclared (first use in this function); did you mean 'KVM_HCALL_FUNC_IPI'?
119 | kvm_hypercall3(KVM_HCALL_FUNC_PV_IPI,
| ^~~~~~~~~~~~~~~~~~~~~
| KVM_HCALL_FUNC_IPI
vim +85 arch/loongarch/kernel/paravirt.c
f860ab821dd12f5 Bibo Mao 2024-03-22 73
462dd429f52a765 Bibo Mao 2024-03-01 74 #ifdef CONFIG_SMP
462dd429f52a765 Bibo Mao 2024-03-01 75 static void pv_send_ipi_single(int cpu, unsigned int action)
462dd429f52a765 Bibo Mao 2024-03-01 76 {
462dd429f52a765 Bibo Mao 2024-03-01 77 unsigned int min, old;
462dd429f52a765 Bibo Mao 2024-03-01 78 irq_cpustat_t *info = &per_cpu(irq_stat, cpu);
462dd429f52a765 Bibo Mao 2024-03-01 79
462dd429f52a765 Bibo Mao 2024-03-01 80 old = atomic_fetch_or(BIT(action), &info->message);
462dd429f52a765 Bibo Mao 2024-03-01 81 if (old)
462dd429f52a765 Bibo Mao 2024-03-01 82 return;
462dd429f52a765 Bibo Mao 2024-03-01 83
462dd429f52a765 Bibo Mao 2024-03-01 84 min = cpu_logical_map(cpu);
462dd429f52a765 Bibo Mao 2024-03-01 @85 kvm_hypercall3(KVM_HCALL_FUNC_PV_IPI, 1, 0, min);
462dd429f52a765 Bibo Mao 2024-03-01 86 }
462dd429f52a765 Bibo Mao 2024-03-01 87
:::::: The code at line 85 was first introduced by commit
:::::: 462dd429f52a7659ea1c74f02f7134a43fccccc8 LoongArch: Add pv ipi support on guest kernel side
:::::: TO: Bibo Mao <maobibo(a)loongson.cn>
:::::: CC: Xianglai Li <lixianglai(a)loongson.cn>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki