Subject: Re: problems with nvidia chipset
To: None <port-amd64@netbsd.org>
From: Emmanuel Dreyfus <manu@netbsd.org>
List: port-amd64
Date: 01/05/2006 13:46:54
Emmanuel Dreyfus <manu@netbsd.org> wrote:

> I have the SATA disk working. The disk
> performance is very weak, though. systat vm shows that when doing a dd
> of the disk raw device, the machine spends 100% of its time handling
> interrupts.

For future reference:

I added the few lines required in the NetBSD kernel so that DMA is
enabled for nForce 430 SATA (This was committed a few days ago). Disks
started to work much faster, but I had interrupts storms killing
performance.

systat vm showed that the interrupt storms came from irq 3. dmesg showed
that irq 3 was for ehci. Every other devices related to nForce 430 were
using irq 5.

Disabling USB (ehci, ohci and uhci) fixed the problem, but that's not a
satisfying workaround.

Building a kernel with ioapic and MPBIOS options reduced the problem
(CPU spending 30% in interrupts instead of 70% before).

By doing some debug in ehci code, I discovered that ehci driver was
getting interrupts even if it disabled all USB related interrupts.

It seemed another device was sending interrupts that were incorrectly
mapped to irq 3. I was not able to configure a NetBSD kernel avoiding
this problem, but reserving irq 3 in the BIOS setup completely fixed the
problem.

With irq 3 reserved, ehci gets irq 5, as all other nForce 430 devices.
The problem has completely gone away.

Is this a bug in NetBSD? Is there another fix beyond reserving irq 3 in
the BIOS?


-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@netbsd.org