some questions

Andrew Belashov bel at orel.ru
Tue Feb 7 00:28:22 PST 2006


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 at 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.



More information about the freebsd-sparc64 mailing list