commit 3cc33c3cc85eae5dbc0f4b0ddc9291e3409287b2
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Nov 7 09:16:30 2019 +0100

    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.
    
    (cherry picked from commit 368dd79b0391edd5d04437be5efb01edb7b7a702)

diff --git a/src/drivers/driver_common/driver_common.c b/src/drivers/driver_common/driver_common.c
index 987fc958d..abb0702dd 100644
--- a/src/drivers/driver_common/driver_common.c
+++ b/src/drivers/driver_common/driver_common.c
@@ -309,8 +309,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);
 	}
 
