[GHC] #12469: Memory fence on writes to MutVar/Array missing on ARM

GHC ghc-devs at haskell.org
Tue Oct 4 15:43:36 UTC 2016


#12469: Memory fence on writes to MutVar/Array missing on ARM
-------------------------------------+-------------------------------------
        Reporter:  rrnewton          |                Owner:
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.0.2
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:  memory model
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Incorrect result  |  Unknown/Multiple
  at runtime                         |            Test Case:
      Blocked By:                    |             Blocking:  12537
 Related Tickets:                    |  Differential Rev(s):  Phab:D2495
       Wiki Page:                    |  Phab:D2525
-------------------------------------+-------------------------------------

Comment (by trommler):

 Replying to [comment:23 trommler]:
 > Replying to [comment:22 erikd]:
 > > @trommler Yes, that may well be worth while.
 > OK, I am working on it and will report back.
 So, I compiled all of Stackage 7.x on a POWER 8 LPAR instance
 with 8 CPUs, so no qemu involved and saw five packages fail
 with a panic in `mkFastStringWith`. A few more failed with
 segfaults in `Setup build -j8`.

 I used ghc 8.0.1 patched with the two patches in this ticket.

 My theory is that `lwsync` is not a strong enough barrier for
 a write barrier. So far I thought a write barrier is the same
 as a store-store barrier and hence `lwsync` is the right choice
 on PowerPC. I could put a `sync` and see what happens but I would
 like to know what I am doing when using that big a hammer.

 So what is the semantics of a write barrier with respect to other
 processors/cores?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12469#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list