nuttxpr commented on PR #3033:
URL: https://github.com/apache/nuttx-apps/pull/3033#issuecomment-2744005039

   [**\[Experimental Bot, please feedback 
here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues)
   
   
   
   This PR description mostly meets the NuttX requirements, but could be 
improved in a few key areas:
   
   **Summary:**
   
   * **Needs more detail on *why* this change is necessary.**  What problem 
does this solve for users?  Is it for benchmarking, debugging, or something 
else?  Simply stating it "allows measuring" isn't enough justification.  
Explain the use case.
   * **More explicit about the functional change.**  Instead of "Add MTD 
test...", be more specific, e.g., "Add a new application to the `testing/fs` 
directory that performs sequential read/write tests on MTD devices to measure 
transfer rates."
   
   **Impact:**
   
   * **User impact is understated.** While it provides a testing application, 
the patch to `esp32s3_board_spiflash.c` suggests more than just adding an 
application.  Explain why that patch is necessary for this test to work. Does 
it enable some functionality needed by the test?  If so, that's a larger impact 
than simply adding a test application.  If the patch is unrelated, it shouldn't 
be included in this PR.
   * **Build impact is likely YES.**  Adding a new application and potentially 
modifying board configuration files usually impacts the build system, at least 
by adding a new target.  Clarify this.  Even if the user has to explicitly 
enable the test application, it's still a build impact.
   * **Documentation impact is likely YES.**  A new test application should 
have at least some minimal documentation (e.g., in the `README.txt` or a help 
message within the application itself).
   
   **Testing:**
   
   * **Build Host(s) is missing.** Specify the OS, CPU architecture, and 
compiler version used for testing.
   * **Patch application should be avoided.** Submitting a patch that needs 
another patch is confusing.  Either integrate the necessary changes into the 
main PR or submit the board modification as a separate, prerequisite PR.
   * **Testing logs before change are irrelevant.**  Since this is a new 
feature, there shouldn't be any prior logs. Remove that section.
   * **"Data verification successful" is crucial, but needs more detail.** How 
is data verification performed? Byte-by-byte comparison? Checksum?  Be explicit.
   * **More test cases are needed.** Test with different MTD configurations 
(different block sizes, different drivers, etc.) to ensure robustness.  Testing 
on only one configuration is insufficient.  Ideally, test on both a real target 
and a simulator if possible.
   
   
   **Example of Improved Description:**
   
   ## Summary
   
   This PR adds a new test application to `testing/fs` to benchmark the 
read/write performance of MTD devices. This is useful for characterizing flash 
performance, identifying bottlenecks, and verifying driver correctness.  This 
allows developers to easily measure transfer rates on raw MTD devices without 
the overhead of a filesystem.  This PR also modifies the 
`esp32s3_board_spiflash.c` file to [explain why this change is necessary, e.g., 
to expose the MTD device in a way accessible by the test application].
   
   ## Impact
   
   * **User impact: YES.**  Users can now benchmark MTD performance using the 
provided test application. The modification to `esp32s3_board_spiflash.c` 
[explain user impact, e.g., now exposes a new block device]. Users may need to 
enable the `TESTING_MTD_TRANSFER_RATE` Kconfig option to build the test.
   * **Build impact: YES.**  The build system now includes the new `mtd_test` 
application.
   * **Hardware impact: NO.**
   * **Documentation impact: YES.**  This PR adds documentation for the 
`mtd_test` application within the application's help output (accessible via 
`mtd_test -h`).
   * **Security impact: NO.**
   * **Compatibility impact: NO.**
   
   ## Testing
   
   * **Build Host:** Linux (Ubuntu 22.04), x86_64, GCC 11.2.0
   * **Target:** esp32s3-devkit:spiflash, sim:qemu-esp32s3
   
   **Testing on esp32s3-devkit:spiflash:**
   
   ```
   nsh> mtd_test /dev/mtdblock0
   ... (output as before, but include the -h output as well)
   ```
   
   **Testing on sim:qemu-esp32s3:**
   
   ```
   nsh> mtd_test /dev/mtd0  (or appropriate device)
   ...
   ```
   
   Data verification is performed via a byte-by-byte comparison of the written 
and read data.  Additional tests were performed with block sizes of [list 
sizes] and on [list other configurations].
   
   
   By addressing these points, the PR description will be clearer, more 
complete, and easier for reviewers to assess. Remember to clearly justify each 
change and provide comprehensive testing results.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to