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>