EmbeddedRelated.com
Forums
Memfault Beyond the Launch

jffs2 corruption on busy local bus.

Started by comp.arch.embedded April 12, 2010
Did anyone encounter something like the following:

I have a system with linux accessing jffs2 nand via a busy local bus.
I run into one of the three: random file corruption, magic bit mask
1985 not found, or kernel traps ( BUG_ON(!PageUptodate(pg)) ): ie
deadlocks with page_cache_read in the garbage collector.

What's keeping the local bus busy is burst mode DMA to a FIFO device.
The processor is a powerpc 83XX with a local bus controller
supporting : and enbedded NAND flash controller, generic single cycle
bus access and UPM ( programmable timing ) to support my burst mode
dma.

My apologies, I seem these days to be asking questions and not helping
to answer them.

TTB


comp.arch.embedded wrote:
> Did anyone encounter something like the following: > > I have a system with linux accessing jffs2 nand via a busy local bus. > I run into one of the three: random file corruption, magic bit mask > 1985 not found, or kernel traps ( BUG_ON(!PageUptodate(pg)) ): ie > deadlocks with page_cache_read in the garbage collector. > > What's keeping the local bus busy is burst mode DMA to a FIFO device. > The processor is a powerpc 83XX with a local bus controller > supporting : and enbedded NAND flash controller, generic single cycle > bus access and UPM ( programmable timing ) to support my burst mode > dma. > > My apologies, I seem these days to be asking questions and not helping > to answer them.
Disclaimer: I am not familiar with PPC and linux, however I've ran into similar problems with different systems. Looks like NAND flash driver times out due to the bus congestion. The simplest would be increase the timeout period for operations. Also, you can probably adjust the DMA and CPU core priorities for the bus. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Memfault Beyond the Launch