[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200220144251.GA15604@cqw-OptiPlex-7050>
Date: Thu, 20 Feb 2020 22:42:51 +0800
From: chenqiwu <qiwuchen55@...il.com>
To: Vincent Guittot <vincent.guittot@...aro.org>
Cc: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
linux-kernel <linux-kernel@...r.kernel.org>,
chenqiwu <chenqiwu@...omi.com>
Subject: Re: [PATCH] sched/fair: add !se->on_rq check before dequeue entity
>
> Hmm i have been too quick in my reply. I wanted to say:
> AFAICT, there is no other way to dequeue a task from a cfs_rq for
> which the group entity is not enqueued
But we should notice the potential racy pathes called by deactivate_task().
For example:
One path is dequeue a task from its cfs_rq called by schedule():
__schedule
deactivate_task
dequeue_task
dequeue_task_fair
Another path is trying to migrate the same task to a CPU on the preferred node:
numa_migrate_preferred
task_numa_migrate
migrate_swap
stop_two_cpus
migrate_swap_stop
__migrate_swap_task
deactivate_task
dequeue_task_fair
There could be a racy if the task is dequeued form its cfs_rq in parallel.
Powered by blists - more mailing lists