incubator-nuttx/sched
hujun5 3619e61c31 sched: adjust the scheduling strategy
1 Only the idle task can have the flag TCB_FLAG_CPU_LOCKED.
  According to the code logic, btcb cannot be an idle task, so this check can be removed.
2 Optimized the preemption logic check and removed the call to nxsched_add_prioritized.
3 Speed up the scheduling time while avoiding the potential for
  tasks to be moved multiple times between g_assignedtasks and g_readytorun.

Configuring NuttX and compile:
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
$ make
Running with qemu
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic \
   -machine virt,virtualization=on,gic-version=3 \
   -net none -chardev stdio,id=con,mux=on -serial chardev:con \
   -mon chardev=con,mode=readline -kernel ./nuttx

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-09-12 01:34:56 +08:00
..
addrenv sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
clock sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
environ sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
event sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
init sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
instrument sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
irq sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
misc sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
module sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
mqueue sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
paging sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
pthread sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
sched sched: adjust the scheduling strategy 2024-09-12 01:34:56 +08:00
semaphore sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
signal sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
task sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
timer sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
tls sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
wdog sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
wqueue sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
CMakeLists.txt sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
Kconfig semaphore: export priority ceiling interfaces in semaphore 2024-09-10 01:26:31 +08:00
Makefile sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00