View Issue Details

IDProjectCategoryView StatusLast Update
0002459fsvybrid_LinuxNAND-FMDpublic2015-02-04 17:10
ReporterKeller Assigned To 
Status resolvedResolutionfixed 
Product Versionfsvybrid-V2.1 
Target Versionfsvybrid-V2.2Fixed in Versionfsvybrid-V2.2 
Summary0002459: NAND driver reports "timeout waiting for Ready" when network traffic is high
DescriptionWhen the network traffic is very high, the NAND driver may report "timeout waiting for Ready" now and then.
Steps To ReproduceInstall iperf package on Linux PC. Start as

  iperf -s

Add iperf package to Buildroot, build, copy iperf to the board.

Restart the board, then quickly login, start eth0 and then issue the following command

  iperf -c <server-ip> -P 10 -t 30

Especially at system start, when the X server is started in the background, doing many NAND flash reads, this message may appear from time to time.

Later you can trigger this message by loading a large file from NAND, for example

  iperf -c <server-ip> -P 10 -t 30 &
  cp /root/Song1.wav /tmp

This only works once because after that the file is in the buffer cache and will not be loaded directly from NAND anymore, until the file is thrown out from the buffer cache again by other data.
Additional InformationIn nfc_wait_ready(), the driver first tries to wait with a short busy wait to handle short NAND commands directly. If the NAND command takes longer to finish, the driver activates the interrupt and then enters wait_event_timeout(). If this returns with the timeout, the above message is printed. However we should test once more if the NAND command was finished (i.e. the interrupt occurred).

If the system load is high, for example by a very busy network driver, the NAND driver will be deferred by the high priority network driver, which causes the timeout to trigger. However when we finally get CPU time for the NAND driver again, the interrupt usually has occurred and we should test this once more before showing the warning.
Forum Link


There are no notes attached to this issue.