Messages in this thread | | | Date | Wed, 19 Apr 2017 12:11:57 -0700 | From | Andrei Vagin <> | Subject | Re: irq/affinity: Fix extra vecs calculation |
| |
On Wed, Apr 19, 2017 at 01:03:59PM -0400, Keith Busch wrote: > On Wed, Apr 19, 2017 at 09:20:27AM -0700, Andrei Vagin wrote: > > Hi, > > > > Something is wrong with this patch. We run CRIU tests for upstream kernels. > > And we found that a kernel with this patch can't be booted. > > > > https://travis-ci.org/avagin/linux/builds/223557750 > > > > We don't have access to console logs and I can't reproduce this issue on > > my nodes. I tired to revert this patch and everything works as expected. > > > > https://travis-ci.org/avagin/linux/builds/223594172 > > > > Here is another report about this patch > > https://lkml.org/lkml/2017/4/16/344 > > Yikes, okay, I've made a mistake somewhere. Sorry about that, I will > look into this ASAP.
Thank you
> > If it's a divide by 0 as your last link indicates, that must mean there > are possible nodes, but have no CPUs, and those should be skipped. If > that's the case, the following should fix it, but I'm going to do some > more qemu testing with various CPU topologies to confirm.
This patch doesn't fix my problem https://travis-ci.org/avagin/linux/builds/223674690
> > --- > diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c > index d052947..80c45d0 100644 > --- a/kernel/irq/affinity.c > +++ b/kernel/irq/affinity.c > @@ -105,6 +105,9 @@ irq_create_affinity_masks(int nvecs, const struct irq_affinity *affd) > > /* Calculate the number of cpus per vector */ > ncpus = cpumask_weight(nmsk); > + if (!ncpus) > + continue; > + > vecs_to_assign = min(vecs_per_node, ncpus); > > /* Account for rounding errors */ > --
| |