Date: Tue, 07 Feb 2006 11:28:12 +0300 From: Andrew Belashov <bel@orel.ru> To: Marius Strobl <marius@alchemy.franken.de> Cc: freebsd-sparc64@freebsd.org Subject: Re: some questions Message-ID: <43E85A1C.3010408@orel.ru> In-Reply-To: <20060205123838.A5136@newtrinity.zeist.de> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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. $ uname -a FreeBSD bel.localdomain 6.0-RELEASE FreeBSD 6.0-RELEASE #2: Mon Feb 6 10:39:00 MSK 2006 bel@bel.localdomain:/usr/obj/usr/src/sys/SUNC3D sparc64 $ w 11:17 up 21:57, 1 user, load averages: 1,78 1,77 1,70 USER TTY FROM LOGIN@ IDLE WHAT bel v1 - ??13 21:56 xinit /home/bel/.xinit -- With Best Regards, Andrew Belashov.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43E85A1C.3010408>