83xx GPIO/EXT int in arch/powerpc/
Kumar Gala
galak at kernel.crashing.org
Tue Jun 12 23:31:40 EST 2007
> What is more disturbing though, is that a number of operations on the
> powerpc arch seems significantly slower wrt the ppc arch.
>
> ioremap and iounmap being the most important one: we are using a small
> driver that uses one of the UPMs in combination with GPIOs for HPI
> (Host
> Port Interface) for TI DSPs.
>
> Where the loading of a DSP took only 3 seconds, it went up to over a
> minute on powerpc (same driver code).
I'm confused what you are comparing here, 3 seconds on arch=ppc vs
over a minute on arch=powerpc?
> Changing the driver to ioremap and unmap 0xe2400000 only once at
> driver
> initialisation and unloading (not really relevant on this embedded
> system, shame on me) instead twice for every word greatly improves the
> time (around one second). However, this optimisation has the same
> effect
> on ppc too :-/
>
> Running the same application with the same modules on ppc and powerpc
> (transferring data from the network to an FPGA) has a 50% higher
> load on
> powerpc. The transfer is done with mapping user pages into the kernel
> and DMA'ing them over PCI. What all driver have in common is that
> there
> are quite some writes/reads to the IMMR configuration.
I'd expect the driver to be exactly the same (or close to it) for
arch=ppc vs arch=powerpc.
> Decreasing the read and writes to the LBC for HPI (0xe2400000)
> seems to
> improve the overall load.
>
> So my question would be if I need to specify a special section in the
> dts file for some reason; next to the U-Boot configuration that sends
> writes to this address through the UPMB?
>
> If not, is there any other reason that might account for these
> significant performance drops?
There shouldn't be, but if you are seeing this we really should
figure out what's going on.
What kernel is this on? What processor are you using?
- k
More information about the Linuxppc-dev
mailing list