Re: periodically-drain-non-local-pagesets-fix.patch added to -mm tree

From: Keith Owens <kaos_at_sgi.com>
Date: 2005-06-03 17:31:02
On Fri, 3 Jun 2005 00:22:10 -0700, 
Andrew Morton <akpm@osdl.org> wrote:
>Keith Owens <kaos@sgi.com> wrote:
>> Does this fix the problem?  Compiled but not tested.
>
>Well it'll make the warning go away but I think there's a more fundamental
>problem, in that:
>
>	get_cpu();
>	cond = something_which_uses_smp_processor_id();
>	put_cpu();
>
>	/* `cond' can become false at any time from here */

Good point.  The entire fpu load/restore logic on ia64 needs reviewing
for preemption.  There is an implicit assumption that the fpu state is
atomically saved and restored on the current cpu, while under the
control of psr->mfh.  Preempt has the potential to migrate a task while
it is in the middle of save/restore fpu, breaking that assumption.
Other ia64 register save/restore code might have similar problems.

Leaving this one to the rest of the list.

-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Jun 3 03:31:18 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:39 EST