Date: Tue, 16 Dec 2008 11:28:51 -0700 From: Scott Long <scottl@samsco.org> To: "M. Warner Losh" <imp@bsdimp.com> Cc: svn-src-head@FreeBSD.org, mav@FreeBSD.org, src-committers@FreeBSD.org, svn-src-all@FreeBSD.org Subject: Re: svn commit: r186182 - head/sys/dev/ata Message-ID: <4947F363.4010909@samsco.org> In-Reply-To: <20081216.101038.1172765453.imp@bsdimp.com> References: <200812161604.mBGG4fBd041647@svn.freebsd.org> <4947D474.9040802@samsco.org> <20081216.101038.1172765453.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote: > In message: <4947D474.9040802@samsco.org> > Scott Long <scottl@samsco.org> writes: > : Alexander Motin wrote: > : > Author: mav > : > Date: Tue Dec 16 16:04:40 2008 > : > New Revision: 186182 > : > URL: http://svn.freebsd.org/changeset/base/186182 > : > > : > Log: > : > Call ata_legacy() only once on attach and save it's result. Scanning PCI > : > configuration registers (which are not going to change) on every interrupt > : > looks expensive, especially when interrupt is shared. Profiling shows me 3% > : > of time spent by atapci0 on pure network load due to IRQ sharing with em0. > : > > : > : Nice change. PCI Config registers are exceptionally slow to access on > : most systems. > > And we've been recommending to people for years that they avoid config > space access in interrupt handlers. Maybe it is time for something > that checks and prints a warning? > With the move to memory-mapped pci config registers, there was an intention to allow low-end devices to put their registers into config space. I think I recall some legacy ultra-low end devices that also put a few required registers into config space. So while it's not ideal to access it from an interrupt handler, I can't think of why it should be expressly forbidden. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4947F363.4010909>