[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202001180451.Em1WGC5t%lkp@intel.com>
Date: Sat, 18 Jan 2020 04:52:36 +0800
From: kbuild test robot <lkp@...el.com>
To: Ming Lei <ming.lei@...hat.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Ming Lei <ming.lei@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Peter Xu <peterx@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>
Subject: Re: [PATCH] sched/isolation: isolate from handling managed interrupt
Hi Ming,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/auto-latest]
[also build test ERROR on linux/master tip/irq/core tip/sched/core linus/master v5.5-rc6 next-20200117]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Ming-Lei/sched-isolation-isolate-from-handling-managed-interrupt/20200117-150600
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 9be5556beac21234216feb91225e4a09a7cf6a98
config: s390-randconfig-a001-20200117 (attached as .config)
compiler: s390-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=s390
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>
All error/warnings (new ones prefixed by >>):
kernel//irq/manage.c: In function 'irq_do_set_affinity':
>> kernel//irq/manage.c:219:27: error: invalid initializer
cpumask_var_t tmp_mask = (struct cpumask *)mask;
^
>> kernel//irq/manage.c:234:37: warning: the address of 'tmp_mask' will always evaluate as 'true' [-Waddress]
if (irqd_affinity_is_managed(data) && tmp_mask &&
^~
vim +234 kernel//irq/manage.c
210
211 int irq_do_set_affinity(struct irq_data *data, const struct cpumask *mask,
212 bool force)
213 {
214 struct irq_desc *desc = irq_data_to_desc(data);
215 struct irq_chip *chip = irq_data_get_irq_chip(data);
216 const struct cpumask *housekeeping_mask =
217 housekeeping_cpumask(HK_FLAG_MANAGED_IRQ);
218 int ret;
> 219 cpumask_var_t tmp_mask = (struct cpumask *)mask;
220
221 if (!chip || !chip->irq_set_affinity)
222 return -EINVAL;
223
224 zalloc_cpumask_var(&tmp_mask, GFP_ATOMIC);
225
226 /*
227 * Userspace can't change managed irq's affinity, make sure that
228 * isolated CPU won't be selected as the effective CPU if this
229 * irq's affinity includes at least one housekeeping CPU.
230 *
231 * This way guarantees that isolated CPU won't be interrupted if
232 * IO isn't submitted from isolated CPU.
233 */
> 234 if (irqd_affinity_is_managed(data) && tmp_mask &&
235 cpumask_intersects(mask, housekeeping_mask))
236 cpumask_and(tmp_mask, mask, housekeeping_mask);
237
238 ret = chip->irq_set_affinity(data, tmp_mask, force);
239 switch (ret) {
240 case IRQ_SET_MASK_OK:
241 case IRQ_SET_MASK_OK_DONE:
242 cpumask_copy(desc->irq_common_data.affinity, mask);
243 /* fall through */
244 case IRQ_SET_MASK_OK_NOCOPY:
245 irq_validate_effective_affinity(data);
246 irq_set_thread_affinity(desc);
247 ret = 0;
248 }
249
250 free_cpumask_var(tmp_mask);
251
252 return ret;
253 }
254
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (21722 bytes)
Powered by blists - more mailing lists