All of lore.kernel.org
 help / color / mirror / Atom feed
* Acceleration for map_copy_from on powerpc 512x
@ 2009-10-19  7:52 Fortini Matteo
  2009-10-21 14:30 ` Kenneth Johansson
  0 siblings, 1 reply; 5+ messages in thread
From: Fortini Matteo @ 2009-10-19  7:52 UTC (permalink / raw)
  To: linux-ppc list

Hi,
I'm working on a powerpc (PPC512x) embedded Linux product, and while I 
was trying to improve boot time, I found I could exploit the hw in order 
to speed up reading from NOR flashes.
The Linux/mtd version we're using is 2.6.24.6+Freescale patches.
Basically, I needed to hack the map_copy_from, which for my arch and 
uncached areas translates to a memcpy, in order to use the SCLPC FIFO, 
with a performance benefit of >2x on aligned multiple of 32Bytes transfers.

I didn't find a cleaner way than just #ifdef'ing the map_copy_from call 
and substitute with my call on relevant cases. I wonder if there is a 
cleaner way.

And yes, as soon as I've cleaned up the code a little bit, I will 
definitely post a patch about it.

Moreover: a huge benefit would come from exploiting DMA on these 
transfers, but I found I'm in_atomic while doing map_copy_from... is 
there an alternative way of locking than just disabling preemption?
I know maybe a newer kernel has already fixed it, but we're kind of 
stuck with the old one since we don't have time to port all of our 
device drivers to 2.6.3x

Thanks,
Matteo

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Acceleration for map_copy_from on powerpc 512x
@ 2009-10-15 16:02 Fortini Matteo
  0 siblings, 0 replies; 5+ messages in thread
From: Fortini Matteo @ 2009-10-15 16:02 UTC (permalink / raw)
  To: linux-mtd@lists.infradead.org

Hi,
I'm working on a powerpc (PPC512x) embedded Linux product, and while I was trying to improve boot time, I found I could exploit the hw in order to speed up reading from NOR flashes.
The Linux/mtd version we're using is 2.6.24.6+Freescale patches.
Basically, I needed to hack the map_copy_from, which for my arch and uncached areas translates to a memcpy, in order to use the SCLPC FIFO, with a performance benefit of >2x on aligned multiple of 32Bytes transfers.

I didn't find a cleaner way than just #ifdef'ing the map_copy_from call and substitute with my call on relevant cases. I wonder if there is a cleaner way.

And yes, as soon as I've cleaned up the code a little bit, I will definitely post a patch about it.

Moreover: a huge benefit would come from exploiting DMA on these transfers, but I found I'm in_atomic while doing map_copy_from... is there an alternative way of locking than just disabling preemption?
I know maybe a newer kernel has already fixed it, but we're kind of stuck with the old one since we don't have time to port all of our device drivers to 2.6.3x

Thanks,
Matteo

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-10-27 11:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-19  7:52 Acceleration for map_copy_from on powerpc 512x Fortini Matteo
2009-10-21 14:30 ` Kenneth Johansson
2009-10-27 10:02   ` Fortini Matteo
2009-10-27 11:41     ` Kenneth Johansson
  -- strict thread matches above, loose matches on Subject: below --
2009-10-15 16:02 Fortini Matteo

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.