浏览代码

Avoid sleep_start events when sleeping out of sleeping_scheduling state

This follows c3d8461d25b5b0400cf7827e8430151e7fdf09df ("Separate out
STATUS_SLEEPING_SCHEDULING state from STATUS_SLEEPING state") which made
traces contain loads of Sleeping events.
Samuel Thibault 5 年之前
父节点
当前提交
368dd79b03
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      src/drivers/driver_common/driver_common.c

+ 5 - 2
src/drivers/driver_common/driver_common.c

@@ -350,8 +350,11 @@ static void _starpu_worker_set_status_sleeping(int workerid)
 {
 	if (_starpu_worker_get_status(workerid) != STATUS_SLEEPING)
 	{
-		_STARPU_TRACE_WORKER_SLEEP_START;
-		_starpu_worker_restart_sleeping(workerid);
+		if (_starpu_worker_get_status(workerid) != STATUS_SLEEPING_SCHEDULING)
+		{
+			_STARPU_TRACE_WORKER_SLEEP_START;
+			_starpu_worker_restart_sleeping(workerid);
+		}
 		_starpu_worker_set_status(workerid, STATUS_SLEEPING);
 	}