线程调用系统调用时的上下文切换

我有一个multithreading的进程。 如果我的一个线程调用像gettimeofday()这样的系统调用,内核是否仅将该线程切换到上下文以服务系统调用,还是将整个进程(以及所有其他线程)切换到上下文之外?

大多数系统调用可能涉及上下文切换(如果其他任务可运行)并将处理器的状态切换到内核模式。

gettimeofday (和getpid() )是不寻常的。 与最近的内核他们使用VDSO来避免它(甚至避免syscallsysenter指令切换到内核模式)。

对于linux内核来说,一个线程就是一个进程。 因此,当其中一个进行系统调用时,内核对您的进程的其他线程没有兴趣。