Re: [PATCH] x86: bau_msg_head points to a_queue_first inuv_table_bases_finish()

From: Cliff Wickman
Date: Mon Jan 18 2010 - 08:32:46 EST


Hi Ingo,

On Sun, Jan 17, 2010 at 08:12:27AM +0100, Ingo Molnar wrote:
>
> * Roel Kluin <roel.kluin@xxxxxxxxx> wrote:
>
> > bau_msg_head should point to bau_msg_head
> >
> > Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> > ---
> > Is this correct?
> >
> > diff --git a/arch/x86/kernel/tlb_uv.c b/arch/x86/kernel/tlb_uv.c
> > index 364d015..3d66331 100644
> > --- a/arch/x86/kernel/tlb_uv.c
> > +++ b/arch/x86/kernel/tlb_uv.c
> > @@ -691,7 +691,7 @@ uv_table_bases_finish(int blade,
> > continue;
> >
> > bcp = (struct bau_control *)&per_cpu(bau_control, cpu);
> > - bcp->bau_msg_head = bau_tablesp->va_queue_first;
> > + bcp->bau_msg_head = bau_tablesp->bau_msg_head;
> > bcp->va_queue_first = bau_tablesp->va_queue_first;
> > bcp->va_queue_last = bau_tablesp->va_queue_last;
> > bcp->msg_statuses = bau_tablesp->msg_statuses;
>
> Seems like you either caught a real bug - or that there's a somewhat quirky
> initialization sequence here which should be commented upon in the source.
>
> Cliff, Robin, what's your take on Roel's patch?
>
> Thanks,
>
> Ingo

The bau_tablesp->bau_msg_head doesn't seem to be initialized, so do not
change the code this way.

bcp->bau_msg_head is correctly initialized to the head of the queue as
it stands.

However I do agree that it is confusing, as there are redundant control
structures, and needs improvement. I intend to submit a new version
of tlb_uv.c soon.

-Cliff

--
Cliff Wickman
SGI
cpw@xxxxxxx
(651) 683-3824
--
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/