> Subject: [PATCH v4 1/2] net/ice: remove malloc call for admin queue msg > > The max message size is defined as 4k, so we don't need a special > malloc/free (and especially not rte_malloc/rte_free) for each call into > the function - especially if no data is present. Replace the malloc > calls with a local memory buffer instead. > > Signed-off-by: Bruce Richardson <[email protected]>
Acked-by: Ciara Loftus <[email protected]> > --- > drivers/net/intel/ice/ice_ethdev.c | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/intel/ice/ice_ethdev.c > b/drivers/net/intel/ice/ice_ethdev.c > index 0d6b030536..a59ca2e047 100644 > --- a/drivers/net/intel/ice/ice_ethdev.c > +++ b/drivers/net/intel/ice/ice_ethdev.c > @@ -1440,17 +1440,14 @@ ice_handle_aq_msg(struct rte_eth_dev *dev) > { > struct ice_hw *hw = ICE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > struct ice_ctl_q_info *cq = &hw->adminq; > - struct ice_rq_event_info event; > + unsigned char buf[ICE_AQ_MAX_BUF_LEN] = {0}; > + struct ice_rq_event_info event = { > + .msg_buf = buf, > + .buf_len = sizeof(buf), > + }; > uint16_t pending, opcode; > int ret; > > - event.buf_len = ICE_AQ_MAX_BUF_LEN; > - event.msg_buf = rte_zmalloc(NULL, event.buf_len, 0); > - if (!event.msg_buf) { > - PMD_DRV_LOG(ERR, "Failed to allocate mem"); > - return; > - } > - > pending = 1; > while (pending) { > ret = ice_clean_rq_elem(hw, cq, &event, &pending); > @@ -1477,7 +1474,6 @@ ice_handle_aq_msg(struct rte_eth_dev *dev) > break; > } > } > - rte_free(event.msg_buf); > } > #endif > > -- > 2.51.0

