Re: [PATCH/RFC] Linux MTD striping middle layer

Vitaly Wool
2006-03-21T15:54:03Z

Alexander Belyakov wrote:

> Vitaly,
>
> 1. No. Striping itself does not kill XIP. But it's true that using XIP
> with striped volume will not give any performance increase.

I'm quite unsure that XIP will be working on any other platform that
yours if your changes are applied, sorry.

> 2. Please note, that mtdstripe.c is a just another middle layer module
> as mtdconcat.c or mtdpart.c, for example. It can be used on top of ANY
> command set.

So why didn't you provide a comprehensive patch for all the command sets?

>
> As it was described in original message, we have to provide correct
> thread switching process - it is NOT striping problem but more generic
> one. We have fixed it in cfi_cmdset_0001.c. And it can be fixed (CPT)
> or workarounded (Priority switching and udelay modification) for other
> command sets. CPT (Common polling thread) has also been made as
> turnable module so anyone in any command set implementation could use it.

What PREEMPT_ modes did you test it with?

>
> Another important thing to be mentioned. The patch below was validated
> on 4 different Intel flash chips (including Sibley) on arm-based
> platform. It works and gives up to 85% performance increase on two
> independent chips in system.

...on Intel ARM-like platform, I need to add. No other ARM platforms, I
guess :P

We had a somewhat heated discussion on your changes in IRC :)
My POV is -- the idea itself definitely has some added value but I'm not
sure if incorporating it into the main MTD code is a good idea.
I still think that having a lot of NOR flash erase cases means either HW
or SW design mistake. And striping might be not a really necessary thing
if the number of erase cases is small.

The implementation itself seems to be quite inmature and leaves a lot of
questions - starting from what command-line parameters do mean and
ending up with how it's supposed to work in a workload environment,
given the threads etc. etc. Maybe it slows down the performance of the
whole system, even though it does speed up the block erase.

Vitaly