nuttx/sched
wangzhi16 678f69b32a Revert "sched/group: move task group into task_tcb_s to improve performance"
This reverts commit 29e50ffa73.

reason:
Placing the main thread and the gourd in the same memory block, and allocating and freeing memory simultaneously, presents the following two problems:

When the main thread creates a child thread and performs a detach operation, there is a possibility that the main thread may have exited, but the main thread's TCB (Transaction Control Block) may not have been released.

This could potentially cause the main thread's TCB to be double-freed. The core contradiction in this problem lies in binding the main thread's TCB (Trust Container Registry) and the group together. When releasing the main thread's TCB, an additional check is needed to ensure the main thread was the last to leave the group. If this check and the free operation are atomically guaranteed, the logic is sound, and double freeing won't occur. However, this atomicity cannot be completely guaranteed. If other free operations cause a block, problems still arise.

Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
2025-12-23 10:24:42 +08:00
..
addrenv sem_waitirq: Use kmap interface to access the semaphore 2024-12-18 08:57:01 +08:00
clock drivers/timers/arch_alarm: Revert removal of ndelay_accurate 2025-11-25 22:33:48 +08:00
environ sched/environ: There is no need to use sched_[un]lock 2024-10-11 02:43:11 +08:00
event sched/event: Fix uninitialized need_switch flag issue in event_post() 2025-11-04 21:43:59 +08:00
group Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
init Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
instrument gprof: move gprof function from sched to libbuiltin/libgcc 2024-11-13 02:42:31 +08:00
irq sched/irq: add stack size judgment when detecting stack overflow 2025-10-14 17:42:01 +08:00
misc sched/irq: add a check for the interrupt stack in irq_dispatch 2025-09-29 19:12:18 +08:00
module libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
mqueue sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
paging sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
pthread Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
sched Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
semaphore sched/semaphore: add support to customize semaphore max allowed value 2025-09-04 09:48:34 +08:00
signal sched/signal: Fix nxsig_ismember() return value behavior 2025-11-25 10:02:52 +08:00
task Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
timer sched/wdog: Replace periodcial timer with the wd_start_next. 2025-06-10 11:02:45 -03:00
tls sched/gettid: Move thread ID to TLS 2025-04-08 22:53:10 +08:00
wdog sched/wdog: Inline wd_start() to improve performance 2025-11-10 23:16:57 +08:00
wqueue sched/wqueue: Replace spinlock/sched_lock with spin_lock_irqsave_nopreempt 2025-10-31 15:02:56 +08:00
CMakeLists.txt sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
Kconfig style/FAR: remove FAR qualifier 2025-11-10 10:56:29 +01:00
Makefile Revert "build depend:Revert Make.dep intermediate ddc file" 2024-09-15 19:29:47 +08:00