[PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-05 Thread via GitHub
pussuw opened a new pull request, #16031: URL: https://github.com/apache/nuttx/pull/16031 ## Summary This replaces the big kernel lock (enter/leave_critical_section()) with local spinlocks from all MPFS drivers that still use it. The reason is obviously to alleviate big kernel lock c

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-05 Thread via GitHub
pussuw commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r202052 ## arch/risc-v/src/mpfs/mpfs_dsn.c: ## @@ -91,9 +98,7 @@ int mpfs_read_dsn(uint8_t *dsn, size_t len) while ((getreg32(SERVICES_SR) & SCBCTRL_SERVICESSR_BUSY) && --r

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-05 Thread via GitHub
xiaoxiang781216 commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2007997947 ## arch/risc-v/src/mpfs/mpfs_dsn.c: ## @@ -91,9 +98,7 @@ int mpfs_read_dsn(uint8_t *dsn, size_t len) while ((getreg32(SERVICES_SR) & SCBCTRL_SERVICESSR_BUS

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-05 Thread via GitHub
pussuw commented on PR #16031: URL: https://github.com/apache/nuttx/pull/16031#issuecomment-2743447683 > @pussuw nice work! Is there some way to test and display how much it improved the NuttX performance? I cannot share logs but in our use case total CPU load drops by ~3-5% in SMP m

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-05 Thread via GitHub
pussuw commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2008035543 ## arch/risc-v/src/mpfs/mpfs_dsn.c: ## @@ -91,9 +98,7 @@ int mpfs_read_dsn(uint8_t *dsn, size_t len) while ((getreg32(SERVICES_SR) & SCBCTRL_SERVICESSR_BUSY) && --r

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-04 Thread via GitHub
nuttxpr commented on PR #16031: URL: https://github.com/apache/nuttx/pull/16031#issuecomment-2743116471 [**\[Experimental Bot, please feedback here\]**](https://github.com/search?q=repo%3Aapache%2Fnuttx+13552&type=issues) The PR mostly meets the NuttX requirements but is missi

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-04-01 Thread via GitHub
xiaoxiang781216 merged PR #16031: URL: https://github.com/apache/nuttx/pull/16031 -- 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...@nu

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-03-26 Thread via GitHub
xiaoxiang781216 commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2013932328 ## arch/risc-v/src/mpfs/mpfs_dsn.c: ## @@ -91,9 +98,7 @@ int mpfs_read_dsn(uint8_t *dsn, size_t len) while ((getreg32(SERVICES_SR) & SCBCTRL_SERVICESSR_BUS

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-03-21 Thread via GitHub
xiaoxiang781216 commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2008619207 ## arch/risc-v/src/mpfs/mpfs_coremmc.c: ## @@ -525,7 +526,7 @@ static void mpfs_configxfrints(struct mpfs_dev_s *priv, uint32_t xfrmask, { irqstate_t flags

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-03-21 Thread via GitHub
acassis commented on PR #16031: URL: https://github.com/apache/nuttx/pull/16031#issuecomment-2743389771 @pussuw nice work! Is there some way to test and display how much it improved the NuttX performance? -- This is an automated message from the Apache Git Service. To respond to the messa

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-03-21 Thread via GitHub
pussuw commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2008078388 ## arch/risc-v/src/mpfs/mpfs_dsn.c: ## @@ -91,9 +98,7 @@ int mpfs_read_dsn(uint8_t *dsn, size_t len) while ((getreg32(SERVICES_SR) & SCBCTRL_SERVICESSR_BUSY) && --r

Re: [PR] arch/risc-v/mpfs: Remove big kernel lock from several drivers [nuttx]

2025-03-21 Thread via GitHub
pussuw commented on code in PR #16031: URL: https://github.com/apache/nuttx/pull/16031#discussion_r2008033805 ## arch/risc-v/src/mpfs/mpfs_coremmc.c: ## @@ -525,7 +526,7 @@ static void mpfs_configxfrints(struct mpfs_dev_s *priv, uint32_t xfrmask, { irqstate_t flags; - fl