-
Notifications
You must be signed in to change notification settings - Fork 1.5k
use small lock in following files #15426
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
Conversation
|
[Experimental Bot, please feedback here] No, this PR description does not adequately meet the NuttX requirements. Here's why and how to fix it: Missing Information in Summary:
Missing Information in Impact: Simply repeating the list of files does not describe the impact. Address each point explicitly:
Missing Information in Testing:
Example of Improved PR Description (fill in the specific details): SummaryThis change improves locking mechanisms in several drivers to reduce the risk of priority inversion and potentially improve performance. The existing global spinlocks in the CAN, GPIO, I2C, IRQ, and serial drivers for AM335x (ARM), the GPIO, LPI2C, LPSPI, and USBDEV drivers for i.MX9 (ARM64), and the tickless timer driver for x86_64 are replaced with more fine-grained mutexes. This allows for greater concurrency and reduces the likelihood of higher-priority tasks being blocked by lower-priority tasks holding a shared lock. This addresses potential deadlocks identified in [NuttX Issue #XXXX] (if applicable). Impact
TestingI confirm that changes are verified on local setup and works as intended:
Testing logs before change (AM335x - GPIO example): Testing logs after change (AM335x - GPIO example): (Repeat testing logs for other affected architectures/drivers. Include tests that specifically exercise the locking mechanisms, if possible). By providing this level of detail, reviewers can quickly understand the purpose, impact, and testing of your PR, leading to faster and more effective reviews. Remember to replace the bracketed placeholders with specific information relevant to your changes. |
e6b303e to
88e20b4
Compare
ff66e36 to
fa9bd98
Compare
f92f400 to
36e452c
Compare
2c86bd6 to
c7818b2
Compare
arch/arm/src/am335x/am335x_can.c
arch/arm/src/am335x/am335x_gpio.c
arch/arm/src/am335x/am335x_i2c.c
arch/arm/src/am335x/am335x_irq.c
arch/arm/src/am335x/am335x_serial.c
arch/arm64/src/imx9/imx9_gpio.c
arch/arm64/src/imx9/imx9_lpi2c.c
arch/arm64/src/imx9/imx9_lpspi.c
arch/arm64/src/imx9/imx9_usbdev.c
arch/x86_64/src/intel64/intel64_tsc_tickless.c
Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
Summary
use small lock in following files:
arch/arm/src/am335x/am335x_can.c
arch/arm/src/am335x/am335x_gpio.c
arch/arm/src/am335x/am335x_i2c.c
arch/arm/src/am335x/am335x_irq.c
arch/arm/src/am335x/am335x_serial.c
arch/arm64/src/imx9/imx9_gpio.c
arch/arm64/src/imx9/imx9_lpi2c.c
arch/arm64/src/imx9/imx9_lpspi.c
arch/arm64/src/imx9/imx9_usbdev.c
arch/x86_64/src/intel64/intel64_tsc_tickless.c
Impact
arch/arm/src/am335x/am335x_can.c
arch/arm/src/am335x/am335x_gpio.c
arch/arm/src/am335x/am335x_i2c.c
arch/arm/src/am335x/am335x_irq.c
arch/arm/src/am335x/am335x_serial.c
arch/arm64/src/imx9/imx9_gpio.c
arch/arm64/src/imx9/imx9_lpi2c.c
arch/arm64/src/imx9/imx9_lpspi.c
arch/arm64/src/imx9/imx9_usbdev.c
arch/x86_64/src/intel64/intel64_tsc_tickless.c
Testing
CI