Admin message

Due to a large amount of spam we do not allow new users to create repositories, they are "external" users. If you are a new user and want to create a repository, for example for forking GHC, open a new issue on ghc/ghc using the "get-verified" issue template

Non-moving GC does not free nursery area quickly by performGC.
## Summary I am not sure this is a bug. Our application(hasktorch) manages many c++ objects by ForeignPtr. (hasktorch is FFI of torch.) The pointers are short-lived. Each c++ object needs large memory area on GPU. The application frequently calls performGC, because I want it released quickly after each epoch. When we do not use non-moving GC, the area is released by calling performGC soon. Memory usage does not increase.The program finishes in a few minutes. When we use non-moving GC, the area is not released by calling performGC soon. Memory usage increases, then we can not allocate memory to GPU. Is there a correct way to force the release of short lived objects? ## Steps to reproduce https://github.com/hasktorch/hasktorch/blob/master/examples/static-mnist-cnn/Main.hs This program runs on CUDA. I'm sorry I haven't provided an example that can be easily reproduced. ## Expected behavior The program can run without overflow. ## Environment * GHC version used: 8.10.1 Optional: * Operating System: ubuntu 18.04 * System Architecture: x86_64
issue