[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1263808570.4283.149.camel@laptop>
Date: Mon, 18 Jan 2010 10:56:10 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Tejun Heo <tj@...nel.org>
Cc: torvalds@...ux-foundation.org, mingo@...e.hu, awalls@...ix.net,
linux-kernel@...r.kernel.org, jeff@...zik.org,
akpm@...ux-foundation.org, jens.axboe@...cle.com,
rusty@...tcorp.com.au, cl@...ux-foundation.org,
dhowells@...hat.com, arjan@...ux.intel.com, avi@...hat.com,
johannes@...solutions.net, andi@...stfloor.org,
Mike Galbraith <efault@....de>
Subject: Re: [PATCH 04/40] sched: implement __set_cpus_allowed()
On Mon, 2010-01-18 at 09:57 +0900, Tejun Heo wrote:
> set_cpus_allowed_ptr() modifies the allowed cpu mask of a task. The
> function performs the following checks before applying new mask.
>
> * Check whether PF_THREAD_BOUND is set. This is set for bound
> kthreads so that they can't be moved around.
>
> * Check whether the target cpu is still marked active - cpu_active().
> Active state is cleared early while downing a cpu.
>
> This patch adds __set_cpus_allowed() which takes @force parameter
> which when true makes __set_cpus_allowed() ignore PF_THREAD_BOUND and
> use cpu online state instead of active state for the latter. This
> allows migrating tasks to CPUs as long as they are online.
> set_cpus_allowed_ptr() is implemented as inline wrapper around
> __set_cpus_allowed().
>
> Due to the way migration is implemented, the @force parameter needs to
> be passed over to the migration thread. @force parameter is added to
> struct migration_req and passed to __migrate_task().
>
> Please note the naming discrepancy between set_cpus_allowed_ptr() and
> the new functions. The _ptr suffix is from the days when cpumask API
> wasn't mature and future changes should drop it from
> set_cpus_allowed_ptr() too.
>
> NOTE: It would be nice to implement kthread_bind() in terms of
> __set_cpus_allowed() if we can drop the capability to bind to a
> dead CPU from kthread_bind(), which doesn't seem too popular
> anyway. With such change, we'll have set_cpus_allowed_ptr() for
> regular tasks and kthread_bind() for kthreads and can use
> PF_THREAD_BOUND instead of passing @force parameter around.
And your changelog still sucks... it only says what it does, not why.
still hate the patch too.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists