To be sure we have the relevant informations, make active_tasks_mask volatile
/* a few exported variables */
extern unsigned int nb_tasks; /* total number of tasks */
-extern unsigned long active_tasks_mask; /* Mask of threads with active tasks */
+extern volatile unsigned long active_tasks_mask; /* Mask of threads with active tasks */
extern unsigned int tasks_run_queue; /* run queue size */
extern unsigned int tasks_run_queue_cur;
extern unsigned int nb_tasks_cur;
struct pool_head *pool_head_notification;
unsigned int nb_tasks = 0;
-unsigned long active_tasks_mask = 0; /* Mask of threads with active tasks */
+volatile unsigned long active_tasks_mask = 0; /* Mask of threads with active tasks */
unsigned long global_tasks_mask = 0; /* Mask of threads with tasks in the global runqueue */
unsigned int tasks_run_queue = 0;
unsigned int tasks_run_queue_cur = 0; /* copy of the run queue size */