Date: Fri, 6 Dec 1996 07:16:19 -0400 (AST) From: "J.M. Chuang" <smp@bluenose.na.tuns.ca> To: peter@spinner.dialix.com (Peter Wemm) Cc: smp@freebsd.org Subject: Re: last major problem Message-ID: <199612061116.HAA25054@bluenose.na.tuns.ca> In-Reply-To: <199612060641.OAA13185@spinner.DIALix.COM> from Peter Wemm at "Dec 6, 96 02:41:12 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> > > I still get the same crash, with APIC_IO and SMP_INVLTLB defined :-(. > > > > > I tried your patch, no luck for Titan pro as well! > > > > BTW, I found that in the `make depend' (mkdep) for compiling a kernel, > > the system crashes. > > > > Jim > > BTW, we discovered that there are some differences between the P5 and P6 > class cpu's in the prefetch behavior that have bitten us before. > > If anybody has ever wondered what pmap_bootstrap2() was for, this is it. > > Under the P5 cpu's, the prefetch queue was filled, but under the P6, the > prefetch queue or pipeline or whatever seems to be flushed on a load > of %cr3. > > We were doing this sort of thing while running in low memory at 1MB: > movl $_IdlePTD,%eax > movl %eax,%cr3 > pushl $MPbegin > ret > MPbegin: > .. rest of boot code... > > The problem was that %eip was low, and loading %cr3 caused it to be > running from unmapped memory. On the P5, there were enough instructions > in the pipeline/prefetch queue to push the address and jump up to the > high memory address without faulting. On the P6, the next instruction > after the load of %cr3 faults immediately. > > I wonder if we're running into something like this? Things seem to be > working with the P5 cpu's... I must look over the crash reports again to > see if I can spot the reason why... For compiling a kernel, `make depend' crashes the system. If 'make depend' is executed before `sysctl -w kern.smp_active=2', the kernel can be compiled to the very end until ------------- cc -c -x assembler-with-cpp -DLOCORE -nostdinc -I- -I. -I../.. -I../../../include -DFAILSAFE -DCOMPAT_43 -DCD9660 -DMSDOSFS -DNFS -DFFS -DINET -DKERNEL ../../i386/i386/swtch.s --- vers.o --- sh ../../conf/newvers.sh SMP -DFAILSAFE -DCOMPAT_43 -DCD9660 -DMSDOSFS -DNFS -DFFS -DINET <crashes> :-( ------------- I can provide the ktrace file, if you need it to identify the problem. Jim Jim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612061116.HAA25054>