林納斯
struct task_struct
(include/linux/sched.h:1041
)struct thread_struct
(arch/x86/include/asm/processor.h:442
)struct thread_info
(arch/x86/include/asm/thread_info.h:25
)unsigned int task_cpu(...)
(include/linux/sched.h:2628
)
#define task_thread_info(...)
(include/linux/sched.h:2322
)#define smp_processor_id()
(include/linux/smp.h:218
)cat /proc/cpuinfo
lscpu
void schedule(void)
(kernel/sched/core.c:3052
)void __schedule(void)
(kernel/sched/core.c:2955
)void context_switch(...)
(kernel/sched/core.c:1984
)#define switch_to(...)
(arch/x86/include/asm/switch_to.h:104
)
#define switch_to(...)
include/asm-generic/switch_to.h:25
)struct task_struct* __switch_to(...)
(arch/x86/kernel/process_64.c:272
)struct tss_struct
(arch/x86/include/asm/processor.h:264
)struct x86_hw_tss
(arch/x86/include/asm/processor.h:240
)nvcsw
/ nivcsw
sleep
/ usleep
/ nanosleep
sleep_for
gettimeofday
proj3-iobnd
(6 situations in total):
printf
std::cout
std::cout
(accelerated)time ./bin/proj3-iobnd 2> 1.log > 2.log
time ./bin/proj3-iobnd 2> 1.log
strace