All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>,
	linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au
Cc: Nathan Lynch <nathanl@linux.ibm.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	kbuild-all@lists.01.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH v5 4/6] powerpc/pseries: Consolidate different NUMA distance update code paths
Date: Tue, 29 Jun 2021 04:40:56 +0800	[thread overview]
Message-ID: <202106290413.yYgDdKvn-lkp@intel.com> (raw)
In-Reply-To: <20210628151117.545935-5-aneesh.kumar@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 6287 bytes --]

Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.13 next-20210628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/Add-support-for-FORM2-associativity/20210628-231546
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r024-20210628 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
        # https://github.com/0day-ci/linux/commit/fcbc8b19e99b1cf44fde904817f19616c6baecdb
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Aneesh-Kumar-K-V/Add-support-for-FORM2-associativity/20210628-231546
        git checkout fcbc8b19e99b1cf44fde904817f19616c6baecdb
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/powerpc/mm/numa.c:298:6: warning: no previous prototype for 'update_numa_distance' [-Wmissing-prototypes]
     298 | void update_numa_distance(struct device_node *node)
         |      ^~~~~~~~~~~~~~~~~~~~
   arch/powerpc/mm/numa.c: In function 'parse_numa_properties':
>> arch/powerpc/mm/numa.c:809:7: error: implicit declaration of function '__vphn_get_associativity'; did you mean 'of_get_associativity'? [-Werror=implicit-function-declaration]
     809 |   if (__vphn_get_associativity(i, vphn_assoc) == 0) {
         |       ^~~~~~~~~~~~~~~~~~~~~~~~
         |       of_get_associativity
   cc1: some warnings being treated as errors


vim +809 arch/powerpc/mm/numa.c

   771	
   772	static int __init parse_numa_properties(void)
   773	{
   774		struct device_node *memory;
   775		int default_nid = 0;
   776		unsigned long i;
   777		const __be32 *associativity;
   778	
   779		if (numa_enabled == 0) {
   780			printk(KERN_WARNING "NUMA disabled by user\n");
   781			return -1;
   782		}
   783	
   784		primary_domain_index = find_primary_domain_index();
   785	
   786		if (primary_domain_index < 0) {
   787			/*
   788			 * if we fail to parse primary_domain_index from device tree
   789			 * mark the numa disabled, boot with numa disabled.
   790			 */
   791			numa_enabled = false;
   792			return primary_domain_index;
   793		}
   794	
   795		dbg("NUMA associativity depth for CPU/Memory: %d\n", primary_domain_index);
   796	
   797		/*
   798		 * Even though we connect cpus to numa domains later in SMP
   799		 * init, we need to know the node ids now. This is because
   800		 * each node to be onlined must have NODE_DATA etc backing it.
   801		 */
   802		for_each_present_cpu(i) {
   803			__be32 vphn_assoc[VPHN_ASSOC_BUFSIZE];
   804			struct device_node *cpu;
   805			int nid = NUMA_NO_NODE;
   806	
   807			memset(vphn_assoc, 0, VPHN_ASSOC_BUFSIZE * sizeof(__be32));
   808	
 > 809			if (__vphn_get_associativity(i, vphn_assoc) == 0) {
   810				nid = associativity_to_nid(vphn_assoc);
   811				__initialize_form1_numa_distance(vphn_assoc);
   812			} else {
   813	
   814				/*
   815				 * Don't fall back to default_nid yet -- we will plug
   816				 * cpus into nodes once the memory scan has discovered
   817				 * the topology.
   818				 */
   819				cpu = of_get_cpu_node(i, NULL);
   820				BUG_ON(!cpu);
   821	
   822				associativity = of_get_associativity(cpu);
   823				if (associativity) {
   824					nid = associativity_to_nid(associativity);
   825					__initialize_form1_numa_distance(associativity);
   826				}
   827				of_node_put(cpu);
   828			}
   829	
   830			node_set_online(nid);
   831		}
   832	
   833		get_n_mem_cells(&n_mem_addr_cells, &n_mem_size_cells);
   834	
   835		for_each_node_by_type(memory, "memory") {
   836			unsigned long start;
   837			unsigned long size;
   838			int nid;
   839			int ranges;
   840			const __be32 *memcell_buf;
   841			unsigned int len;
   842	
   843			memcell_buf = of_get_property(memory,
   844				"linux,usable-memory", &len);
   845			if (!memcell_buf || len <= 0)
   846				memcell_buf = of_get_property(memory, "reg", &len);
   847			if (!memcell_buf || len <= 0)
   848				continue;
   849	
   850			/* ranges in cell */
   851			ranges = (len >> 2) / (n_mem_addr_cells + n_mem_size_cells);
   852	new_range:
   853			/* these are order-sensitive, and modify the buffer pointer */
   854			start = read_n_cells(n_mem_addr_cells, &memcell_buf);
   855			size = read_n_cells(n_mem_size_cells, &memcell_buf);
   856	
   857			/*
   858			 * Assumption: either all memory nodes or none will
   859			 * have associativity properties.  If none, then
   860			 * everything goes to default_nid.
   861			 */
   862			associativity = of_get_associativity(memory);
   863			if (associativity) {
   864				nid = associativity_to_nid(associativity);
   865				__initialize_form1_numa_distance(associativity);
   866			} else
   867				nid = default_nid;
   868	
   869			fake_numa_create_new_node(((start + size) >> PAGE_SHIFT), &nid);
   870			node_set_online(nid);
   871	
   872			size = numa_enforce_memory_limit(start, size);
   873			if (size)
   874				memblock_set_node(start, size, &memblock.memory, nid);
   875	
   876			if (--ranges)
   877				goto new_range;
   878		}
   879	
   880		/*
   881		 * Now do the same thing for each MEMBLOCK listed in the
   882		 * ibm,dynamic-memory property in the
   883		 * ibm,dynamic-reconfiguration-memory node.
   884		 */
   885		memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
   886		if (memory) {
   887			walk_drmem_lmbs(memory, NULL, numa_setup_drmem_lmb);
   888			of_node_put(memory);
   889		}
   890	
   891		return 0;
   892	}
   893	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 43062 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 4/6] powerpc/pseries: Consolidate different NUMA distance update code paths
