All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 13/15] ARM: make mach/io.h include optional
Date: Tue, 14 Feb 2012 18:12:38 +0000	[thread overview]
Message-ID: <201202141812.38847.arnd@arndb.de> (raw)
In-Reply-To: <20120214174035.GA29765@n2100.arm.linux.org.uk>

On Tuesday 14 February 2012, Russell King - ARM Linux wrote:
> > Yes, at least in the long run. Note that this should make no difference
> > at all from a performance point of view, but it does impact code size a bit.
> 
> That depends whether the additional reloads of pci_io_base can be properly
> scheduled by the compiler, and experience shows that you tend to end up
> with the load delay slot not being filled on older processors.
> 
> Not only that, but the compiler will evaluate the entire:
> 
>         pci_io_base + (addr & IO_SPACE_LIMIT)
> 
> thing every time.  With a 64K mask, that will include reloading the
> mask every single access.
> 
> So, we'll probably end up with about three additional loads per IO
> operation, none of which would be scheduled particularly well.
> 
> "Yuck" and "not in my kernel" comes to mind.

I totally agree with the code size point, but my point above was that
from performance perspective all that you mentioned should be dwarfed
by the overhead of actually doing a synchronous operation on an
external bus. writel may be reasonably fast on a CPU internal bus,
but inb/outb implies a full bus synchronization and is only
used on older PCI hardware, typically those that date back to
ISA in some form.

	Arnd

  reply	other threads:[~2012-02-14 18:12 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-13 21:43 [PATCH 00/15] mach/io.h cleanup and removal Rob Herring
2012-02-13 21:43 ` [PATCH 01/15] usb: ohci-pxa27x: add explicit include of hardware.h Rob Herring
2012-02-13 21:43 ` [PATCH 02/15] ARM: add explicit include of system.h to processor.h Rob Herring
2012-02-13 22:14   ` H Hartley Sweeten
2012-02-13 21:43 ` [PATCH 03/15] ARM: provide runtime hook for ioremap Rob Herring
2012-02-13 22:13   ` H Hartley Sweeten
2012-02-13 22:30   ` Russell King - ARM Linux
2012-02-13 22:48     ` Rob Herring
2012-02-13 21:43 ` [PATCH 04/15] ARM: imx: convert to common runtime ioremap hook Rob Herring
2012-02-16  0:17   ` Shawn Guo
2012-02-13 21:43 ` [PATCH 05/15] ARM: msm: use " Rob Herring
2012-02-13 23:05   ` David Brown
2012-02-13 21:43 ` [PATCH 06/15] ARM: msm: clean-up mach/io.h Rob Herring
2012-02-13 21:43 ` [PATCH 07/15] ARM: at91: " Rob Herring
2012-02-14  9:21   ` Nicolas Ferre
2012-02-14 13:24     ` Rob Herring
2012-02-16  7:43       ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-16 14:08         ` Rob Herring
2012-02-16 14:23           ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-23 17:26             ` Nicolas Ferre
2012-02-27 16:55               ` Rob Herring
2012-02-27 17:27                 ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-13 21:43 ` [PATCH 08/15] ARM: davinci: remove unneeded mach/io.h include Rob Herring
2012-02-13 21:43 ` [PATCH 09/15] ARM: orion5x: clean-up mach/io.h Rob Herring
2012-02-13 21:43 ` [PATCH 10/15] ARM: tegra: " Rob Herring
2012-02-13 21:43 ` [PATCH 11/15] ARM: ep93xx: " Rob Herring
2012-02-13 21:52   ` Ryan Mallon
2012-02-13 22:15     ` Rob Herring
2012-02-13 22:16   ` H Hartley Sweeten
2012-02-27 15:17   ` [PATCH] " Rob Herring
2012-02-13 21:43 ` [PATCH 12/15] ARM: clps711x: remove unneeded include of mach/io.h Rob Herring
2012-02-13 21:43 ` [PATCH 13/15] ARM: make mach/io.h include optional Rob Herring
2012-02-13 22:14   ` H Hartley Sweeten
2012-02-13 22:36   ` Russell King - ARM Linux
2012-02-13 22:55     ` Rob Herring
2012-02-14  2:03     ` Arnd Bergmann
2012-02-14  2:54       ` Rob Herring
2012-02-14  8:04         ` Arnd Bergmann
2012-02-14 14:36           ` Rob Herring
2012-02-14 17:16             ` Arnd Bergmann
2012-02-14 17:40               ` Russell King - ARM Linux
2012-02-14 18:12                 ` Arnd Bergmann [this message]
2012-02-14 23:09                 ` Rob Herring
2012-02-14 23:43                   ` Russell King - ARM Linux
2012-02-15  0:25                     ` Nicolas Pitre
2012-02-15 14:14                       ` Rob Herring
2012-02-15  0:57                     ` Arnd Bergmann
2012-02-27 19:31               ` Rob Herring
2012-02-28 16:10                 ` Arnd Bergmann
2012-02-27 22:31           ` Rob Herring
2012-02-28 16:32             ` Arnd Bergmann
2012-02-13 23:15   ` H Hartley Sweeten
2012-02-14  1:06     ` Arnd Bergmann
2012-02-14 17:38       ` H Hartley Sweeten
2012-02-14 18:20         ` Arnd Bergmann
2012-02-13 21:43 ` [PATCH 14/15] ARM: remove bunch of now unused mach/io.h files Rob Herring
2012-02-13 22:16   ` H Hartley Sweeten
2012-02-16  0:19   ` Shawn Guo
2012-02-16 18:57   ` Linus Walleij
2012-02-13 21:43 ` [PATCH 15/15] ARM: kill off __mem_pci Rob Herring
2012-02-13 22:22 ` [PATCH 00/15] mach/io.h cleanup and removal Tony Lindgren
2012-02-13 23:56   ` Tony Lindgren
2012-02-14  3:09   ` Rob Herring
2012-02-13 23:41 ` Tony Lindgren
2012-02-14  3:20   ` Rob Herring
2012-02-14 17:24     ` Tony Lindgren
2012-02-14 17:57       ` Arnd Bergmann
2012-02-14 18:28         ` Nicolas Pitre
2012-02-14 19:41         ` Rob Herring
2012-02-14 20:43           ` Tony Lindgren
2012-02-14 21:26             ` Arnd Bergmann
2012-02-14 21:54               ` Rob Herring
2012-02-14 22:38                 ` Arnd Bergmann
2012-02-21 22:47 ` Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201202141812.38847.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.