Re: [SOLVED + PATCH]: documented Oops running big-endian reiserfs on parisc

Ulrich Weigand (Ulrich.Weigand@de.ibm.com)
Mon, 3 Sep 2001 14:08:43 +0200


David Miller wrote:

> From: Richard Zidlicky
<Richard.Zidlicky@stud.informatik.uni-erlangen.de>
> Date: Mon, 3 Sep 2001 00:34:37 +0200
>
> On Sun, Sep 02, 2001 at 07:57:17PM +0200, thunder7@xs4all.nl wrote:
> > /* 64 bit systems (and the S/390) need to be aligned explicitly -jdm
*/
> > -#if BITS_PER_LONG == 64 || defined(__s390__)
> > +#if BITS_PER_LONG == 64 || defined(__s390__) || defined(__hppa__)
> > # define ADDR_UNALIGNED_BITS (3)
> > #endif
>
> couldn't reiserfs use asm/unaligned.h like anyone else?
> Seems at least sparc and mips may need the same treatment.
>
>Sparc will act correctly for unaliagned accesses.
>
>It will trap and run very slowly, but it wont' OOPS and
>it will give correct results.
>
>This is actually required behavior, I don't know why parisc
>is acting differently.

the core problem was that reiserfs tried to do *atomic* operations
on non-aligned words. This isn't supported by the hardware on
S/390 (normal non-aligned accesses just work).

I don't really see how this can be fixed in a trap handler; how
would the handler guarantee atomicity?

Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com

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