jerpelea opened a new pull request, #14025:
URL: https://github.com/apache/nuttx/pull/14025

   ## Summary
   1 To improve efficiency, we mimic Linux's behavior where preemption 
disabling is
   only applicable to the current CPU and does not affect other CPUs.
   2 In the future, we will implement "spinlock+sched_lock", and use it 
extensively.
   Under such circumstances, if preemption is still globally disabled, it will 
seriously impact
   the scheduling efficiency.
   3 We have removed g_cpu_lockset and used irqcount in order to eliminate the 
dependency of
   schedlock on critical sections in the future, simplify the logic, and 
further enhance the
   performance of sched_lock.
   4 We set lockcount to 1 in order to lock scheduling on all CPUs during 
startup, without
   the need to provide additional functions to disable scheduling on other CPUs.
   5 Cpu (1-n) must wait for cpu0 to enter the idle state before enabling 
scheduling because
   it prevents CPUs1~n from competing with cpu0 for the memory manager mutex, 
which could
   cause the cpu0 idle task to enter a wait state and trigger an assert.
   
   size nuttx
   before:
      text    data     bss     dec     hex filename
    265396   51057   63646  380099   5ccc3 nuttx
   after:
      text    data     bss     dec     hex filename
    265184   51057   63642  379883   5cbeb nuttx
   
   size -216
   
   
   ## Impact
   RELEASE 
   
   ## Testing
   CI
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to