nuttx/include
ligd e2df52390a SMP: fix crash when switch to new task which is still running
Situation:

Assume we have 2 cpus, and busy run task0.

CPU0                                CPU1
task0 -> task1                      task2 -> task0
1. remove task0 form runninglist
2. take task1 as new tcb
3. add task0 to blocklist
4. clear spinlock
                                    4.1 remove task2 form runninglist
                                    4.2 take task0 as new tcb
                                    4.3 add task2 to blocklist
                                    4.4 use svc ISR swith to task0
                                    4.5 crash
5. use svc ISR swith to task1

Fix:
Move clear spinlock to the end of svc ISR

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-09-17 17:37:47 +09:00
..
arpa Net thread-safe ntoa functions 2022-08-02 21:04:19 +08:00
cxx libc/wchar: remove unnecessary config 2022-07-27 00:36:49 +08:00
net net/sockopt: move BINDTODEVICE to socket level 2022-08-25 17:56:52 +08:00
netinet udp: add IPVx_PKTINFO related support 2022-09-07 10:49:47 +08:00
netpacket
nuttx SMP: fix crash when switch to new task which is still running 2022-09-17 17:37:47 +09:00
ssp
sys net/sockopt: move BINDTODEVICE to socket level 2022-08-25 17:56:52 +08:00
.gitignore Add Embedded Template Library (ETL) support 2022-08-05 09:38:48 +08:00
aio.h
alloca.h
assert.h
byteswap.h
ctype.h
debug.h libc: add lib_dump utils 2022-08-24 16:58:10 +08:00
dirent.h fs/dir: support fchdir and dirfd 2022-08-09 23:30:01 +08:00
dlfcn.h
dsp.h
dspb16.h
elf.h
elf32.h
elf64.h
endian.h include:endian.h add openbsd style 2022-09-05 10:39:36 -03:00
err.h libc/err: Add _func suffix to avoid the the penitential symbol collision 2022-08-08 07:39:59 -04:00
errno.h
execinfo.h
fcntl.h libc: Implement memfd on top of tmpfs 2022-08-09 22:13:09 +03:00
fixedmath.h
fnmatch.h
ftw.h
getopt.h
glob.h
grp.h
hex2bin.h
ifaddrs.h
inttypes.h
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h libc/wchar: support wchar 2022-07-27 00:36:49 +08:00
locale.h
lzf.h
malloc.h mm/mm_heap: change CONFIG_MM_BACKTRACE to int type 2022-07-26 23:45:31 +08:00
mqueue.h
netdb.h
nl_types.h
nxflat.h
poll.h
pthread.h
pty.h
pwd.h
queue.h queue: add dq_rmafter support 2022-09-08 15:03:54 +02:00
resolv.h
sched.h
semaphore.h
signal.h
spawn.h
stdbool.h
stddef.h
stdint.h
stdio.h
stdlib.h libc/wchar: support wchar 2022-07-27 00:36:49 +08:00
stdnoreturn.h
string.h libc:add timingsafe_bcmp to libc 2022-09-05 22:27:05 +08:00
strings.h
syscall.h
syslog.h
termios.h
threads.h
time.h
unistd.h fs/dir: support fchdir and dirfd 2022-08-09 23:30:01 +08:00
utime.h
uuid.h
wchar.h
wctype.h libc: Remove the unnecessary include from wchar and wctype 2022-07-27 10:55:37 +03:00