{"action":"created","issue":{"url":"https://api.github.com/repos/chapel-lang/chapel/issues/5659","repository_url":"https://api.github.com/repos/chapel-lang/chapel","labels_url":"https://api.github.com/repos/chapel-lang/chapel/issues/5659/labels{/name}","comments_url":"https://api.github.com/repos/chapel-lang/chapel/issues/5659/comments","events_url":"https://api.github.com/repos/chapel-lang/chapel/issues/5659/events","html_url":"https://github.com/chapel-lang/chapel/pull/5659","id":214147977,"number":5659,"title":"Accept libhugetlbfs page size setting; compute heap page size as and when needed.","user":{"login":"gbtitus","id":7740880,"avatar_url":"https://avatars0.githubusercontent.com/u/7740880?v=3","gravatar_id":"","url":"https://api.github.com/users/gbtitus","html_url":"https://github.com/gbtitus","followers_url":"https://api.github.com/users/gbtitus/followers","following_url":"https://api.github.com/users/gbtitus/following{/other_user}","gists_url":"https://api.github.com/users/gbtitus/gists{/gist_id}","starred_url":"https://api.github.com/users/gbtitus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gbtitus/subscriptions","organizations_url":"https://api.github.com/users/gbtitus/orgs","repos_url":"https://api.github.com/users/gbtitus/repos","events_url":"https://api.github.com/users/gbtitus/events{/privacy}","received_events_url":"https://api.github.com/users/gbtitus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-03-14T17:27:19Z","updated_at":"2017-03-14T17:34:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/chapel-lang/chapel/pulls/5659","html_url":"https://github.com/chapel-lang/chapel/pull/5659","diff_url":"https://github.com/chapel-lang/chapel/pull/5659.diff","patch_url":"https://github.com/chapel-lang/chapel/pull/5659.patch"},"body":"There are two primary changes here.  The first is that when computing\r\nthe heap page size, if we find the HUGETLB_DEFAULT_PAGE_SIZE environment\r\nvariable set then we simply accept that as the page size, rather than\r\ndoing any more work to see if a larger size seems to work.  This saves a\r\nbit of time on Cray X* systems but much more importantly, it avoids the\r\npage touching needed in order to explore for larger page sizes.  That\r\npage touching could cause undesirable NUMA localization of some of the\r\nmemory in comm layer desired shared heaps.\r\n\r\nThe second change is to compute the heap page size the first time it is\r\nrequested, rather than doing it in an explicit initialization step ahead\r\nof time.  This relieves us needing to move the init call around to make\r\nsure it stays ahead of the first call to get the heap size it computed\r\nas the runtime evolves.  (This was going to be an issue with an upcoming\r\nchange to NUMA-localize comm layer desired shared heaps.)  As a side\r\neffect of this change I reworked how we decide whether to bring in the\r\npthreads.h #include file."},"comment":{"url":"https://api.github.com/repos/chapel-lang/chapel/issues/comments/286499610","html_url":"https://github.com/chapel-lang/chapel/pull/5659#issuecomment-286499610","issue_url":"https://api.github.com/repos/chapel-lang/chapel/issues/5659","id":286499610,"user":{"login":"mppf","id":3653132,"avatar_url":"https://avatars0.githubusercontent.com/u/3653132?v=3","gravatar_id":"","url":"https://api.github.com/users/mppf","html_url":"https://github.com/mppf","followers_url":"https://api.github.com/users/mppf/followers","following_url":"https://api.github.com/users/mppf/following{/other_user}","gists_url":"https://api.github.com/users/mppf/gists{/gist_id}","starred_url":"https://api.github.com/users/mppf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mppf/subscriptions","organizations_url":"https://api.github.com/users/mppf/orgs","repos_url":"https://api.github.com/users/mppf/repos","events_url":"https://api.github.com/users/mppf/events{/privacy}","received_events_url":"https://api.github.com/users/mppf/received_events","type":"User","site_admin":false},"created_at":"2017-03-14T17:34:24Z","updated_at":"2017-03-14T17:34:24Z","body":"@gbtitus - this is fine with me, other than my question, and supposing you have / will test appropriately before merging. I agree with the strategy here as a fix for the NUMA localization issue.  Thanks!"}}
{"actor":{"display_login":"mppf"}}