-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use small lock in following file #15303
Conversation
[Experimental Bot, please feedback here] This PR description does not adequately meet the NuttX requirements. Here's why and how to fix it: Summary Deficiencies:
Impact Deficiencies:
Testing Deficiencies:
Example of an Improved Summary: This PR replaces mutexes with spinlocks in the serial driver, tickless timer, and GPIO driver for the OR1K, BL602, FE310, and ESP32C3 architectures. This change aims to improve performance by reducing the overhead of mutex acquisition and release in these frequently accessed code paths. This addresses the performance regression reported in [Issue #XYZ]. By providing specific details, you make it much easier for reviewers to understand and evaluate your changes, which leads to faster reviews and a higher likelihood of your PR being merged. |
@hujun260 please verify this error:
|
@hujun260 your recent modifications broken the CI (stm32f4discovery), see LVGL PR from @JorgeGzm I think RISC-V also was affected:
|
done |
arch/or1k/src/mor1kx/mor1kx_serial.c arch/risc-v/src/bl602/bl602_serial.c arch/risc-v/src/common/espressif/esp_lowputc.c arch/risc-v/src/common/espressif/esp_lowputc.h arch/risc-v/src/common/espressif/esp_tickless.c arch/risc-v/src/esp32c3-legacy/esp32c3_idle.c arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.c arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.h arch/risc-v/src/esp32c3-legacy/esp32c3_rtc_lowerhalf.c arch/risc-v/src/fe310/fe310_gpio.c Signed-off-by: hujun5 <[email protected]>
@hujun260 I'm having similar issue on
|
|
Summary
use small lock in following file
arch/or1k/src/mor1kx/mor1kx_serial.c
arch/risc-v/src/bl602/bl602_serial.c
arch/risc-v/src/common/espressif/esp_lowputc.c
arch/risc-v/src/common/espressif/esp_lowputc.h
arch/risc-v/src/common/espressif/esp_tickless.c
arch/risc-v/src/esp32c3-legacy/esp32c3_idle.c
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.c
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.h
arch/risc-v/src/esp32c3-legacy/esp32c3_rtc_lowerhalf.c arch/risc-v/src/fe310/fe310_gpio.c
Impact
arch/or1k/src/mor1kx/mor1kx_serial.c
arch/risc-v/src/bl602/bl602_serial.c
arch/risc-v/src/common/espressif/esp_lowputc.c
arch/risc-v/src/common/espressif/esp_lowputc.h
arch/risc-v/src/common/espressif/esp_tickless.c
arch/risc-v/src/esp32c3-legacy/esp32c3_idle.c
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.c
arch/risc-v/src/esp32c3-legacy/esp32c3_lowputc.h
arch/risc-v/src/esp32c3-legacy/esp32c3_rtc_lowerhalf.c arch/risc-v/src/fe310/fe310_gpio.c
Testing
ci