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
next prev parent 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.