Date: Tue, 04 Nov 2003 13:46:05 -0500 (EST) From: John Baldwin <jhb@FreeBSD.org> To: Bruce Evans <bde@zeta.org.au> Cc: Lukas Ertl <l.ertl@univie.ac.at> Subject: Re: new interrupt code: panic when going multiuser Message-ID: <XFMail.20031104134605.jhb@FreeBSD.org> In-Reply-To: <20031105043233.G840@gamplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04-Nov-2003 Bruce Evans wrote: > On Tue, 4 Nov 2003, John Baldwin wrote: > >> On 04-Nov-2003 Lukas Ertl wrote: >> > On Tue, 4 Nov 2003, Lukas Ertl wrote: >> > >> >> I somehow can't get at a good vmcore :-(. But I found out that the >> >> machine boots fine in "Safe Mode", where DMA and hw.ata.wc is turned off. >> > >> > Ok, if I set hw.ata.ata_dma=0 in loader.conf, it boots fine. Could there >> > be some issue with ATAng + new interrupt code? >> >> Can you provide a dmesg please? There may be a weird issue with >> some PPro's for example that I haven't been able to test. > > I have noticed the following problems with the new interrupt code so far: > - it conflicts with a few thousand lines of local changes. > - yesterday's backup kernels which I preserved to run benchmarks with > all hang at boot time while probing atapicam devices. Backing out > rev.1.23 of ata-lowlevel.c fixes the hang, but I didn't back up > yesterday's sources so it will take some work to regenerate working > versions of yesterday's kernels. > > The following is without the local changes: > - cyintr(int unit) panics becauase it is passed a pointer to somewhere. > I think all compat_isa devices are broken for unit 0 because unit 0 > is represented by a null pointer. Ah, ok. Yes, this is a semantic change. To try and support clock interrupts, a fast handler that passes a NULL argument will get a pointer to the intrframe as its argument. I got the idea via sparc64 from jake@. Perhaps something can be faked up in the compat_isa shims to fix this. Please try http://www.FreeBSD.org/~jhb/patches/isa_compat.patch > - on a BP6, UP kernels without apic work except for cyintr(), but SMP > kernels have problems with missing interrupts for ata devices and hang > at boot time. Is this related to the ata-lowlevel commit you mentioned above? -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20031104134605.jhb>