Re: [PATCH v3] x86, irq: get correct available vectors for cpu disable

From: Linn Crosetto
Date: Wed Mar 26 2014 - 12:51:11 EST


On Tue, Mar 25, 2014 at 05:18:53PM -0700, Yinghai Lu wrote:
> On Tue, Mar 25, 2014 at 1:03 PM, Linn Crosetto <linn@xxxxxx> wrote:
> > Thanks for the patch.
> >
> > On Tue, Jan 28, 2014 at 01:54:05PM -0800, Yinghai Lu wrote:
> >> used_vectors is a bitmap for vectors that are not tracked in per_cpu
> >> vector_irq.
> >
> > I feel like this comment (also in the code) could be misleading because vectors
> > above first_system_vector are effectively not tracked in per_cpu vector_irq, but
> > also may not have the bit set in used_vectors. For example, used_vectors from a
> > system that I am looking at now:
> >
> > first_system_vector
> > 239 255
> > | |
> > 10 01000 11111 11111
> >
> > test_bit(240, used_vectors) does not return the correct answer to the question
> > about whether the vector is tracked in per_cpu vector_irq. This leads to two
> > meanings for the bitmap; for vectors less than first_system_vector whether or
> > not they are tracked in per_cpu vector_irq, and for vectors above
> > first_system_vector, whether or not they are in use:
> >
> > static inline int is_per_cpu_vector(int vector) {
> > return !test_bit(vector, used_vectors) &&
> > vector < first_system_vector;
> > }
>
> sorry, I can not catch what you want to say.
>
> Do you mean the change log or comment in the patch is not right?

Just noting that not all bits above first_system_vector are set in the bitmap,
so the comment in asm/desc.h and the change log could be misleading:

/* used_vectors is BITMAP for irq is not managed by percpu vector_irq */

I have tested and the patch itself is good.

Thanks,
Linn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/