Date: Tue, 29 Jun 2021 04:40:56 +0800	[thread overview]
Message-ID: <202106290413.yYgDdKvn-lkp@intel.com> (raw)
In-Reply-To: <20210628151117.545935-5-aneesh.kumar@linux.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 6458 bytes --]

Hi "Aneesh,

I love your patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.13 next-20210628]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Aneesh-Kumar-K-V/Add-support-for-FORM2-associativity/20210628-231546
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-randconfig-r024-20210628 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
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
        # https://github.com/0day-ci/linux/commit/fcbc8b19e99b1cf44fde904817f19616c6baecdb
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Aneesh-Kumar-K-V/Add-support-for-FORM2-associativity/20210628-231546
        git checkout fcbc8b19e99b1cf44fde904817f19616c6baecdb
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   arch/powerpc/mm/numa.c:298:6: warning: no previous prototype for 'update_numa_distance' [-Wmissing-prototypes]
     298 | void update_numa_distance(struct device_node *node)
         |      ^~~~~~~~~~~~~~~~~~~~
   arch/powerpc/mm/numa.c: In function 'parse_numa_properties':
>> arch/powerpc/mm/numa.c:809:7: error: implicit declaration of function '__vphn_get_associativity'; did you mean 'of_get_associativity'? [-Werror=implicit-function-declaration]
     809 |   if (__vphn_get_associativity(i, vphn_assoc) == 0) {
         |       ^~~~~~~~~~~~~~~~~~~~~~~~
         |       of_get_associativity
   cc1: some warnings being treated as errors


vim +809 arch/powerpc/mm/numa.c

   771	
   772	static int __init parse_numa_properties(void)
   773	{
   774		struct device_node *memory;
   775		int default_nid = 0;
   776		unsigned long i;
   777		const __be32 *associativity;
   778	
   779		if (numa_enabled == 0) {
   780			printk(KERN_WARNING "NUMA disabled by user\n");
   781			return -1;
   782		}
   783	
   784		primary_domain_index = find_primary_domain_index();
   785	
   786		if (primary_domain_index < 0) {
   787			/*
   788			 * if we fail to parse primary_domain_index from device tree
   789			 * mark the numa disabled, boot with numa disabled.
   790			 */
   791			numa_enabled = false;
   792			return primary_domain_index;
   793		}
   794	
   795		dbg("NUMA associativity depth for CPU/Memory: %d\n", primary_domain_index);
   796	
   797		/*
   798		 * Even though we connect cpus to numa domains later in SMP
   799		 * init, we need to know the node ids now. This is because
   800		 * each node to be onlined must have NODE_DATA etc backing it.
   801		 */
   802		for_each_present_cpu(i) {
   803			__be32 vphn_assoc[VPHN_ASSOC_BUFSIZE];
   804			struct device_node *cpu;
   805			int nid = NUMA_NO_NODE;
   806	
   807			memset(vphn_assoc, 0, VPHN_ASSOC_BUFSIZE * sizeof(__be32));
   808	
 > 809			if (__vphn_get_associativity(i, vphn_assoc) == 0) {
   810				nid = associativity_to_nid(vphn_assoc);
   811				__initialize_form1_numa_distance(vphn_assoc);
   812			} else {
   813	
   814				/*
   815				 * Don't fall back to default_nid yet -- we will plug
   816				 * cpus into nodes once the memory scan has discovered
   817				 * the topology.
   818				 */
   819				cpu = of_get_cpu_node(i, NULL);
   820				BUG_ON(!cpu);
   821	
   822				associativity = of_get_associativity(cpu);
   823				if (associativity) {
   824					nid = associativity_to_nid(associativity);
   825					__initialize_form1_numa_distance(associativity);
   826				}
   827				of_node_put(cpu);
   828			}
   829	
   830			node_set_online(nid);
   831		}
   832	
   833		get_n_mem_cells(&n_mem_addr_cells, &n_mem_size_cells);
   834	
   835		for_each_node_by_type(memory, "memory") {
   836			unsigned long start;
   837			unsigned long size;
   838			int nid;
   839			int ranges;
   840			const __be32 *memcell_buf;
   841			unsigned int len;
   842	
   843			memcell_buf = of_get_property(memory,
   844				"linux,usable-memory", &len);
   845			if (!memcell_buf || len <= 0)
   846				memcell_buf = of_get_property(memory, "reg", &len);
   847			if (!memcell_buf || len <= 0)
   848				continue;
   849	
   850			/* ranges in cell */
   851			ranges = (len >> 2) / (n_mem_addr_cells + n_mem_size_cells);
   852	new_range:
   853			/* these are order-sensitive, and modify the buffer pointer */
   854			start = read_n_cells(n_mem_addr_cells, &memcell_buf);
   855			size = read_n_cells(n_mem_size_cells, &memcell_buf);
   856	
   857			/*
   858			 * Assumption: either all memory nodes or none will
   859			 * have associativity properties.  If none, then
   860			 * everything goes to default_nid.
   861			 */
   862			associativity = of_get_associativity(memory);
   863			if (associativity) {
   864				nid = associativity_to_nid(associativity);
   865				__initialize_form1_numa_distance(associativity);
   866			} else
   867				nid = default_nid;
   868	
   869			fake_numa_create_new_node(((start + size) >> PAGE_SHIFT), &nid);
   870			node_set_online(nid);
   871	
   872			size = numa_enforce_memory_limit(start, size);
   873			if (size)
   874				memblock_set_node(start, size, &memblock.memory, nid);
   875	
   876			if (--ranges)
   877				goto new_range;
   878		}
   879	
   880		/*
   881		 * Now do the same thing for each MEMBLOCK listed in the
   882		 * ibm,dynamic-memory property in the
   883		 * ibm,dynamic-reconfiguration-memory node.
   884		 */
   885		memory = of_find_node_by_path("/ibm,dynamic-reconfiguration-memory");
   886		if (memory) {
   887			walk_drmem_lmbs(memory, NULL, numa_setup_drmem_lmb);
   888			of_node_put(memory);
   889		}
   890	
   891		return 0;
   892	}
   893	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 43062 bytes --]

  parent reply	other threads:[~2021-06-28 20:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 15:11 [PATCH v5 0/6] Add support for FORM2 associativity Aneesh Kumar K.V
2021-06-28 15:11 ` [PATCH v5 1/6] powerpc/pseries: rename min_common_depth to primary_domain_index Aneesh Kumar K.V
2021-07-22  1:59   ` David Gibson
2021-07-22  2:36     ` David Gibson
2021-07-22  5:17       ` Aneesh Kumar K.V
2021-07-26  2:28         ` David Gibson
2021-06-28 15:11 ` [PATCH v5 2/6] powerpc/pseries: rename distance_ref_points_depth to max_associativity_domain_index Aneesh Kumar K.V
2021-07-22  0:59   ` David Gibson
2021-07-22  1:19     ` David Gibson
2021-06-28 15:11 ` [PATCH v5 3/6] powerpc/pseries: Rename TYPE1_AFFINITY to FORM1_AFFINITY Aneesh Kumar K.V
2021-06-28 15:11 ` [PATCH v5 4/6] powerpc/pseries: Consolidate different NUMA distance update code paths Aneesh Kumar K.V
2021-06-28 20:21   ` kernel test robot
2021-06-28 20:21     ` kernel test robot
2021-06-28 20:40   ` kernel test robot [this message]
2021-06-28 20:40     ` kernel test robot
2021-07-22  1:40   ` David Gibson
2021-07-22  7:07     ` Aneesh Kumar K.V
2021-07-26  2:37       ` David Gibson
2021-07-27  3:32         ` Aneesh Kumar K.V
2021-07-27  5:59           ` David Gibson
2021-06-28 15:11 ` [PATCH v5 5/6] powerpc/pseries: Add a helper for form1 cpu distance Aneesh Kumar K.V
2021-07-22  1:42   ` David Gibson
2021-07-22  7:09     ` Aneesh Kumar K.V
2021-07-26  2:38       ` David Gibson
2021-06-28 15:11 ` [PATCH v5 6/6] powerpc/pseries: Add support for FORM2 associativity Aneesh Kumar K.V
2021-07-22  2:28   ` David Gibson
2021-07-22  7:34     ` Aneesh Kumar K.V
2021-07-26  2:41       ` David Gibson
2021-07-13 14:27 ` [PATCH v5 0/6] " Daniel Henrique Barboza
2021-07-13 14:30   ` Aneesh Kumar K.V

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202106290413.yYgDdKvn-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=danielhb413@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=kbuild-all@lists.01.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=nathanl@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.