[GHC] #11566: I don't need madvise DONT_NEED

#11566: I don't need madvise DONT_NEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Keywords: | Operating System: Linux Architecture: aarch64 | Type of failure: Incorrect | warning at compile-time Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Many tests fail because of a warning in rts/posix/OSMem.c unable to decommit memory: function not implemented The reason it says "function not implemented" is that the function madvise(..., DONT_NEED) is not implemented. This is on a stock Ubuntu LTS 14.04 machine. The only interesting thing about it is that it's running on a pre-production armv8 processor with a beta 4.2 guest kernel. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise DONT_NEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mfox): I can make a patch easily deleting the call seems fine. I just wonder if it affects another platform. Should I ifdef it out for Linux? For aarch64? For Linux && aarch64? Who uses this? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise MADV_DONTNEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- @@ -6,1 +6,1 @@ - madvise(..., DONT_NEED) is not implemented. + madvise(..., MADV_DONTNEED) is not implemented. New description: Many tests fail because of a warning in rts/posix/OSMem.c unable to decommit memory: function not implemented The reason it says "function not implemented" is that the function madvise(..., MADV_DONTNEED) is not implemented. This is on a stock Ubuntu LTS 14.04 machine. The only interesting thing about it is that it's running on a pre-production armv8 processor with a beta 4.2 guest kernel. -- Comment (by rwbarton): If the two-stage allocator isn't working on your system, you can disable it with `configure --disable-large-address-space`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise MADV_DONTNEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mfox): Thanks. Should this be default for arm64? Is it something hardware can't support, needs kernel improvement or something that will eventually work? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise MADV_DONTNEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by rwbarton): * cc: erikd (added) Comment: Good question. I don't know. erikd? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise MADV_DONTNEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by erikd): Large address space should work on Arm64. At least it does on the server grade machine that I', testing on. Interestingly I had reduce the mmap size from 1TB to 1/4 TB (see commit 38c98e4f6). I'm currently doing my testing on base machine with Ubuntu 15.04 but doing all my testing in a Debian Chroot. The base kernel is `3.19.0-31-generic #36-Ubuntu SMP`. Can you tell tell which tests fail with the above error message? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#11566: I don't need madvise MADV_DONTNEED -------------------------------------+------------------------------------- Reporter: mfox | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: Incorrect | Test Case: warning at compile-time | Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mfox): @erikd I will tell you which ones fail but it will take a while. The reason is I can't run with -j24 or I get spurious failures. So I have to run `make test` for a few hours with and without the patch. We are both interested in servers with large amounts of memory. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11566#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC