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

   [**\[Experimental Bot, please feedback 
here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues)
   
   
   
   This PR description, while a good start, doesn't fully meet the NuttX 
requirements. Here's a breakdown and suggestions for improvement:
   
   **Missing/Insufficient Information:**
   
   * **Summary:**  While you explain the *why*, you need to be more explicit 
about *what* changed and *how*.  Mention specific files modified or added.  For 
example: "This PR adds a `cyclictest` utility under `tools/testing/cyclictest`. 
It provides alternative waiting mechanisms using semaphores (when 
`CONFIG_SYSTEMTICK_HOOK` is enabled) and timer devices, along with measurement 
options using `clock_gettime` and timer devices. This allows for more accurate 
latency measurements than the existing patch in `benchmarks/rt-tests`."
   
   * **Impact:**  Be more specific and answer *all* the questions with YES/NO 
and explanations.  Your current statement is vague. Examples:
       * **Is new feature added?** YES (cyclictest utility)
       * **Is existing feature changed?** NO
       * **Impact on user:** YES (Users can now utilize a dedicated cyclictest 
utility with enhanced features)
       * **Impact on build:** YES (Need to add `tools/testing/cyclictest` to 
the build system - describe how, e.g., a new Kconfig option)
       * **Impact on hardware:** Potentially YES (if using the timer device 
method - specify which timers are supported). If no specific hardware changes 
are needed, explicitly state NO and briefly explain why.
       * **Impact on documentation:** YES (Documentation needs to be added 
explaining how to build and use the new cyclictest utility, including 
configuration options).
       * **Impact on security:** NO (Provide a brief justification.  E.g., "No 
new system calls or privileged operations are introduced.")
       * **Impact on compatibility:** NO (Provide a brief justification. E.g., 
"No breaking changes to existing APIs.")
   
   * **Testing:**  Provide much more detail. "Locally on a custom ATSAMV7 
board" is not sufficient.
       * **Build Host(s):** Specify OS version, CPU architecture, compiler 
version (e.g., "Linux Ubuntu 20.04, x86_64, GCC 9.4.0").
       * **Target(s):** Be specific about the ATSAMV7 board and its 
configuration (e.g., "ATSAMV71-XULT, configured with CONFIG_SYSTEMTICK_HOOK=y 
and using Timer/Counter 0").
       * **Testing logs:** You *must* include actual log output demonstrating 
the cyclictest's functionality, both before (showing the limitations of the 
existing approach or the absence of the tool) and after the change.  Show 
different test cases (different wait/measurement methods).  Even a few lines 
demonstrating successful execution and basic output would be better than 
nothing.
   
   **Revised PR Description Example (incorporating the above suggestions):**
   
   ```
   ## Summary
   
   This PR adds a `cyclictest` utility under `tools/testing/cyclictest`. It 
provides alternative waiting mechanisms using semaphores (when 
`CONFIG_SYSTEMTICK_HOOK` is enabled) and timer devices, along with measurement 
options using `clock_gettime` and timer devices. This allows for more accurate 
latency measurements than the existing patch in `benchmarks/rt-tests`.  Files 
added: `tools/testing/cyclictest/cyclictest.c`, 
`tools/testing/cyclictest/Kconfig`, `tools/testing/cyclictest/Makefile`.
   
   ## Impact
   
   * **Is new feature added?** YES (cyclictest utility)
   * **Is existing feature changed?** NO
   * **Impact on user:** YES (Users can now utilize a dedicated cyclictest 
utility with enhanced features for measuring latency.)
   * **Impact on build:** YES (A new Kconfig option `CONFIG_TOOLS_CYCLICTEST` 
has been added to enable building the cyclictest utility.)
   * **Impact on hardware:** YES (The timer device wait method utilizes 
Timer/Counter 0.  This could potentially conflict with other uses of this 
timer.)
   * **Impact on documentation:** YES (Documentation has been added to the 
`tools/testing` directory explaining how to build and use the cyclictest 
utility, including its configuration options.)
   * **Impact on security:** NO (No new system calls or privileged operations 
are introduced.)
   * **Impact on compatibility:** NO (No breaking changes to existing APIs.)
   
   ## Testing
   
   I confirm that changes are verified on a local setup and work as intended:
   * **Build Host(s):** Linux Ubuntu 22.04, x86_64, GCC 11.2.0
   * **Target(s):** ATSAMV71-XULT, configured with `CONFIG_SYSTEMTICK_HOOK=y` 
and `CONFIG_TOOLS_CYCLICTEST=y`, using Timer/Counter 0.
   
   Testing logs before change (demonstrating lack of dedicated cyclictest and 
limitations of existing methods):
   
   ```
   # No cyclictest utility found in NuttX
   $ cyclictest
   bash: cyclictest: command not found
   
   # Using existing inadequate method (e.g., from benchmarks/rt-tests - provide 
a concrete example)
   ... (output showing limitations in precision or functionality) ...
   ```
   
   Testing logs after change:
   
   ```
   # Using semaphore wait method
   $ cyclictest -p 90 -d 0 -n -h 0 -t 1 -i 200000 -l 1000
   # ... output showing consistent latency measurements ...
   
   # Using timer device wait method
   $ cyclictest -p 90 -d 1 -n -h 0 -t 1 -i 200000 -l 1000
   # ... output showing consistent latency measurements ...
   ```
   ```
   
   By providing this level of detail, you significantly increase the chances of 
your PR being accepted quickly. Remember to adapt this example to accurately 
reflect your specific changes and 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