You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are two major issues in current direct syscall implementation:
1. When there is already a thread pending in syscall, direct syscall
degrages to wakeup idle and the performance is bad in that case. This is
actually common in applications that have a trafficless control
connection.
2. IRQ is not direct if LKL is in idle.
Both issuses are actually because of the same thing: LKL can't
reschedule when LKL is in idle. The patch adds such support.
There are two downside of this patch:
1. need to change kernel/sched/idle.c to expose cpu_idle_loop.
2. lkl_idle_tail_schedule must be in sync with idle.c
Those downsides seem OK given the performance we achieve from this
patch.
For common case, it saves one context switch (direct irq) and I can
observe 10% TCP_RR improvement on my desktop.
Signed-off-by: Yuan Liu <[email protected]>
0 commit comments