Revert "epoll, ppoll: deschedule on offload, don't do it when exiting system call"

This reverts commit d4056acfc3.

Change-Id: I7df15b9d3957ca571f4b4e2d576799f8b97ae299
This commit is contained in:
Masamichi Takagi
2020-06-30 09:02:32 +09:00
parent ac86affecc
commit d7ef74659b

View File

@@ -243,8 +243,7 @@ long do_syscall(struct syscall_request *req, int cpu)
DECLARE_WAITQ_ENTRY(scd_wq_entry, cpu_local_var(current)); DECLARE_WAITQ_ENTRY(scd_wq_entry, cpu_local_var(current));
if (req->number == __NR_epoll_wait || if (req->number == __NR_epoll_wait ||
req->number == __NR_epoll_pwait || req->number == __NR_epoll_pwait)
req->number == __NR_ppoll)
goto schedule; goto schedule;
cpu_pause(); cpu_pause();
@@ -10320,11 +10319,7 @@ long syscall(int num, ihk_mc_user_context_t *ctx)
} }
#endif // PROFILE_ENABLE #endif // PROFILE_ENABLE
/* Do not deschedule when returning from an event (e.g., MPI) */ if (smp_load_acquire(&v->flags) & CPU_FLAG_NEED_RESCHED) {
if (!(num == __NR_epoll_wait ||
num == __NR_epoll_pwait ||
num == __NR_ppoll) &&
smp_load_acquire(&v->flags) & CPU_FLAG_NEED_RESCHED) {
check_need_resched(); check_need_resched();
} }