IB/hfi1: Rightsize ctxt_eager_bufs fields
authorMike Marciniszyn <mike.marciniszyn@intel.com>
Wed, 20 Jun 2018 16:42:49 +0000 (09:42 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Fri, 22 Jun 2018 15:12:17 +0000 (09:12 -0600)
Fields in this structure are sized excessively based on hardware
limitations and input values.

Fix by reducing fields as appropriate and repositioning to close holes in
the structure.

Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/hw/hfi1/hfi.h

index 837f49c..552acd7 100644 (file)
@@ -169,12 +169,6 @@ extern const struct pci_error_handlers hfi1_pci_err_handler;
 struct hfi1_opcode_stats_perctx;
 
 struct ctxt_eager_bufs {
-       ssize_t size;            /* total size of eager buffers */
-       u32 count;               /* size of buffers array */
-       u32 numbufs;             /* number of buffers allocated */
-       u32 alloced;             /* number of rcvarray entries used */
-       u32 rcvtid_size;         /* size of each eager rcv tid */
-       u32 threshold;           /* head update threshold */
        struct eager_buffer {
                void *addr;
                dma_addr_t dma;
@@ -184,6 +178,12 @@ struct ctxt_eager_bufs {
                void *addr;
                dma_addr_t dma;
        } *rcvtids;
+       u32 size;                /* total size of eager buffers */
+       u32 rcvtid_size;         /* size of each eager rcv tid */
+       u16 count;               /* size of buffers array */
+       u16 numbufs;             /* number of buffers allocated */
+       u16 alloced;             /* number of rcvarray entries used */
+       u16 threshold;           /* head update threshold */
 };
 
 struct exp_tid_set {