Re: [PATCH -mm] cpuset,mm: fix no node to alloc memory whenchanging cpuset's mems - fix2

From: Andrew Morton
Date: Wed May 12 2010 - 03:34:39 EST


On Wed, 12 May 2010 15:20:51 +0800 Miao Xie <miaox@xxxxxxxxxxxxxx> wrote:

> @@ -985,6 +984,7 @@ repeat:
> * for the read-side.
> */
> while (ACCESS_ONCE(tsk->mems_allowed_change_disable)) {
> + task_unlock(tsk);
> if (!task_curr(tsk))
> yield();
> goto repeat;

Oh, I meant to mention that. No yield()s, please. Their duration is
highly unpredictable. Can we do something more deterministic here?

Did you consider doing all this with locking? get_mems_allowed() does
mutex_lock(current->lock)?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/