[Linux-ia64] Re: switch_mm race condition with Ingo's scheduler

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2002-07-13 03:37:47
>>>>> On Fri, 12 Jul 2002 19:26:07 +0200, Erich Focht <efocht@ess.nec.de> said:

  Erich> get_new_mmu_context is called on the CPU where task 123 is
  Erich> scheduled first.  We can flush TLB there. But on the other
  Erich> CPUs the stale entries of task 100 survive. If no new context
  Erich> is needed before task 123 gets migrated to another CPU, it
  Erich> might reuse TLB entries of task 100, which are wrong.  I'm
  Erich> not worried about taking an old context number but of using
  Erich> old TLB entries when my newly created task with reused
  Erich> context number switches CPUs. flush_tlb_all() was flushing
  Erich> all TLB entries by sending an IPI but this can lead to a
  Erich> deadlock... Do I misunderstand something?

Ah, I see now what you mean.  Yes, you're right it could happen that
we allocate a context number for a task on one CPU, task gets
rescheduled, and then we have to flush the TLB when activating the
context number.

	--david
Received on Fri Jul 12 10:39:21 2002

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