Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Feb 2006 16:35:22 +0100
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Andrew Belashov <bel@orel.ru>
Cc:        freebsd-sparc64@freebsd.org
Subject:   Re: some questions
Message-ID:  <20060207163522.A53619@newtrinity.zeist.de>
In-Reply-To: <43E85A1C.3010408@orel.ru>; from bel@orel.ru on Tue, Feb 07, 2006 at 11:28:12AM %2B0300
References:  <43E3B35B.90409@unixfreak.org> <1138996676.26027.16.camel@lmail.bathnetworks.co.uk> <oqpsm456zc.fsf@castrovalva.Ivy.NET> <43E48DC2.3050904@orel.ru> <20060205123838.A5136@newtrinity.zeist.de> <43E85A1C.3010408@orel.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 07, 2006 at 11:28:12AM +0300, Andrew Belashov wrote:
> Hello, Marius!
> 
> Marius Strobl wrote:
> > On Sat, Feb 04, 2006 at 02:19:30PM +0300, Andrew Belashov wrote:
> >> My system have two hacks, related to following problems:
> >>
> >> 1. SMP kernel panic: ipi_send: couldn't send ipi
> >> <http://www.freebsd.org/cgi/query-pr.cgi?pr=sparc64/66314>;
> >> (src/sys/sparc64/include/smp.h v1.17 does not resolve problem,
> >> I bump IPI_RETRIES to high value).
> >>
> > 
> > Could you please try whether the attached patch fixes this
> > (using the original value for IPI_RETRIES)?
> > 
> > Marius
> > 
> > Index: mp_machdep.c
> > ===================================================================
> > RCS file: /mnt/futile/usr/data/bsd/cvs/fbsd/src/sys/sparc64/sparc64/mp_machdep.c,v
> > retrieving revision 1.30
> > diff -u -r1.30 mp_machdep.c
> > --- mp_machdep.c	3 Nov 2005 21:08:20 -0000	1.30
> > +++ mp_machdep.c	5 Feb 2006 11:04:21 -0000
> > @@ -87,6 +87,7 @@
> >  #include <machine/tick.h>
> >  #include <machine/tlb.h>
> >  #include <machine/tte.h>
> > +#include <machine/ver.h>
> >  
> >  static ih_func_t cpu_ipi_ast;
> >  static ih_func_t cpu_ipi_stop;
> > @@ -438,6 +439,10 @@
> >  		stxa(AA_SDB_INTR_D1, ASI_SDB_INTR_W, d1);
> >  		stxa(AA_SDB_INTR_D2, ASI_SDB_INTR_W, d2);
> >  		stxa(AA_INTR_SEND | (mid << 14), ASI_SDB_INTR_W, 0);
> > +		if (cpu_impl < CPU_IMPL_ULTRASPARCIII) {
> > +			membar(Sync);
> > +			(void)ldxa(0x20, ASI_SDB_INTR_R);
> > +		}
> >  		membar(Sync);
> >  		while (ldxa(0, ASI_INTR_DISPATCH_STATUS) & IDR_BUSY)
> >  			;
> > 
> 
> With this patch of problems it is not found. I could not reproduce a problem
> as described in PR sparc64/66314 on Ultra 60 Creator 3D
> (2 x UltraSparc II @ 450 MHz). Marius, thanks for your work.
> 

Hrm, I'm not entirely convinced the above patch makes a difference to
the IPI send problem. Do you have a test case with which you could
trigger the panic reliably?
In case you are still using your patch from PR 66314 or something
similar, what number of retries does it actually take to not trigger
the panic? I.e. have you seen any higher value than the 2022 retries
mentioned in the PR when not additionally using the above patch? To
what number of retries does that change when additionally using the
above patch?

Marius

-- 
This mail was scanned by AntiVir Milter.
This product is licensed for non-commercial use.
See www.antivir.de for details.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060207163522.A53619>