-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
…duplication of those side effects in halo reuse which also leaks memory
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test compiled with both gnu and intel/debug in develop and ocean/develop. Passes all ocean tests on ocean/develop.
According to our previous testing, this fixes a known memory leak when using the halo reuse subroutine. |
@mark-petersen @Larofeticus I just noticed that this PR was created from Bill's |
The changes look fine to me, and a quick test with the atmosphere core revealed no issues. @Larofeticus In addition to moving this PR to its own branch (rather than creating the PR directly from your
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PR should be moved to its own branch, and the commit message should be cleaned up to:
- Use lines <= 80 characters
- Provide a description that would be more directly useful to those not involved in original discussion of these changes
- Correct spelling ("nessecary"), etc.
This PR was replaced by #1515. |
According to comment in #1501 config_pool entries created in halo exchanges are never used.
I grep'd around and could indeed find no matching get_config calls that accessed them.
I cataloged and reproduced all side effects of a halo exchange when I wrote the reuse routines. I did not think to second-guess the necessity of any of those side effects. The need arose because the reuse copying of pool config somehow disables the pool config's magical ability to free it's memory without naming it (the only time "% data" ever gets touched by a deallocate is in error recovery conditionals right after it was allocated).
The memory leak in the reuse code is gone. Also removes the vestigial config_pool stuff in the original halo exchanges. I've plugged it into a working ocean/develop and it works fine on a few iterations of mid-resolution.