diff options
author | Don Hiatt <don.hiatt@intel.com> | 2016-12-07 19:33:00 -0800 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-12-11 15:25:13 -0500 |
commit | e922ae06e90a37ab0b212f844e8aed9b6021cf21 (patch) | |
tree | 92eac529bee79a8c012645d91eb14bd734c9868b /drivers/infiniband/hw/hfi1/verbs_txreq.h | |
parent | b7481944b06e99dc84f4c7da2681ac89528b2020 (diff) | |
download | linux-stable-e922ae06e90a37ab0b212f844e8aed9b6021cf21.tar.gz linux-stable-e922ae06e90a37ab0b212f844e8aed9b6021cf21.tar.bz2 linux-stable-e922ae06e90a37ab0b212f844e8aed9b6021cf21.zip |
IB/hfi1: Remove dependence on qp->s_cur_size
The qp->s_cur_size field assumes that the S_BUSY bit protects
the field from modification after the slock is dropped. Scaling the
send engine to multiple cores would break that assumption.
Correct the issue by carrying the payload size in the txreq structure.
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/verbs_txreq.h')
-rw-r--r-- | drivers/infiniband/hw/hfi1/verbs_txreq.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/hfi1/verbs_txreq.h b/drivers/infiniband/hw/hfi1/verbs_txreq.h index 5660897593ba..76216f2ef35a 100644 --- a/drivers/infiniband/hw/hfi1/verbs_txreq.h +++ b/drivers/infiniband/hw/hfi1/verbs_txreq.h @@ -65,6 +65,7 @@ struct verbs_txreq { struct sdma_engine *sde; struct send_context *psc; u16 hdr_dwords; + u16 s_cur_size; }; struct hfi1_ibdev; |