Skip site navigation (1)Skip section navigation (2)
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>