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