[PATCH v2 3/3] mtd: rawnand: Support for sequential cache reads

Måns Rullgård mans at mansr.com
Wed Jul 19 02:26:09 PDT 2023


Miquel Raynal <miquel.raynal at bootlin.com> writes:

> Hi Måns,
>
> mans at mansr.com wrote on Tue, 18 Jul 2023 15:03:14 +0100:
>
>> Miquel Raynal <miquel.raynal at bootlin.com> writes:
>> 
>> > Hi Måns,
>> >
>> > mans at mansr.com wrote on Mon, 17 Jul 2023 14:11:31 +0100:
>> >  
>> >> Miquel Raynal <miquel.raynal at bootlin.com> writes:
>> >>   
>> >> > So, I should have done that earlier but, could you please slow the
>> >> > whole operation down, just to see if there is something wrong with the
>> >> > timings or if we should look in another direction.
>> >> >
>> >> > Maybe you could add a boolean to flag if the last CMD was a
>> >> > READCACHESEQ, READCACHESTART or READCACHEEND, and if the flag is
>> >> > true, please get the jiffies before and after each waitrdy and
>> >> > delay_ns. Finally, please print the expected delay and the actual one
>> >> > and compare to see if something was too fast compared to what we
>> >> > expected.    
>> >> 
>> >> Between which points exactly should the delay be measured?  Also, there
>> >> is no command called READCACHESTART.  Did you mean READSTART or
>> >> something else?  
>> >
>> > Yeah, whatever command is specific to sequential cache reads:
>> > https://elixir.bootlin.com/linux/latest/source/drivers/mtd/nand/raw/nand_base.c#L1218
>> > https://elixir.bootlin.com/linux/latest/source/drivers/mtd/nand/raw/nand_base.c#L1228  
>> 
>> I'm still not sure what exactly you want to me measure.  The waitrdy and
>> ndelay combined, each separately, or something else?
>> 
>
> I would like to know, how much time we spend waiting in both cases.

Which "both" cases?

> Is there something wrong with the "wait ready"? As we cannot observe
> the timings with a scope, because we are using a "soft" controller
> implementation somehow, we can easily measure how much time we spend
> in each operation by measuring the time before and after.
>
> These information are only useful when we are doing operations related
> to sequential reads.

I have hooked up some spare GPIOs to a scope, which should be more
accurate (nanosecond) than software timestamps.  All I need to know is
what to measure and what to look for in those measurements.

-- 
Måns Rullgård



More information about the linux-mtd mailing list