On Thu, 30 Aug 2012 13:10:33 +0300
"Michael S. Tsirkin" <[email protected]> wrote:
> > OK, I'll do these on top of this patch.
>
> Tweaking these 5 lines for readability across multiple
> patches is just not worth it.
> As long as we do random cleanups of this function it's probably easier
> to just do them all in one patch.
OK.
> > > Something like the below pseudo code would do this I think?
> > >
> > > #define APIC_VECTORS_PER_REG 32
> > >
> > > int vec;
> > > for (vec = MAX_APIC_VECTOR - APIC_VECTORS_PER_REG;
> > > vec -= APIC_VECTORS_PER_REG; vec >= 0) {
> > > u32 *reg = bitmap + REG_POS(vec);
> >
> > We want to introduce apic_read_register(bitmap, reg) instead.
> > u32 reg = apic_read_register(bitmap, REG_POS(vec));
>
> If Marcelo takes it, I don't mind :)
>
> > > if (*reg)
> > > return __fls(*reg) - 1 + vec;
> >
> > Because it is not clear that this *reg is the same value
> > tested before.
>
> Before - where? Looks like this is the only place where
> *reg is used.
if (*reg) // BEFORE
return __fls(*reg) - 1 + vec; // AFTER
Unless the value pointed to by a pointer cannot be updated
concurrently, it seems a good practice to use a local variable
explicitely in C level.
I know that this will not change anything actually, but many
bitops functions do similar things.
Takuya
> > > }
> > > return -1
> > >
> > > count_vectors similar:
> > >
> > > for (vec = 0; vec < MAX_APIC_VECTOR; vec += APIC_VECTORS_PER_REG)
> > > {
> > > u32 *reg = bitmap + REG_POS(vec);
> >
> > Same here.
>
> Same question :)
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html