Linux kernel 为什么Linux允许每个轻量级进程最多3个TLS段?

Linux kernel 为什么Linux允许每个轻量级进程最多3个TLS段?,linux-kernel,Linux Kernel,在x86上,Linux在每个进程的LDT中为TLS段留出3个位置。为线程局部变量分配内存后,可以使用set\u thread\u区域syscall设置一个或多个TLS段 Linux源代码中的注释(请参见arch/x86/include/asm/segment.h)指出,第一个用于libc设置的TLS,第二个用于Wine的%fsWin32支持 那么,为什么要为TLS段留出3个段描述符呢?是否有人或任何东西实际使用了所有3个

在x86上,Linux在每个进程的LDT中为TLS段留出3个位置。为线程局部变量分配内存后,可以使用
set\u thread\u区域
syscall设置一个或多个TLS段

Linux源代码中的注释(请参见
arch/x86/include/asm/segment.h
)指出,第一个用于libc设置的TLS,第二个用于Wine的
%fs
Win32支持

那么,为什么要为TLS段留出3个段描述符呢?是否有人或任何东西实际使用了所有3个