svn commit: r186182 - head/sys/dev/ata

M. Warner Losh imp at bsdimp.com
Tue Dec 16 19:06:30 UTC 2008


In message: <4947F363.4010909 at samsco.org>
            Scott Long <scottl at samsco.org> writes:
: M. Warner Losh wrote:
: > In message: <4947D474.9040802 at samsco.org>
: >             Scott Long <scottl at 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.

True.  I wasn't planning on banning it, just warning about it so we
could be purposeful in our use of it.  Likely unworkable though...

Warner


More information about the svn-src-all mailing list