From 5353b11f90b71d37c1aab61080bd682923cc343b Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Wed, 23 Aug 2017 10:18:48 +0900 Subject: [PATCH] HFI1: disable kmalloc cache for req->tids (AllReduce fails otherwise) --- kernel/user_sdma.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/user_sdma.c b/kernel/user_sdma.c index 263ba538..c9eb3074 100644 --- a/kernel/user_sdma.c +++ b/kernel/user_sdma.c @@ -1022,8 +1022,9 @@ int hfi1_user_sdma_process_request(void *private_data, struct iovec *iovec, ret = -EINVAL; goto free_req; } - req->tids = kmalloc_cache_alloc(&tids_cache, - sizeof(*req->tids) * MAX_TID_PAIR_ENTRIES); + //req->tids = kmalloc_cache_alloc(&tids_cache, + // sizeof(*req->tids) * MAX_TID_PAIR_ENTRIES); + req->tids = kcalloc(ntids, sizeof(*req->tids), GFP_KERNEL); if (!req->tids) { ret = -ENOMEM; goto free_req; @@ -1128,7 +1129,7 @@ int hfi1_user_sdma_process_request(void *private_data, struct iovec *iovec, { unsigned long ts = rdtsc(); while (pq->state != SDMA_PKT_Q_ACTIVE) cpu_pause(); - kprintf("%s: waited %lu cycles for SDMA_PKT_Q_ACTIVE\n", + SDMA_DBG("%s: waited %lu cycles for SDMA_PKT_Q_ACTIVE\n", __FUNCTION__, rdtsc() - ts); } TP("- polling while(pq->state != SDMA_PKT_Q_ACTIVE)"); @@ -2066,7 +2067,8 @@ static void user_sdma_free_request(struct user_sdma_request *req, bool unpin) #endif /* __HFI1_ORIG__ */ } } - kmalloc_cache_free(&tids_cache, req->tids); + //kmalloc_cache_free(&tids_cache, req->tids); + kfree(req->tids); clear_bit(req->info.comp_idx, req->pq->req_in_use); hfi1_cdbg(AIOWRITE, "-"); }