lkml.org 
[lkml]   [2010]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86: bau_msg_head points to a_queue_first in uv_table_bases_finish()
On Sun, Jan 17, 2010 at 08:12:27AM +0100, Ingo Molnar wrote:
>
> * Roel Kluin <roel.kluin@gmail.com> wrote:
>
> > bau_msg_head should point to bau_msg_head
> >
> > Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
> > ---
> > 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?

I think I will work with Cliff on rewriting uv_payload_queue_init().

Currently, that does not set up bau_msg_head so the code above is
functional. In my opinion, it should set up bau_msg_head. I am sure
I can be convinced otherwise.

Some of the other cleanups:

1) Use the standard alignment macros instead of hand coding our own.
2) Replace the kmalloc with a kzalloc and remove the memset which
currently is zeroing the unaligned allocation instead of the aligned
allocation so it would miss the last (up to 31) bytes of the last
payload.

Thanks,
Robin


\
 
 \ /
  Last update: 2010-01-17 13:57    [from the cache]
©2003-2011 Jasper Spaans