1. 26 Jan, 2006 1 commit
    • Brent Casavant's avatar
      [IA64] hooks to wait for mmio writes to drain when migrating processes · e08e6c52
      Brent Casavant authored
      On SN2, MMIO writes which are issued from separate processors are not
      guaranteed to arrive in any particular order at the IO hardware.  When
      performing such writes from the kernel this is not a problem, as a
      kernel thread will not migrate to another CPU during execution, and
      mmiowb() calls can guarantee write ordering when control of the IO
      resource is allowed to move between threads.
      
      However, when MMIO writes can be performed from user space (e.g. DRM)
      there are no such guarantees and mechanisms, as the process may
      context-switch at any time, and may migrate to a different CPU as part
      of the switch.  For such programs/hardware to operate correctly, it is
      required that the MMIO writes from the old CPU be accepted by the IO
      hardware before subsequent writes from the new CPU can be issued.
      
      The following patch implements this behavior on SN2 by waiting for a
      Shub register to indicate that these writes have been accepted.  This
      is placed in the context switch-in path, and only performs the wait
      when the newly scheduled task changes CPUs.
      Signed-off-by: default avatarPrarit Bhargava <prarit@sgi.com>
      Signed-off-by: default avatarBrent Casavant <bcasavan@sgi.com>
      e08e6c52
  2. 20 Jan, 2006 7 commits
  3. 19 Jan, 2006 32 commits