RELENG_7: interrupt eating whole cpu core
Dominic Fandrey
kamikaze at bsdforen.de
Fri Feb 8 06:28:01 UTC 2008
Carlos A. M. dos Santos wrote:
> On Feb 6, 2008 5:45 PM, Dominic Fandrey <kamikaze at bsdforen.de> wrote:
>> Chuck Swiger wrote:
>>> Hi, Dominic--
>>>
>>> On Feb 6, 2008, at 11:12 AM, Dominic Fandrey wrote:
>>>>> behaviour has changed. This is an HP 6510b GR695EA#ABD, if anyone
>>>>> thinks it might be helpful, I can supply you with a dmesg and the
>>>>> output of pciconf -lv.
>>>> The problem remains with fresh sources:
>>>>
>>>> PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND
>>>> 12 root 1 171 ki31 0K 16K RUN 0 22:04 97.85%
>>>> idle: cpu0
>>>> 37 root 1 -64 - 0K 16K CPU1 1 2:35 96.00%
>>>> irq14: ata0
>>>> 11 root 1 171 ki31 0K 16K RUN 1 19:32 6.40%
>>>> idle: cpu1
>>>>
>>>> The rip is done by k3b, so the drive is accessed through the cam
>>>> interface.
>>> What are the values being reported by "sysctl hw.ata"? If you're going
>>> to be burning CD/DVDs, you really want to make sure hw.ata.atapi_dma is on.
>> I cannot believe it was so trivial. The sysctl looks all right.
>>
>> # sysctl hw.ata 0 /root
>> hw.ata.wc: 1
>> hw.ata.atapi_dma: 1
>> hw.ata.ata_dma: 1
>>
>> But further research revealed:
>> # atacontrol mode acd0 0 /root
>> current mode = PIO4
>>
>> # atacontrol mode acd0 udma33 0 /root
>>
>> changed the load dramatically:
>> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
>> 12 root 1 171 ki31 0K 16K RUN 0 52:54 100.00% idle: cpu0
>> 11 root 1 171 ki31 0K 16K CPU1 1 23:36 94.29% idle: cpu1
>> 1087 kamikaze 3 -8 0 133M 36168K physrd 1 1:09 3.17% k3b
>> 37 root 1 -64 - 0K 16K WAIT 1 30:10 0.00% irq14: ata0
>>
>>
>> Thank you very much! I used to think that UDMA33 was the default for
>> CD-/DVD-Rom drives. I suppose I should review the BIOS settings or change
>> something in the hints file.
>
> Wow, now I'm *really* surprised. I used to think that putting
>
> hw.ata.ata_dma="1"
> hw.ata.atapi_dma="1"
>
> in /boot/loader.conf would be enough to enable DMA mode. In fact I'm
> pretty sure it used to be in previous versions of FreeBSD. I created a
> /etc/rc.local containing
>
> #!/bin/sh -
> atacontrol mode acd0 udma33
>
Did you check weather you are affected, before you applied your solution?
Only one machine is affected.
I put the following into my rc.conf:
# Set mode for CD/DVD drive.
/sbin/atacontrol mode acd0 2>&1 | /usr/bin/grep PIO > /dev/null 2>&1 \
&& /sbin/atacontrol mode acd0 UDMA33
> Two questions, now:
>
> 1. Is this related to using atapicam?
Not for me.
> 2. Should this be considered a bug?
Yes, but not in FreeBSD. It's a bug in the BIOS of my Notebook. This is a
guess, not certainty.
More information about the freebsd-stable
mailing list