Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Apr 2012 14:22:56 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Attilio Rao <attilio@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, Arnaud Lacombe <lacombar@gmail.com>
Subject:   Re: Disabling an arbitrary device
Message-ID:  <201204231422.56916.jhb@freebsd.org>
In-Reply-To: <CAJ-FndDKTzsg2X1sAA%2Bw1%2BniCRsc_pN6DLg6MXfX%2BpMZteNPrA@mail.gmail.com>
References:  <CACqU3MWa%2BMxR_uHcOYd4qPFsPLV0acOhTAPLU6whBjw6N_muxg@mail.gmail.com> <CACqU3MXrORmEvdQsudG9sJvX2sj2=haZQ2QNxz%2Btfys4PsxA-Q@mail.gmail.com> <CAJ-FndDKTzsg2X1sAA%2Bw1%2BniCRsc_pN6DLg6MXfX%2BpMZteNPrA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, April 20, 2012 8:50:07 pm Attilio Rao wrote:
> Il 20 aprile 2012 19:18, Arnaud Lacombe <lacombar@gmail.com> ha scritto:
> > Hi,
> >
> > On Fri, Apr 20, 2012 at 2:16 PM, Arnaud Lacombe <lacombar@gmail.com> 
wrote:
> >> Hi,
> >>
> >> I will be bringing up an old thread there, but it would seem the
> >> situation did not evolve in the past 9 years. I have a machine running
> >> 7.1 whose UHCI controller is generating some interrupt storm:
> >>
> >> # vmstat -i
> >> interrupt                          total       rate
> >> irq4: sio0                          1328          2
> >> irq19: uhci1+                   63514509      96380
> >> [...]
> >>
> >> generating useless load on one CPU:
> >>
> >> # top -SH
> >> last pid:  5223;  load averages:  0.00,  0.00,  0.00    up 0+00:17:21 
 13:10:35
> >> 117 processes: 14 running, 79 sleeping, 24 waiting
> >> CPU:  0.2% user,  0.0% nice,  0.2% system,  6.6% interrupt, 93.0% idle
> >> Mem: 33M Active, 9348K Inact, 67M Wired, 400K Cache, 29M Buf, 2892M Free
> >> [...]
> >>   57 root          -64    -     0K     8K CPU0   0  11:59 86.57% irq19: 
uhci1+
> >>
> >> I thought I could use an hint to forbid uhci(4) attachment, ala:
> >>
> >> hint.uhci.0.disabled="1"
> >> hint.uhci.1.disabled="1"
> >>
> >> in /boot/loader.conf. However, it would seem that what should be
> >> usable with any arbitrary devices, ie. be an integral part of
> >> device(9), has to be hardcoded in every driver, sad.
> >>
> > as for the usual "if you're not happy, please provide a patch":
> >
> > 
https://github.com/lacombar/freebsd/commit/30786d09b0cb441890cdc749ee5243238e81d2d8
> 
> I think a generalized kludge should really belong to
> device_probe_child() rather than device_add_child_ordered().

eadler@ has a patch that is a better workaround, (it marks the device disabled 
after probe but before attach is called).  This patch above only disables
manually added devices that are added by name, so it wouldn't work for PCI 
devices (e.g. the uhci devices).

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204231422.56916.jhb>