{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":437168163,"defaultBranch":"main","name":"libfabric","ownerLogin":"chien-intel","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-12-11T02:29:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/40491224?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714768482.0","currentOid":""},"activityList":{"items":[{"before":"cf3569223a87df91b81b16cd4773c5aa00bf4d95","after":"afaed0c0d54b055245e0c856edf4c90c7d399475","ref":"refs/heads/main","pushedAt":"2024-07-25T20:06:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"fabtests/pytest/shm: reduce the msg size in test_unexpected_msg\n\nIt is observed 1M caused some OOM error for some cuda allocation,\n9000 should be big enough as it exceeds the shm's inject size.\n\nSigned-off-by: Shi Jin ","shortMessageHtmlLink":"fabtests/pytest/shm: reduce the msg size in test_unexpected_msg"}},{"before":"69d74b6fdec2d4e6309797f7441438831c8c81f8","after":"cf3569223a87df91b81b16cd4773c5aa00bf4d95","ref":"refs/heads/main","pushedAt":"2024-07-12T22:23:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Flush CQ for SQ on no SQ credit\n\nThis fixes issue 10150.\n\nOn post send, when we are out of SQ credit, attempt to\ngain SQ credit by polling CQ for SQ.\n\nAlso corrected check on peer_rq_credits. If post send\noperation would consume RX buffer on the peer, make\nsure there is enough credit. Reserve the last one for\nthe credit message.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Flush CQ for SQ on no SQ credit"}},{"before":"eca1812a46096af80b73ab2f430662982048c56a","after":"69d74b6fdec2d4e6309797f7441438831c8c81f8","ref":"refs/heads/main","pushedAt":"2024-07-12T21:57:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Flush CQ for SQ on no SQ credit\n\nThis fixes issue 10150.\n\nOn post send, when we are out of SQ credit, attempt to\ngain SQ credit by polling CQ for SQ.\n\nAlso corrected check on peer_rq_credits. If post send\noperation would consume RX buffer on the peer, make\nsure there is enough credit. Reserve the last one for\nthe credit message.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Flush CQ for SQ on no SQ credit"}},{"before":"9ec957612929dcaf5dd7f238689b1d287c94d61c","after":"eca1812a46096af80b73ab2f430662982048c56a","ref":"refs/heads/main","pushedAt":"2024-07-12T21:03:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Flush CQ for SQ on no SQ credit\n\nThis fixes issue 10150.\n\nOn post send, when we are out of SQ credit, attempt to\ngain SQ credit by polling CQ for SQ.\n\nLooks like a copy-paste mistake.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Flush CQ for SQ on no SQ credit"}},{"before":"d7cb2256d4d66aa6047d643d4e4df4b3a1bbd122","after":"9ec957612929dcaf5dd7f238689b1d287c94d61c","ref":"refs/heads/main","pushedAt":"2024-07-11T14:38:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Rework credit check in vrb_post_send\n\nMove all credit checks before allocating ctx.\nNo more allocating ctx and on error free ctx.\n\nFor ep->peer_rq_credits, the last one is reserved for\ncredit message. It can be 0 after we receive the credit\nmessage. Return -EAGAIN if there's no credit for this\npost_send and wait for the credit message.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Rework credit check in vrb_post_send"}},{"before":"eca1812a46096af80b73ab2f430662982048c56a","after":"d7cb2256d4d66aa6047d643d4e4df4b3a1bbd122","ref":"refs/heads/main","pushedAt":"2024-07-10T22:00:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Rework credit check in vrb_post_send\n\nMove all credit checks before allocating ctx.\n\nRemove !ep->peer_rq_credits check as it only comes\ninto play if the operation would consume a RX\nbuffer.\n\nRework vrb_wr_consumes_recv check. If ep->peer_rq_credits\nis down to one, return -EAGAIN. If we can continue,\nsubtract 1 from ep->peer_rq_credits.\n\nNo more allocating ctx and on error free ctx.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Rework credit check in vrb_post_send"}},{"before":"c8de604b86edcc9d88995471d984cce1c7fc125d","after":"eca1812a46096af80b73ab2f430662982048c56a","ref":"refs/heads/main","pushedAt":"2024-07-09T14:27:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/verbs: Flush CQ for SQ on no SQ credit\n\nThis fixes issue 10150.\n\nOn post send, when we are out of SQ credit, attempt to\ngain SQ credit by polling CQ for SQ.\n\nLooks like a copy-paste mistake.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/verbs: Flush CQ for SQ on no SQ credit"}},{"before":"a2436c2e68020fcdb35068ecee081663380c5cdb","after":"c8de604b86edcc9d88995471d984cce1c7fc125d","ref":"refs/heads/main","pushedAt":"2024-07-09T14:08:09.000Z","pushType":"push","commitsCount":121,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/efa: refactor hmem interface initialization\n\nThis patch removes the trial device memory registration with EFA device\nduring domain initialization; instead, we query the sysfs to retrieve\nthe P2P provider information emitted by the kernel module.\n\nAs a result, we have to delay the dmabuf support status check to the 1st\napplication fi_mr_reg* call:\n- If the application requests FI_MR_DMABUF, we will always use\n ibv_reg_dmabuf_mr\n- If the memory region is on system or CUDA device, we will always use\n ibv_reg_mr\n- If the memory region is on Gaudi device, we will always use\n ibv_reg_dmabuf_mr\n- If the memory region is on Neuron device, we will first attempt to\n export the dmabuf fd: 1) if fd is available we will proceed to use\n ibv_reg_dmabuf_mr, 2) if dmabuf fd is not supported then we will\n fallback to ibv_reg_mr\n\nSigned-off-by: Wenduo Wang ","shortMessageHtmlLink":"prov/efa: refactor hmem interface initialization"}},{"before":"a34268e99300cea2d82bf4a146794d714f174d5b","after":"a2436c2e68020fcdb35068ecee081663380c5cdb","ref":"refs/heads/main","pushedAt":"2024-06-17T14:43:00.000Z","pushType":"push","commitsCount":56,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/efa: Fix the rx pkt post procedure.\n\nCurrently, we only repost rx pkts when there is\ncompletion of IBV_WC_RECV and IBV_WC_RDMA_WRITE_IMM.\nThis is wrong because the rx pkt can be resolved\nafter being held for local read, which is a send\nor read completion. This patch fixes this issue\nby just checking the efa_rx_pkts_to_post counter\nin ep instead of checking the IBV op codes, which\nis safe and stable.\n\nSigned-off-by: Shi Jin ","shortMessageHtmlLink":"prov/efa: Fix the rx pkt post procedure."}},{"before":"6dafe190e68b6ea8520e7b084789b9bf6071856a","after":"8ab97b2762b7f7f1c292e613aef407f2ac39bc5a","ref":"refs/heads/active_port_range","pushedAt":"2024-05-21T22:06:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set passive port range via fi_set_val\n\nFor applicaitons that cannot set environment variables via shell or setenv\nAPI, add fi_set_val support to fabric object to set FI_TCP_PORT_LOW_RANGE\nand FI_TCP_PORT_HIGH_RANGE values.\n\nDefine FI_TCP_FABRIC_PASSIVE_PORT_RANGE for fabric object taking\nstruct xnet_port_range * parameter set with desired low and high port range.\n\nSample:\n struct xnet_port_range range = { .low = 9000, .high = 9100 };\n fi_set_val(&fabric->fid, FI_TCP_FABRIC_PASSIVE_PORT_RANGE, &range);\n\nSigned-off-by: Chien Tin Tung \n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set passive port range via fi_set_val"}},{"before":"8d5834e249aebac9a8b7925445681516bfd02f45","after":"6dafe190e68b6ea8520e7b084789b9bf6071856a","ref":"refs/heads/active_port_range","pushedAt":"2024-05-17T21:56:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set passive port range via fi_set_val\n\nFor applicaitons that cannot set environment variables via shell or setenv\nAPI, add fi_set_val support to fabric object to set FI_TCP_PORT_LOW_RANGE\nand FI_TCP_PORT_HIGH_RANGE values.\n\nInstead of 2 calls to fi_set_val to set the range, combined\nit into 1 for easier value validation. Use FI_TCP_FABRIC_PASSIVE_PORT_RANGE\nand value in this format \"-\".\n\nSample:\n fi_set_val(&fabric->fid, FI_TCP_FABRIC_PASSIVE_PORT_RANGE, \"9000-9100\");\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set passive port range via fi_set_val"}},{"before":"4402fd3791e24c43d119fa4a232f43c5207d11c9","after":"8d5834e249aebac9a8b7925445681516bfd02f45","ref":"refs/heads/active_port_range","pushedAt":"2024-05-16T23:53:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Add support for active TCP port range\n\nThere is a need (e.g. firewall rule) to limit TCP ports used for\nactive connections.\n\nThe use case is DOAS clients started by MPI accessing DAOS servers\nbehind firewall. Since MPI and DAOS may not want to share the same\nport restriction, add active port range support under domain object\nusing fi_set_val.\n\nDefine FI_TCP_DOMAIN_ACTIVE_PORT_RANGE to take a string argument\nof \"-\".\n\nHere is a sample call to use port range 5000 to 6000, inclusively:\nfi_set_val(&domain->fid, FI_TCP_DOMAIN_ACTIVE_PORT_RANGE, \"5000-6000\");\n\nTo disable the range, set it to \"0-0\"\nfi_set_val(&domain->fid, FI_TCP_DOMAIN_ACTIVE_PORT_RANGE, \"0-0\");\n\nIf the source address for an active connection contains a port\nnumber, it will be used over a defined port range.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Add support for active TCP port range"}},{"before":null,"after":"4402fd3791e24c43d119fa4a232f43c5207d11c9","ref":"refs/heads/active_port_range","pushedAt":"2024-05-03T20:34:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Add support for egress TCP port range\n\nThere is a need (e.g. firewall rule) to limit TCP ports used for\nactive connections. Add FI_TCP_EGRESS_PORT_LOW_RANGE and\nFI_TCP_EGRESS_PORT_HIGH_RANGE environment variables to specify\nthe port range for active connections. If a port is specified\nfor the active connection, it will be used over the specified range.\nThis is the same behavior as passive connection.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Add support for egress TCP port range"}},{"before":"340a4b22637ef1fc45300ec6fb29d13e12d3d147","after":"a34268e99300cea2d82bf4a146794d714f174d5b","ref":"refs/heads/main","pushedAt":"2024-05-03T13:43:53.000Z","pushType":"push","commitsCount":36,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"Updated nroff-generated man pages\n\nSigned-off-by: OFIWG Bot ","shortMessageHtmlLink":"Updated nroff-generated man pages"}},{"before":"82f18cd6629be2a356538dd30adebf950f2f1914","after":"670638d0d2f7fc3e9929aaadc4b0d1aba396dd0e","ref":"refs/heads/pingpong","pushedAt":"2024-04-03T20:38:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"util: Add source address to fi_pingpong\n\nIn multi-adapter environment, fi_pingpong is failing with -61,\nNo data available error when not using the first interface.\n\nAdd source address parameter and use it with hints src_addr to\nget at the correct interface for data transfer.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"util: Add source address to fi_pingpong"}},{"before":null,"after":"82f18cd6629be2a356538dd30adebf950f2f1914","ref":"refs/heads/pingpong","pushedAt":"2024-04-02T21:47:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"util: Add source address to fi_pingpong\n\nIn multi-adapter environment, fi_pingpong is failing with -61,\nNo data available error when not using the first interface.\n\nAdd source address parameter and use it with hints src_addr to\nget at the correct interface for data transfer.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"util: Add source address to fi_pingpong"}},{"before":"7f23127e8993d610a2caa7c92cb859663d1d52fc","after":"340a4b22637ef1fc45300ec6fb29d13e12d3d147","ref":"refs/heads/main","pushedAt":"2024-04-02T21:31:03.000Z","pushType":"push","commitsCount":227,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"github/workflows: Update coverity.yml\n\n`environments` is not a valid property.\n\nSigned-off-by: Jianxin Xiong ","shortMessageHtmlLink":"github/workflows: Update coverity.yml"}},{"before":"7c2d13a109b0a945819e013b49f82cd8f6f1edb4","after":"7f23127e8993d610a2caa7c92cb859663d1d52fc","ref":"refs/heads/main","pushedAt":"2024-02-20T15:48:27.000Z","pushType":"push","commitsCount":68,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/shm: Lock double deletion check\n\nThis change solves this coverity issue:\nChecking if an AV (address vector) map has already deleted a peer, or if the\npeer no longer exists in the AV map must be locked. This is because one\nthread can check if a peer exists and get a \"false positive\" while another\nthread is actively destroying that peer. This case would result in a double\ndestruction which we need to protect against.\n\nSigned-off-by: Zach Dworkin ","shortMessageHtmlLink":"prov/shm: Lock double deletion check"}},{"before":"2df8f394497520485a5de5e8759d19dee977f79c","after":"7c2d13a109b0a945819e013b49f82cd8f6f1edb4","ref":"refs/heads/main","pushedAt":"2024-02-05T21:47:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"core: Print provider path on fabric creation\n\nPrint provider path on fi_fabric call to help with provider\ndebug. For users of FI_PROVIDER_PATH with multiple instances\nof the same provider, this will help to determine the exact\nprovider code being executed.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"core: Print provider path on fabric creation"}},{"before":"47f19916a201c2bc451a0f9adc09a115a7f2502c","after":"51c1097cfcb3517e09fec7385c217dc28f8ce2c0","ref":"refs/heads/print_prov_path","pushedAt":"2024-01-30T17:01:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"core: Print provider path on fabric creation\n\nPrint provider path on fi_fabric call to help with provider\ndebug. For users of FI_PROVIDER_PATH with multiple instances\nof the same provider, this will help to determine the exact\nprovider code being executed.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"core: Print provider path on fabric creation"}},{"before":"aae2fcc2c7617c742ec685cd30c4dce42e789bf4","after":"47f19916a201c2bc451a0f9adc09a115a7f2502c","ref":"refs/heads/print_prov_path","pushedAt":"2024-01-29T16:14:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"core: Print provider path on fabric creation\n\nPrint provider path on fi_fabric call to help with provider\ndebug. For users of FI_PROVIDER_PATH with multiple instances\nof the same provider, this will help to determine the exact\nprovider code being executed.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"core: Print provider path on fabric creation"}},{"before":null,"after":"aae2fcc2c7617c742ec685cd30c4dce42e789bf4","ref":"refs/heads/print_prov_path","pushedAt":"2024-01-26T22:27:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"core: Print provider path on fabric creation\n\nPrint provider path on fi_fabric call to help with provider\ndebug. For users of FI_PROVIDER_PATH with multiple instances\nof the same provider, this will help to determine the exact\nprovider code being executed.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"core: Print provider path on fabric creation"}},{"before":"62393d03422b9c27450cbf744cb3c8de30be9626","after":"2df8f394497520485a5de5e8759d19dee977f79c","ref":"refs/heads/main","pushedAt":"2024-01-26T21:40:53.000Z","pushType":"push","commitsCount":341,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/efa: Update lttng directions\n\nspecify babeltrace2 requirements","shortMessageHtmlLink":"prov/efa: Update lttng directions"}},{"before":null,"after":"81d4384e9b6e1ff44e7c11644fffc7f0743efd6f","ref":"refs/heads/origin/v1.19.x","pushedAt":"2023-10-12T16:35:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice\n\nWhen FI_MULTI_RECV is enabled for an RX buffer, the last\ncompleted slice of the RX buffer should have FI_MULTI_RECV\nset in the corresponding CQE.\n\nCurrently TCP provider assumes the last slice of the RX\nbuffer will get completed last and sets FI_MULTI_RECV flag\nwhen the last slice is used. Completions can get out of\norder with multiple connections and varied payload sizes\nusing the same RX buffer. Last slice will not always\ncomplete last.\n\nTo make sure the last completed RX buffer slice has\nFI_MULTI_RECV set in the CQE, use a reference counter\nto track outstanding slices. Count is initialized to 1\nwhen the RX buffer is first posted and incrememted on\nevery slice allocation. Upon completion, count is\ndecremented. When it reaches 0, FI_MULTI_RECV is set\nfor that CQE.\n\nv2 - Minimize impact to non-multi-recv SRX code.\nv3 - Fix completion path, set FI_MULTI_RECV if mrecv is\n NULL and recv_entry is XNET_MULTI_RECV.\nv4 - Check ctrl_flag against XNET_MULTI_RECV first as mrecv\n may be garbage.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice"}},{"before":"6b69eb5329c00177846f779ca87a8b814cf7efb4","after":"41c9c18dc76835327e9d38ff072f27a308b29228","ref":"refs/heads/v1.18.x","pushedAt":"2023-10-12T16:32:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice\n\nWhen FI_MULTI_RECV is enabled for an RX buffer, the last\ncompleted slice of the RX buffer should have FI_MULTI_RECV\nset in the corresponding CQE.\n\nCurrently TCP provider assumes the last slice of the RX\nbuffer will get completed last and sets FI_MULTI_RECV flag\nwhen the last slice is used. Completions can get out of\norder with multiple connections and varied payload sizes\nusing the same RX buffer. Last slice will not always\ncomplete last.\n\nTo make sure the last completed RX buffer slice has\nFI_MULTI_RECV set in the CQE, use a reference counter\nto track outstanding slices. Count is initialized to 1\nwhen the RX buffer is first posted and incrememted on\nevery slice allocation. Upon completion, count is\ndecremented. When it reaches 0, FI_MULTI_RECV is set\nfor that CQE.\n\nv2 - Minimize impact to non-multi-recv SRX code.\nv3 - Fix completion path, set FI_MULTI_RECV if mrecv is\n NULL and recv_entry is XNET_MULTI_RECV.\nv4 - Check ctrl_flag against XNET_MULTI_RECV first as mrecv\n may be garbage.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice"}},{"before":null,"after":"6e4d0a69f3948dd36fc9fc7b135cb9460f5ce207","ref":"refs/heads/ooo_cqe","pushedAt":"2023-10-12T13:27:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice\n\nWhen FI_MULTI_RECV is enabled for an RX buffer, the last\ncompleted slice of the RX buffer should have FI_MULTI_RECV\nset in the corresponding CQE.\n\nCurrently TCP provider assumes the last slice of the RX\nbuffer will get completed last and sets FI_MULTI_RECV flag\nwhen the last slice is used. Completions can get out of\norder with multiple connections and varied payload sizes\nusing the same RX buffer. Last slice will not always\ncomplete last.\n\nTo make sure the last completed RX buffer slice has\nFI_MULTI_RECV set in the CQE, use a reference counter\nto track outstanding slices. Count is initialized to 1\nwhen the RX buffer is first posted and incrememted on\nevery slice allocation. Upon completion, count is\ndecremented. When it reaches 0, FI_MULTI_RECV is set\nfor that CQE.\n\nv2 - Minimize impact to non-multi-recv SRX code.\nv3 - Fix completion path, set FI_MULTI_RECV if mrecv is\n NULL and recv_entry is XNET_MULTI_RECV.\nv4 - Check ctrl_flag against XNET_MULTI_RECV first as mrecv\n may be garbage.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice"}},{"before":"7c897a3ed934c2ff3820603bcb00255d63a5ca04","after":"6b69eb5329c00177846f779ca87a8b814cf7efb4","ref":"refs/heads/v1.18.x","pushedAt":"2023-10-12T13:21:48.000Z","pushType":"push","commitsCount":54,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"[v1.18.x] fabtests/memcopy-xe: Fix data verification error for device buffer\n\nPreviously MAP_PRIVATE was used to map the device buffer for CPU access.\nIt used to work but with the latest Intel GPU driver update the caller\nwould see its own COW pages instead of the device memory. As a result,\nthe data verification at the end of the test would fail.\n\nChanging the map type to MAP_SHARED fixes the issue. It should also work\nwith older drivers.\n\nSigned-off-by: Jianxin Xiong \n(cherry picked from commit b5e6891b1a05170ddee24db7851e1000ed2b0c9e)","shortMessageHtmlLink":"[v1.18.x] fabtests/memcopy-xe: Fix data verification error for device…"}},{"before":"041180e166db171a5dd44e0a9d50d94aa07620af","after":"62393d03422b9c27450cbf744cb3c8de30be9626","ref":"refs/heads/main","pushedAt":"2023-10-12T13:21:32.000Z","pushType":"push","commitsCount":20,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"Merge pull request #9420 from chien-intel/ooo_cqe\n\nprov/tcp: Set FI_MULTI_RECV for last completed RX slice","shortMessageHtmlLink":"Merge pull request ofiwg#9420 from chien-intel/ooo_cqe"}},{"before":"6e4d0a69f3948dd36fc9fc7b135cb9460f5ce207","after":null,"ref":"refs/heads/ooo_cqe","pushedAt":"2023-10-12T13:11:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"}},{"before":"c0d0b31d3886f6a0b59e22ae4f201a817b53d112","after":"6e4d0a69f3948dd36fc9fc7b135cb9460f5ce207","ref":"refs/heads/ooo_cqe","pushedAt":"2023-10-11T16:58:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chien-intel","name":"Chien Tin Tung","path":"/chien-intel","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40491224?s=80&v=4"},"commit":{"message":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice\n\nWhen FI_MULTI_RECV is enabled for an RX buffer, the last\ncompleted slice of the RX buffer should have FI_MULTI_RECV\nset in the corresponding CQE.\n\nCurrently TCP provider assumes the last slice of the RX\nbuffer will get completed last and sets FI_MULTI_RECV flag\nwhen the last slice is used. Completions can get out of\norder with multiple connections and varied payload sizes\nusing the same RX buffer. Last slice will not always\ncomplete last.\n\nTo make sure the last completed RX buffer slice has\nFI_MULTI_RECV set in the CQE, use a reference counter\nto track outstanding slices. Count is initialized to 1\nwhen the RX buffer is first posted and incrememted on\nevery slice allocation. Upon completion, count is\ndecremented. When it reaches 0, FI_MULTI_RECV is set\nfor that CQE.\n\nv2 - Minimize impact to non-multi-recv SRX code.\nv3 - Fix completion path, set FI_MULTI_RECV if mrecv is\n NULL and recv_entry is XNET_MULTI_RECV.\nv4 - Check ctrl_flag against XNET_MULTI_RECV first as mrecv\n may be garbage.\n\nSigned-off-by: Chien Tin Tung ","shortMessageHtmlLink":"prov/tcp: Set FI_MULTI_RECV for last completed RX slice"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yNVQyMDowNjo1MC4wMDAwMDBazwAAAASJZfEd","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yNVQyMDowNjo1MC4wMDAwMDBazwAAAASJZfEd","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0xMVQxNjo1ODoyMS4wMDAwMDBazwAAAAOUzxvG"}},"title":"Activity · chien-intel/libfabric"}