payload: {"action":"created","comment":{"url":"https://api.github.com/repos/pmodels/mpich/pulls/comments/301878863","pull_request_review_id":259861362,"id":301878863,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMwMTg3ODg2Mw==","diff_hunk":"@@ -125,18 +136,215 @@ int MPIDI_POSIX_eager_init(int rank, int size)\n static int local_shm_area_init(int rank, int size, MPIDI_shm_topo_t * topo)\n {\n     int mpi_errno = MPI_SUCCESS;\n+    int n_domains = topo->n_domains;\n+    int *p_domain_ids = topo->p_domain_ids;\n+    int *s_domain_ids = topo->s_domain_ids;\n+    int *num_procs = topo->s_num_procs;\n+    int i;\n+    MPIDI_POSIX_fastbox_t **fastboxes_p = NULL;\n+\n+    MPIR_CHKPMEM_DECL(5);\n+    MPIR_CHKLMEM_DECL(1);\n+\n+    /* Allocate space for local shared memory area to hold segments */\n+    MPIR_CHKPMEM_MALLOC(local_shm_area, struct local_shm_area *, sizeof(*local_shm_area) *\n+                        n_domains, mpi_errno, \"local_shm_area\", MPL_MEM_SHM);\n+\n+    /* Allocate space for local shared memory fastboxes pointers */\n+    MPIR_CHKLMEM_MALLOC(fastboxes_p, MPIDI_POSIX_fastbox_t **, sizeof(**fastboxes_p) *\n+                        n_domains, mpi_errno, \"fastboxes_p\", MPL_MEM_SHM);\n+\n+    MPIDI_POSIX_eager_fbox_control_global.num_seg = 1;\n+\n+    MPIR_CHKPMEM_MALLOC(MPIDI_POSIX_eager_fbox_control_global.first_poll_local_ranks, int16_t *,\n+                        sizeof(*MPIDI_POSIX_eager_fbox_control_global.first_poll_local_ranks) *\n+                        MPIR_CVAR_CH4_POSIX_EAGER_FBOX_POLL_CACHE_SIZE + 1, mpi_errno,\n+                        \"pool_local_ranks\", MPL_MEM_SHM);\n+\n+    /* -1 means we aren't looking for anything in particular. */\n+    for (i = 0; i < MPIR_CVAR_CH4_POSIX_EAGER_FBOX_POLL_CACHE_SIZE; i++) {\n+        MPIDI_POSIX_eager_fbox_control_global.first_poll_local_ranks[i] = -1;\n+    }\n+\n+    /* The final entry in the cache array is for tracking the fallback place to start looking for\n+     * messages if all other entries in the cache are empty. */\n+    MPIDI_POSIX_eager_fbox_control_global.first_poll_local_ranks[i] = 0;\n+\n+    MPIR_CHKPMEM_MALLOC(MPIDI_POSIX_eager_fbox_control_global.seg,\n+                        MPIDU_shm_seg_info_t *,\n+                        MPIDI_POSIX_eager_fbox_control_global.num_seg *\n+                        sizeof(MPIDU_shm_seg_info_t), mpi_errno, \"mem_region segments\",\n+                        MPL_MEM_SHM);\n+\n+    for (i = 0; i < n_domains; i++) {\n+        /* Create region with one fastbox for every pair of local processes. */\n+        mpi_errno =\n+            MPIDU_shm_seg_alloc(MPIDI_POSIX_global.num_local * num_procs[i] *\n+                                sizeof(MPIDI_POSIX_fastbox_t), (void **) &fastboxes_p[i],\n+                                MPL_MEM_SHM);\n+        if (mpi_errno)\n+            MPIR_ERR_POP(mpi_errno);\n+\n+        /* Actually allocate the segment and assign regions to the pointers */\n+        mpi_errno = MPIDU_shm_seg_commit(&local_shm_area[i].memory,\n+                                         &local_shm_area[i].barrier,\n+                                         MPIDI_POSIX_global.num_local,\n+                                         MPIDI_POSIX_global.my_local_rank,\n+                                         MPIDI_POSIX_global.local_rank_0, rank, MPL_MEM_SHM);\n+        if (mpi_errno)\n+            MPIR_ERR_POP(mpi_errno);\n+\n+        /* Increment number of shared memory areas allocated */\n+        local_shm_area_num++;\n+    }\n+\n+    MPIDI_POSIX_global.barrier = local_shm_area[0].barrier;\n \n+    /* Allocate table of pointers to fastboxes */\n+    MPIR_CHKPMEM_MALLOC(MPIDI_POSIX_eager_fbox_control_global.mailboxes.in,\n+                        MPIDI_POSIX_fastbox_t **,\n+                        MPIDI_POSIX_global.num_local * sizeof(MPIDI_POSIX_fastbox_t *), mpi_errno,\n+                        \"fastboxes\", MPL_MEM_SHM);\n+    MPIR_CHKPMEM_MALLOC(MPIDI_POSIX_eager_fbox_control_global.mailboxes.out,\n+                        MPIDI_POSIX_fastbox_t **,\n+                        MPIDI_POSIX_global.num_local * sizeof(MPIDI_POSIX_fastbox_t *), mpi_errno,\n+                        \"fastboxes\", MPL_MEM_SHM);\n+\n+#define SEGMENT_INDEX_IMPL(p_domain_id) ({        \\\n+    int i_;                                       \\\n+    do {                                          \\\n+        for (i_ = 0; i_ < n_domains; i_++) {      \\\n+            if (s_domain_ids[i_] == p_domain_id)  \\\n+                break;                            \\\n+        }                                         \\\n+    } while (0);                                  \\\n+    i_;                                           \\\n+})\n+#define SEGMENT_INDEX(receiver) (SEGMENT_INDEX_IMPL(topo->p_domain_ids[receiver]))\n+#define PROCESS_INDEX(sender, receiver) (((topo->s_ranks[receiver]) * (MPIDI_POSIX_global.num_local)) + (sender))\n+\n+    /* Fill in fastbox tables */\n+    int segment_idx, process_idx;\n+    for (i = 0; i < MPIDI_POSIX_global.num_local; i++) {\n+        segment_idx = SEGMENT_INDEX(MPIDI_POSIX_global.my_local_rank);\n+        process_idx = PROCESS_INDEX(i, MPIDI_POSIX_global.my_local_rank);\n+        MPIDI_POSIX_eager_fbox_control_global.mailboxes.in[i] =\n+            &fastboxes_p[segment_idx][process_idx];\n+\n+        segment_idx = SEGMENT_INDEX(i);\n+        process_idx = PROCESS_INDEX(MPIDI_POSIX_global.my_local_rank, i);\n+        MPIDI_POSIX_eager_fbox_control_global.mailboxes.out[i] =\n+            &fastboxes_p[segment_idx][process_idx];\n+    }\n+","path":"src/mpid/ch4/shm/posix/eager/fbox/fbox_init.c","position":239,"original_position":135,"commit_id":"71e9b7d774d9a642d6b1246bd28a0e5767170e02","original_commit_id":"28e7f5dea75c2fb0ddaf69873c8b7d88737f38c4","user":{"login":"pavanbalaji","id":4279602,"node_id":"MDQ6VXNlcjQyNzk2MDI=","avatar_url":"https://avatars0.githubusercontent.com/u/4279602?v=4","gravatar_id":"","url":"https://api.github.com/users/pavanbalaji","html_url":"https://github.com/pavanbalaji","followers_url":"https://api.github.com/users/pavanbalaji/followers","following_url":"https://api.github.com/users/pavanbalaji/following{/other_user}","gists_url":"https://api.github.com/users/pavanbalaji/gists{/gist_id}","starred_url":"https://api.github.com/users/pavanbalaji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pavanbalaji/subscriptions","organizations_url":"https://api.github.com/users/pavanbalaji/orgs","repos_url":"https://api.github.com/users/pavanbalaji/repos","events_url":"https://api.github.com/users/pavanbalaji/events{/privacy}","received_events_url":"https://api.github.com/users/pavanbalaji/received_events","type":"User","site_admin":false},"body":"`every device can define what memory objects it accepts memory binding policies for`\r\n\r\nWhy?  How is that better than the CVARs that allow the user to control it?","created_at":"2019-07-10T04:07:42Z","updated_at":"2019-07-10T04:07:42Z","html_url":"https://github.com/pmodels/mpich/pull/3916#discussion_r301878863","pull_request_url":"https://api.github.com/repos/pmodels/mpich/pulls/3916","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/comments/301878863"},"html":{"href":"https://github.com/pmodels/mpich/pull/3916#discussion_r301878863"},"pull_request":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/3916"}},"in_reply_to_id":301846405},"pull_request":{"url":"https://api.github.com/repos/pmodels/mpich/pulls/3916","id":294990584,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjk0OTkwNTg0","html_url":"https://github.com/pmodels/mpich/pull/3916","diff_url":"https://github.com/pmodels/mpich/pull/3916.diff","patch_url":"https://github.com/pmodels/mpich/pull/3916.patch","issue_url":"https://api.github.com/repos/pmodels/mpich/issues/3916","number":3916,"state":"open","locked":false,"title":"Heterogeneous Memory Integration","user":{"login":"gcongiu","id":851634,"node_id":"MDQ6VXNlcjg1MTYzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/851634?v=4","gravatar_id":"","url":"https://api.github.com/users/gcongiu","html_url":"https://github.com/gcongiu","followers_url":"https://api.github.com/users/gcongiu/followers","following_url":"https://api.github.com/users/gcongiu/following{/other_user}","gists_url":"https://api.github.com/users/gcongiu/gists{/gist_id}","starred_url":"https://api.github.com/users/gcongiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gcongiu/subscriptions","organizations_url":"https://api.github.com/users/gcongiu/orgs","repos_url":"https://api.github.com/users/gcongiu/repos","events_url":"https://api.github.com/users/gcongiu/events{/privacy}","received_events_url":"https://api.github.com/users/gcongiu/received_events","type":"User","site_admin":false},"body":"## Pull Request Description\r\n\r\nThis PR adds heterogeneous memory support and Numa-awareness for intranode pt2pt and RMA operations. This PR is based on the new hardware topology interface introduced by https://github.com/pmodels/mpich/pull/3594, and extends such interface for memory detection and binding. References issue https://github.com/pmodels/mpich/issues/3511. Replaces https://github.com/pmodels/mpich/pull/3200\r\n\r\n<!--\r\nInsert description of the work in this merge request (above this comment),\r\nparticularly focused on _why_ the work is necessary, not _what_ you did.\r\n-->\r\n\r\n<!-- AUTHOR: After creating this merge request, check off each of the following items as you complete them. -->\r\n\r\n## Expected Performance Changes\r\nImproved bandwidth and message rate\r\n\r\n## Known Issues\r\nCurrently only ch4/fastboxes are supported. Support for RMA (and collectives?) needs to be integrated next.\r\n\r\nAt the current state shared memory barrier is allocated in the same segment as fastboxes. This is not working well as it forces the OS to bind the page in which the barrier is located (shared with fastboxes) at segment allocation time. The memory for the barrier should be allocated independently and passed to `MPIDU_shm_seg_commit`. Only in the case in which the pointer to the barrier is `NULL` this function should allocate memory for a new barrier and use it during segment creation.\r\n\r\n## Author Checklist\r\n* [x] Reference appropriate issues (with \"Fixes\" or \"See\" as appropriate)\r\n* [ ] Passes tests (included warning check)\r\n* [ ] Confirm whitespace/style checkers are happy (or has a good reason for being bad)\r\n* [ ] Commits are self-contained and do not do two things at once\r\n* [ ] Remove xfail from the test suite when fixing a test\r\n* [ ] Commit message is of the form: `module: short description` and follows [good practice](https://chris.beams.io/posts/git-commit/)\r\n* [ ] Add comments such that someone without knowledge of the code could understand\r\n* [ ] Add Devel Docs in the `doc/` directory for any new code design\r\n\r\n## Design\r\n[hetero-mem-integration.pptx](https://github.com/pmodels/mpich/files/3364120/hetero-mem-integration.pptx)\r\n","created_at":"2019-07-05T22:02:31Z","updated_at":"2019-07-10T04:07:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":{"login":"gcongiu","id":851634,"node_id":"MDQ6VXNlcjg1MTYzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/851634?v=4","gravatar_id":"","url":"https://api.github.com/users/gcongiu","html_url":"https://github.com/gcongiu","followers_url":"https://api.github.com/users/gcongiu/followers","following_url":"https://api.github.com/users/gcongiu/following{/other_user}","gists_url":"https://api.github.com/users/gcongiu/gists{/gist_id}","starred_url":"https://api.github.com/users/gcongiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gcongiu/subscriptions","organizations_url":"https://api.github.com/users/gcongiu/orgs","repos_url":"https://api.github.com/users/gcongiu/repos","events_url":"https://api.github.com/users/gcongiu/events{/privacy}","received_events_url":"https://api.github.com/users/gcongiu/received_events","type":"User","site_admin":false},"assignees":[{"login":"gcongiu","id":851634,"node_id":"MDQ6VXNlcjg1MTYzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/851634?v=4","gravatar_id":"","url":"https://api.github.com/users/gcongiu","html_url":"https://github.com/gcongiu","followers_url":"https://api.github.com/users/gcongiu/followers","following_url":"https://api.github.com/users/gcongiu/following{/other_user}","gists_url":"https://api.github.com/users/gcongiu/gists{/gist_id}","starred_url":"https://api.github.com/users/gcongiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gcongiu/subscriptions","organizations_url":"https://api.github.com/users/gcongiu/orgs","repos_url":"https://api.github.com/users/gcongiu/repos","events_url":"https://api.github.com/users/gcongiu/events{/privacy}","received_events_url":"https://api.github.com/users/gcongiu/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":492047103,"node_id":"MDU6TGFiZWw0OTIwNDcxMDM=","url":"https://api.github.com/repos/pmodels/mpich/labels/WIP","name":"WIP","color":"b60205","default":false},{"id":735780270,"node_id":"MDU6TGFiZWw3MzU3ODAyNzA=","url":"https://api.github.com/repos/pmodels/mpich/labels/do-not-merge","name":"do-not-merge","color":"b60205","default":false},{"id":461623322,"node_id":"MDU6TGFiZWw0NjE2MjMzMjI=","url":"https://api.github.com/repos/pmodels/mpich/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/pmodels/mpich/pulls/3916/commits","review_comments_url":"https://api.github.com/repos/pmodels/mpich/pulls/3916/comments","review_comment_url":"https://api.github.com/repos/pmodels/mpich/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pmodels/mpich/issues/3916/comments","statuses_url":"https://api.github.com/repos/pmodels/mpich/statuses/71e9b7d774d9a642d6b1246bd28a0e5767170e02","head":{"label":"gcongiu:pr/mem/hetero","ref":"pr/mem/hetero","sha":"71e9b7d774d9a642d6b1246bd28a0e5767170e02","user":{"login":"gcongiu","id":851634,"node_id":"MDQ6VXNlcjg1MTYzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/851634?v=4","gravatar_id":"","url":"https://api.github.com/users/gcongiu","html_url":"https://github.com/gcongiu","followers_url":"https://api.github.com/users/gcongiu/followers","following_url":"https://api.github.com/users/gcongiu/following{/other_user}","gists_url":"https://api.github.com/users/gcongiu/gists{/gist_id}","starred_url":"https://api.github.com/users/gcongiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gcongiu/subscriptions","organizations_url":"https://api.github.com/users/gcongiu/orgs","repos_url":"https://api.github.com/users/gcongiu/repos","events_url":"https://api.github.com/users/gcongiu/events{/privacy}","received_events_url":"https://api.github.com/users/gcongiu/received_events","type":"User","site_admin":false},"repo":{"id":106836071,"node_id":"MDEwOlJlcG9zaXRvcnkxMDY4MzYwNzE=","name":"mpich","full_name":"gcongiu/mpich","private":false,"owner":{"login":"gcongiu","id":851634,"node_id":"MDQ6VXNlcjg1MTYzNA==","avatar_url":"https://avatars2.githubusercontent.com/u/851634?v=4","gravatar_id":"","url":"https://api.github.com/users/gcongiu","html_url":"https://github.com/gcongiu","followers_url":"https://api.github.com/users/gcongiu/followers","following_url":"https://api.github.com/users/gcongiu/following{/other_user}","gists_url":"https://api.github.com/users/gcongiu/gists{/gist_id}","starred_url":"https://api.github.com/users/gcongiu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gcongiu/subscriptions","organizations_url":"https://api.github.com/users/gcongiu/orgs","repos_url":"https://api.github.com/users/gcongiu/repos","events_url":"https://api.github.com/users/gcongiu/events{/privacy}","received_events_url":"https://api.github.com/users/gcongiu/received_events","type":"User","site_admin":false},"html_url":"https://github.com/gcongiu/mpich","description":"Official MPICH Repository","fork":true,"url":"https://api.github.com/repos/gcongiu/mpich","forks_url":"https://api.github.com/repos/gcongiu/mpich/forks","keys_url":"https://api.github.com/repos/gcongiu/mpich/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gcongiu/mpich/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gcongiu/mpich/teams","hooks_url":"https://api.github.com/repos/gcongiu/mpich/hooks","issue_events_url":"https://api.github.com/repos/gcongiu/mpich/issues/events{/number}","events_url":"https://api.github.com/repos/gcongiu/mpich/events","assignees_url":"https://api.github.com/repos/gcongiu/mpich/assignees{/user}","branches_url":"https://api.github.com/repos/gcongiu/mpich/branches{/branch}","tags_url":"https://api.github.com/repos/gcongiu/mpich/tags","blobs_url":"https://api.github.com/repos/gcongiu/mpich/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gcongiu/mpich/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gcongiu/mpich/git/refs{/sha}","trees_url":"https://api.github.com/repos/gcongiu/mpich/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gcongiu/mpich/statuses/{sha}","languages_url":"https://api.github.com/repos/gcongiu/mpich/languages","stargazers_url":"https://api.github.com/repos/gcongiu/mpich/stargazers","contributors_url":"https://api.github.com/repos/gcongiu/mpich/contributors","subscribers_url":"https://api.github.com/repos/gcongiu/mpich/subscribers","subscription_url":"https://api.github.com/repos/gcongiu/mpich/subscription","commits_url":"https://api.github.com/repos/gcongiu/mpich/commits{/sha}","git_commits_url":"https://api.github.com/repos/gcongiu/mpich/git/commits{/sha}","comments_url":"https://api.github.com/repos/gcongiu/mpich/comments{/number}","issue_comment_url":"https://api.github.com/repos/gcongiu/mpich/issues/comments{/number}","contents_url":"https://api.github.com/repos/gcongiu/mpich/contents/{+path}","compare_url":"https://api.github.com/repos/gcongiu/mpich/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gcongiu/mpich/merges","archive_url":"https://api.github.com/repos/gcongiu/mpich/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gcongiu/mpich/downloads","issues_url":"https://api.github.com/repos/gcongiu/mpich/issues{/number}","pulls_url":"https://api.github.com/repos/gcongiu/mpich/pulls{/number}","milestones_url":"https://api.github.com/repos/gcongiu/mpich/milestones{/number}","notifications_url":"https://api.github.com/repos/gcongiu/mpich/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gcongiu/mpich/labels{/name}","releases_url":"https://api.github.com/repos/gcongiu/mpich/releases{/id}","deployments_url":"https://api.github.com/repos/gcongiu/mpich/deployments","created_at":"2017-10-13T14:40:26Z","updated_at":"2019-07-09T20:46:49Z","pushed_at":"2019-07-09T20:46:46Z","git_url":"git://github.com/gcongiu/mpich.git","ssh_url":"git@github.com:gcongiu/mpich.git","clone_url":"https://github.com/gcongiu/mpich.git","svn_url":"https://github.com/gcongiu/mpich","homepage":"http://www.mpich.org","size":61419,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pmodels:master","ref":"master","sha":"42c62cdb36fe6559579ea0dbaa9722c69c00629b","user":{"login":"pmodels","id":15700567,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1NzAwNTY3","avatar_url":"https://avatars2.githubusercontent.com/u/15700567?v=4","gravatar_id":"","url":"https://api.github.com/users/pmodels","html_url":"https://github.com/pmodels","followers_url":"https://api.github.com/users/pmodels/followers","following_url":"https://api.github.com/users/pmodels/following{/other_user}","gists_url":"https://api.github.com/users/pmodels/gists{/gist_id}","starred_url":"https://api.github.com/users/pmodels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmodels/subscriptions","organizations_url":"https://api.github.com/users/pmodels/orgs","repos_url":"https://api.github.com/users/pmodels/repos","events_url":"https://api.github.com/users/pmodels/events{/privacy}","received_events_url":"https://api.github.com/users/pmodels/received_events","type":"Organization","site_admin":false},"repo":{"id":70918679,"node_id":"MDEwOlJlcG9zaXRvcnk3MDkxODY3OQ==","name":"mpich","full_name":"pmodels/mpich","private":false,"owner":{"login":"pmodels","id":15700567,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE1NzAwNTY3","avatar_url":"https://avatars2.githubusercontent.com/u/15700567?v=4","gravatar_id":"","url":"https://api.github.com/users/pmodels","html_url":"https://github.com/pmodels","followers_url":"https://api.github.com/users/pmodels/followers","following_url":"https://api.github.com/users/pmodels/following{/other_user}","gists_url":"https://api.github.com/users/pmodels/gists{/gist_id}","starred_url":"https://api.github.com/users/pmodels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmodels/subscriptions","organizations_url":"https://api.github.com/users/pmodels/orgs","repos_url":"https://api.github.com/users/pmodels/repos","events_url":"https://api.github.com/users/pmodels/events{/privacy}","received_events_url":"https://api.github.com/users/pmodels/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/pmodels/mpich","description":"Official MPICH Repository","fork":false,"url":"https://api.github.com/repos/pmodels/mpich","forks_url":"https://api.github.com/repos/pmodels/mpich/forks","keys_url":"https://api.github.com/repos/pmodels/mpich/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pmodels/mpich/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pmodels/mpich/teams","hooks_url":"https://api.github.com/repos/pmodels/mpich/hooks","issue_events_url":"https://api.github.com/repos/pmodels/mpich/issues/events{/number}","events_url":"https://api.github.com/repos/pmodels/mpich/events","assignees_url":"https://api.github.com/repos/pmodels/mpich/assignees{/user}","branches_url":"https://api.github.com/repos/pmodels/mpich/branches{/branch}","tags_url":"https://api.github.com/repos/pmodels/mpich/tags","blobs_url":"https://api.github.com/repos/pmodels/mpich/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pmodels/mpich/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pmodels/mpich/git/refs{/sha}","trees_url":"https://api.github.com/repos/pmodels/mpich/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pmodels/mpich/statuses/{sha}","languages_url":"https://api.github.com/repos/pmodels/mpich/languages","stargazers_url":"https://api.github.com/repos/pmodels/mpich/stargazers","contributors_url":"https://api.github.com/repos/pmodels/mpich/contributors","subscribers_url":"https://api.github.com/repos/pmodels/mpich/subscribers","subscription_url":"https://api.github.com/repos/pmodels/mpich/subscription","commits_url":"https://api.github.com/repos/pmodels/mpich/commits{/sha}","git_commits_url":"https://api.github.com/repos/pmodels/mpich/git/commits{/sha}","comments_url":"https://api.github.com/repos/pmodels/mpich/comments{/number}","issue_comment_url":"https://api.github.com/repos/pmodels/mpich/issues/comments{/number}","contents_url":"https://api.github.com/repos/pmodels/mpich/contents/{+path}","compare_url":"https://api.github.com/repos/pmodels/mpich/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pmodels/mpich/merges","archive_url":"https://api.github.com/repos/pmodels/mpich/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pmodels/mpich/downloads","issues_url":"https://api.github.com/repos/pmodels/mpich/issues{/number}","pulls_url":"https://api.github.com/repos/pmodels/mpich/pulls{/number}","milestones_url":"https://api.github.com/repos/pmodels/mpich/milestones{/number}","notifications_url":"https://api.github.com/repos/pmodels/mpich/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pmodels/mpich/labels{/name}","releases_url":"https://api.github.com/repos/pmodels/mpich/releases{/id}","deployments_url":"https://api.github.com/repos/pmodels/mpich/deployments","created_at":"2016-10-14T14:39:42Z","updated_at":"2019-07-09T20:46:29Z","pushed_at":"2019-07-10T04:04:46Z","git_url":"git://github.com/pmodels/mpich.git","ssh_url":"git@github.com:pmodels/mpich.git","clone_url":"https://github.com/pmodels/mpich.git","svn_url":"https://github.com/pmodels/mpich","homepage":"http://www.mpich.org","size":61230,"stargazers_count":173,"watchers_count":173,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":134,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":414,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":134,"open_issues":414,"watchers":173,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/3916"},"html":{"href":"https://github.com/pmodels/mpich/pull/3916"},"issue":{"href":"https://api.github.com/repos/pmodels/mpich/issues/3916"},"comments":{"href":"https://api.github.com/repos/pmodels/mpich/issues/3916/comments"},"review_comments":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/3916/comments"},"review_comment":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pmodels/mpich/pulls/3916/commits"},"statuses":{"href":"https://api.github.com/repos/pmodels/mpich/statuses/71e9b7d774d9a642d6b1246bd28a0e5767170e02"}},"author_association":"CONTRIBUTOR"}}
other: {"actor":{"display_login":"pavanbalaji"}}