Message ID | 20241025141453.1210600-8-david@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | virtio-mem: s390 support | expand |
On Fri, Oct 25, 2024 at 04:14:52PM +0200, David Hildenbrand wrote: > virtio-mem uses memory_add_physaddr_to_nid() to determine the NID to use > for memory it adds. > > We currently fallback to the dummy implementation in mm/numa.c with > CONFIG_NUMA, which will end up triggering an undesired pr_info_once(): > > Unknown online node for memory at 0x100000000, assuming node 0 > > On s390, we map all cpus and memory to node 0, so let's add a simple > memory_add_physaddr_to_nid() implementation that does exactly that, > but without complaining. > > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > arch/s390/include/asm/sparsemem.h | 8 ++++++++ > 1 file changed, 8 insertions(+) ... > diff --git a/arch/s390/include/asm/sparsemem.h b/arch/s390/include/asm/sparsemem.h > index ff628c50afac..6377b7ea8a40 100644 > --- a/arch/s390/include/asm/sparsemem.h > +++ b/arch/s390/include/asm/sparsemem.h > @@ -5,4 +5,12 @@ > #define SECTION_SIZE_BITS 27 > #define MAX_PHYSMEM_BITS CONFIG_MAX_PHYSMEM_BITS > > +#ifdef CONFIG_NUMA > +static inline int memory_add_physaddr_to_nid(u64 addr) > +{ > + return 0; > +} > +#define memory_add_physaddr_to_nid memory_add_physaddr_to_nid > +#endif /* CONFIG_NUMA */ > + We would need to have the same for phys_to_target_node(), even though it looks like this won't be used on s390 currently. Anyway, I'll add that, if I don't forget about it :) For this patch: Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
diff --git a/arch/s390/include/asm/sparsemem.h b/arch/s390/include/asm/sparsemem.h index ff628c50afac..6377b7ea8a40 100644 --- a/arch/s390/include/asm/sparsemem.h +++ b/arch/s390/include/asm/sparsemem.h @@ -5,4 +5,12 @@ #define SECTION_SIZE_BITS 27 #define MAX_PHYSMEM_BITS CONFIG_MAX_PHYSMEM_BITS +#ifdef CONFIG_NUMA +static inline int memory_add_physaddr_to_nid(u64 addr) +{ + return 0; +} +#define memory_add_physaddr_to_nid memory_add_physaddr_to_nid +#endif /* CONFIG_NUMA */ + #endif /* _ASM_S390_SPARSEMEM_H */
virtio-mem uses memory_add_physaddr_to_nid() to determine the NID to use for memory it adds. We currently fallback to the dummy implementation in mm/numa.c with CONFIG_NUMA, which will end up triggering an undesired pr_info_once(): Unknown online node for memory at 0x100000000, assuming node 0 On s390, we map all cpus and memory to node 0, so let's add a simple memory_add_physaddr_to_nid() implementation that does exactly that, but without complaining. Signed-off-by: David Hildenbrand <david@redhat.com> --- arch/s390/include/asm/sparsemem.h | 8 ++++++++ 1 file changed, 8 insertions(+)