[Linux-ia64] Re: [patch] fix unaligned references inside s/w pipelined loops

From: David Mosberger <davidm_at_hpl.hp.com>
Date: 2001-10-18 10:56:18
>>>>> On Tue, 16 Oct 2001 08:54:08 -0700, "Luck, Tony" <tony.luck@intel.com> said:

  Tony> If an application takes an unaligned trap on a "rotating"
  Tony> register inside a software pipelined loop[1], then the kernel
  Tony> will use the wrong register when it fixes the fault.  This
  Tony> results in corrupted memory or register depending on whether
  Tony> the unaligned reference was a store or a load respectively.

  Tony> Attached is a patch to fix this (both for the integer case,
  Tony> which was the one actually reported to me, and the floating
  Tony> point case too).  Patch is against 2.4.10.

Looks good to me.  Patch applied.

  Tony> [1] Don't ask me why someone would go through all the effort
  Tony> of writing a s/w pipelined loop, but not check for unaligned
  Tony> access, I don't understand it either ... but they did.

Well, I can think of one reason: it could make sense if the data
happens to be aligned properly 99.9% of the time.  In any case, this
was definitely a bug.  Thanks for fixing it.

Received on Wed Oct 17 17:56:20 2001

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