Messages in this thread | | | From | "Rustad, Mark D" <> | Subject | Re: [PATCH 1/8] ixgbe: Out of line ixgbe_read/write_reg | Date | Tue, 20 May 2014 17:06:17 +0000 |
| |
On May 19, 2014, at 4:25 PM, Andi Kleen <ak@linux.intel.com> wrote:
> On Mon, May 19, 2014 at 10:00:52PM +0000, Rustad, Mark D wrote: >> On May 16, 2014, at 2:43 PM, Andi Kleen <andi@firstfloor.org> wrote: >> >>> From: Andi Kleen <ak@linux.intel.com> >>> >>> ixgbe_read_reg and ixgbe_write_reg are frequently called and are very big >>> because they have complex error handling code. >> >> Actually, this patch doesn't do anything to ixgbe_write_reg, which would almost certainly be very bad for performance, but instead changes ixgbe_write_reg64. > > I doubt a few cycles around the write make a lot of difference for MMIO. MMIO is dominated > by other things. > >> The latter is not in a performance-sensitive path, but is only called from one site, so there is little reason to take it out-of-line. > > True I moved the wrong one. > > ixgbe_write_reg 3305 (0.00%) 8 409 > > >> I already have a patch in queue to make ixgbe_read_reg out-of-line, because it does have a very costly memory footprint inline, as you have found. > > Please move write_reg too.
I will take a look at moving most of them out-of-line. There are just a few in very hot paths that should remain inline.
-- Mark Rustad, Networking Division, Intel Corporation
| |