nuttx/sched
chao.an f5d4571abc sched/mqueue: remove sched_lock to improve performance
remove the sched_lock/unlock to improve the performance by 18%

mq_send Flow                        Cycle Count
mq_send                         Origin  Optimized
|
 ->nxmq_send                       24         24
   |
    ->file_mq_send                209        209
      |
      |->sched_lock               243        N/A  <-
      |->nxmq_do_send             391        348
      |  |
      |  |->sched_lock            434        N/A  <-
      |  |->up_unblock_task       545        459
      |   ->sched_unlock          675        N/A  <-
      |
       ->sched_unlock             684        N/A  <-
         |
          ->up_release_pending    701        N/A
            |
             ->arm_switchcontext  856        610

mq_receive
|
 ->arm_fullcontextrestore        1375       1133
   |
    ->up_block_task              1375       1133
      |
       ->nxmq_wait_receive       1530       1288
         |
          ->file_mq_receive      1606       1310
            |
             ->nxmq_receive      1616       1320
               |
                ->mq_receive     1628       1332  - 18%

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-10 07:23:42 +09:00
..
clock sched/clock: Remove CLOCK_MONOTONIC option from Kconfig 2022-02-23 01:21:26 +08:00
environ sched/environ: Remove the unneeded cast in env_dup 2022-04-21 22:55:47 +03:00
group sched/tls: Wrap up_info_size into tls_info_size 2022-06-08 19:07:33 +09:00
init sched/init: Initialize the idle thread local storage by tls_init_info 2022-06-08 19:07:33 +09:00
irq sched/irq: Fix array overrun in coverity check 2022-04-08 21:02:13 -03:00
module mod_insmod: fix coverity warning 2022-04-02 20:09:42 +08:00
mqueue sched/mqueue: remove sched_lock to improve performance 2022-06-10 07:23:42 +09:00
paging
pthread sched/tls: Wrap up_info_size into tls_info_size 2022-06-08 19:07:33 +09:00
sched cpuload: use correct pm cpuload tick. 2022-05-31 07:57:43 +03:00
semaphore Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible 2022-05-15 13:55:58 +03:00
signal sigact: get free sigact from freelist always successful 2022-04-01 13:38:29 +08:00
task sched/tls: Wrap up_info_size into tls_info_size 2022-06-08 19:07:33 +09:00
timer timer:settime: check return value of clock_abstime2ticks 2022-05-16 10:20:52 +03:00
tls sched/tls: Wrap up_info_size into tls_info_size 2022-06-08 19:07:33 +09:00
wdog sched/wdog: Change the return type of wd_gettime from int to sclock_t 2022-05-19 23:21:54 +03:00
wqueue sched/wqueue: Change the return type of work_notifier_teardown to void 2022-05-14 00:35:29 +03:00
Kconfig signal: add define of SIGHUP/SIGTTIN 2022-06-03 12:50:14 +08:00
Makefile sched/tls: Add tls_init_info and tls_dup_info 2022-06-03 23:56:50 +03:00