Linus Torvalds writes: (Summary) It's about 18% __switch_to, and a lot of
system call entry/exit, but not a lot of locking.
system call entry/exit, but not a lot of locking.
I'm actually surprised it is even that much locking, since it seems to be single-cpu, so there should be no contention and the lock (which seems to be
seems to be
rq = this_rq();
rq_lock(rq, &rf);
rq_lock(rq, &rf);
in do_sched_yield()) should stay local to the cpu.
in do_sched_yield()) should stay local to the cpu.
And for you the locking is apparently even _more_ noticeable.
system call entry/exit, but not a lot of locking.
I'm actually surprised it is even that much locking, since it seems to be single-cpu, so there should be no contention and the lock (which seems to be
seems to be
rq = this_rq();
rq_lock(rq, &rf);
rq_lock(rq, &rf);
in do_sched_yield()) should stay local to the cpu.
in do_sched_yield()) should stay local to the cpu.
And for you the locking is apparently even _more_ noticeable.