Dear Mahmood, User threads interact with the OS through functions of the c-standard library (e.g., glibc, uclibc). These functions among other things, trap to the portion of code of the OS that executes system calls. In the past, OSs were only able to interrupt a process/thread in user mode. Nowadays, most kernels are preemptive. This means that when your user thread traps to the OS, it can be rescheduled. If the OS sees that the running queue of a processor is empty, it will try to steal a process/thread from another processor. Therefore, it might be the case that the system call (and the user thread) gets rescheduled and executed on another core. However, I would say that generally user-threads trap and execute system calls on the same core (kernel preempted or not).
Let me know if this answers your question. Regards, Javier ________________________________ From: Mahmood Naderan [[email protected]] Sent: 02 July 2013 11:13 To: [email protected] Subject: similarities among threads Dear all, Is there any study or observation regarding the similarities among threads in cloudsuite workloads? For example, assume core10 hits a syscall. Is he going to execute the OS code himself or it will pass to another one (say core0). -- Regards, Mahmood
