All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Sebastian Ene <sebastianene@google.com>,
	Rob Herring <robh+dt@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Dragan Cvetic <dragan.cvetic@xilinx.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, maz@kernel.org, will@kernel.org,
	qperret@google.com, Guenter Roeck <linux@roeck-us.net>,
	Sebastian Ene <sebastianene@google.com>
Subject: Re: [PATCH v5 2/2] misc: Add a mechanism to detect stalls on guest vCPUs
Date: Tue, 10 May 2022 04:44:17 +0800	[thread overview]
Message-ID: <202205100420.UlVQD7zP-lkp@intel.com> (raw)
In-Reply-To: <20220509091103.2220604-3-sebastianene@google.com>

Hi Sebastian,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robh/for-next]
[also build test WARNING on char-misc/char-misc-testing soc/for-next v5.18-rc6]
[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/intel-lab-lkp/linux/commits/Sebastian-Ene/Detect-stalls-on-guest-vCPUS/20220509-174959
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: h8300-randconfig-s032-20220509 (https://download.01.org/0day-ci/archive/20220510/202205100420.UlVQD7zP-lkp@intel.com/config)
compiler: h8300-linux-gcc (GCC) 11.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/intel-lab-lkp/linux/commit/d3152372fdd19448b32806c0bffd78d8729d02e4
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Sebastian-Ene/Detect-stalls-on-guest-vCPUS/20220509-174959
        git checkout d3152372fdd19448b32806c0bffd78d8729d02e4
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=h8300 SHELL=/bin/bash drivers/misc/

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


sparse warnings: (new ones prefixed by >>)
>> drivers/misc/vcpu_stall_detector.c:106:33: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct vm_stall_detect_s * @@
   drivers/misc/vcpu_stall_detector.c:106:33: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/misc/vcpu_stall_detector.c:106:33: sparse:     got struct vm_stall_detect_s *
   drivers/misc/vcpu_stall_detector.c:115:32: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct vm_stall_detect_s * @@
   drivers/misc/vcpu_stall_detector.c:115:32: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/misc/vcpu_stall_detector.c:115:32: sparse:     got struct vm_stall_detect_s *
>> drivers/misc/vcpu_stall_detector.c:131:25: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct vm_stall_detect_s *vm_stall_detect @@     got struct vm_stall_detect_s [noderef] __percpu * @@
   drivers/misc/vcpu_stall_detector.c:131:25: sparse:     expected struct vm_stall_detect_s *vm_stall_detect
   drivers/misc/vcpu_stall_detector.c:131:25: sparse:     got struct vm_stall_detect_s [noderef] __percpu *
   drivers/misc/vcpu_stall_detector.c:154:36: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct vm_stall_detect_s * @@
   drivers/misc/vcpu_stall_detector.c:154:36: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/misc/vcpu_stall_detector.c:154:36: sparse:     got struct vm_stall_detect_s *
>> drivers/misc/vcpu_stall_detector.c:177:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __percpu *__pdata @@     got struct vm_stall_detect_s *vm_stall_detect @@
   drivers/misc/vcpu_stall_detector.c:177:21: sparse:     expected void [noderef] __percpu *__pdata
   drivers/misc/vcpu_stall_detector.c:177:21: sparse:     got struct vm_stall_detect_s *vm_stall_detect
   drivers/misc/vcpu_stall_detector.c:189:36: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct vm_stall_detect_s * @@
   drivers/misc/vcpu_stall_detector.c:189:36: sparse:     expected void const [noderef] __percpu *__vpp_verify
   drivers/misc/vcpu_stall_detector.c:189:36: sparse:     got struct vm_stall_detect_s *
   drivers/misc/vcpu_stall_detector.c:194:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] __percpu *__pdata @@     got struct vm_stall_detect_s *vm_stall_detect @@
   drivers/misc/vcpu_stall_detector.c:194:21: sparse:     expected void [noderef] __percpu *__pdata
   drivers/misc/vcpu_stall_detector.c:194:21: sparse:     got struct vm_stall_detect_s *vm_stall_detect
   drivers/misc/vcpu_stall_detector.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '__iomem' of expression

vim +106 drivers/misc/vcpu_stall_detector.c

   100	
   101	static int start_stall_detector_on_cpu(unsigned int cpu)
   102	{
   103		struct vm_stall_detect_s *vm_stall_detect;
   104	
   105		vm_stall_detect = platform_get_drvdata(virt_dev);
 > 106		vcpu_stall_detect_start(this_cpu_ptr(vm_stall_detect));
   107		return 0;
   108	}
   109	
   110	static int stop_stall_detector_on_cpu(unsigned int cpu)
   111	{
   112		struct vm_stall_detect_s *vm_stall_detect;
   113	
   114		vm_stall_detect = platform_get_drvdata(virt_dev);
   115		vcpu_stall_detect_stop(this_cpu_ptr(vm_stall_detect));
   116		return 0;
   117	}
   118	
   119	static int vcpu_stall_detect_probe(struct platform_device *dev)
   120	{
   121		int cpu, ret, err;
   122		void __iomem *membase;
   123		struct resource *r;
   124		struct vm_stall_detect_s *vm_stall_detect;
   125		u32 stall_detect_clock, stall_detect_timeout_sec = 0;
   126	
   127		r = platform_get_resource(dev, IORESOURCE_MEM, 0);
   128		if (r == NULL)
   129			return -ENOENT;
   130	
 > 131		vm_stall_detect = alloc_percpu(typeof(struct vm_stall_detect_s));
   132		if (!vm_stall_detect)
   133			return -ENOMEM;
   134	
   135		membase = ioremap(r->start, resource_size(r));
   136		if (!membase) {
   137			ret = -ENXIO;
   138			goto err_withmem;
   139		}
   140	
   141		virt_dev = dev;
   142		platform_set_drvdata(dev, vm_stall_detect);
   143		if (of_property_read_u32(dev->dev.of_node, "clock-frequency",
   144					 &stall_detect_clock))
   145			stall_detect_clock = DEFAULT_CLOCK_HZ;
   146	
   147		if (of_property_read_u32(dev->dev.of_node, "timeout-sec",
   148					 &stall_detect_timeout_sec))
   149			stall_detect_timeout_sec = DEFAULT_TIMEOT_SEC;
   150	
   151		for_each_cpu_and(cpu, cpu_online_mask, &watchdog_cpumask) {
   152			struct vm_stall_detect_s *cpu_stall_detect;
   153	
   154			cpu_stall_detect = per_cpu_ptr(vm_stall_detect, cpu);
   155			cpu_stall_detect->membase = membase + cpu * REG_LEN;
   156			cpu_stall_detect->clock_freq = stall_detect_clock;
   157			cpu_stall_detect->expiration_sec = stall_detect_timeout_sec;
   158			cpu_stall_detect->ping_timeout_ms = stall_detect_timeout_sec *
   159				MSEC_PER_SEC / 2;
   160			smp_call_function_single(cpu, vcpu_stall_detect_start,
   161						 cpu_stall_detect, true);
   162		}
   163	
   164		err = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN,
   165						"virt/vcpu_stall_detector:online",
   166						start_stall_detector_on_cpu,
   167						stop_stall_detector_on_cpu);
   168		if (err < 0) {
   169			dev_warn(&dev->dev, "failed to install cpu hotplug");
   170			ret = err;
   171			goto err_withmem;
   172		}
   173	
   174		return 0;
   175	
   176	err_withmem:
 > 177		free_percpu(vm_stall_detect);
   178		return ret;
   179	}
   180	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

  reply	other threads:[~2022-05-09 20:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-09  9:11 [PATCH v5 0/2] Detect stalls on guest vCPUS Sebastian Ene
2022-05-09  9:11 ` [PATCH v5 1/2] dt-bindings: vcpu_stall_detector: Add qemu,vcpu-stall-detector compatible Sebastian Ene
2022-05-09 12:20   ` Rob Herring
2022-05-09  9:11 ` [PATCH v5 2/2] misc: Add a mechanism to detect stalls on guest vCPUs Sebastian Ene
2022-05-09 20:44   ` kernel test robot [this message]
2022-05-10  6:51   ` kernel test robot

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=202205100420.UlVQD7zP-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=dragan.cvetic@xilinx.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=maz@kernel.org \
    --cc=qperret@google.com \
    --cc=robh+dt@kernel.org \
    --cc=sebastianene@google.com \
    --cc=will@kernel.org \
    /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.