On Fri, 2018-08-24 at 11:47 -0700, Jeff Kirsher wrote:
> From: YueHaibing <[email protected]>
>
> Use dma_zalloc_coherent instead of dma_alloc_coherent
> followed by memset 0.
Unrelated trivia: above this, perhaps the
size = sizeof(struct ixgb_buffer) * txdr->count;
txdr->buffer_info = vzalloc(size);
if (!txdr->buffer_info)
return -ENOMEM;
should be changed to kvzalloc to avoid using vzalloc where
possible, with the appropriate vfree/kvfree conversions.
Perhaps across all intel drivers:
$ git grep -n "\bv.alloc(" drivers/net/ethernet/intel
drivers/net/ethernet/intel/e1000/e1000_main.c:1499: txdr->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/e1000/e1000_main.c:1689: rxdr->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/e1000e/ethtool.c:705: temp_tx =
vmalloc(size);
drivers/net/ethernet/intel/e1000e/ethtool.c:712: temp_rx =
vmalloc(size);
drivers/net/ethernet/intel/e1000e/netdev.c:2328: tx_ring->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/e1000e/netdev.c:2363: rx_ring->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c:561: temp_ring =
vmalloc(array_size(i, sizeof(struct fm10k_ring)));
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c:22: tx_ring->tx_buffer =
vzalloc(size);
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c:90: rx_ring->rx_buffer =
vzalloc(size);
drivers/net/ethernet/intel/igb/igb_ethtool.c:905: temp_ring =
vmalloc(array_size(sizeof(struct igb_ring),
drivers/net/ethernet/intel/igb/igb_ethtool.c:908: temp_ring =
vmalloc(array_size(sizeof(struct igb_ring),
drivers/net/ethernet/intel/igb/igb_main.c:4075: tx_ring->tx_buffer_info =
vmalloc(size);
drivers/net/ethernet/intel/igb/igb_main.c:4224: rx_ring->rx_buffer_info =
vmalloc(size);
drivers/net/ethernet/intel/igbvf/ethtool.c:226: temp_ring =
vmalloc(sizeof(struct igbvf_ring));
drivers/net/ethernet/intel/igbvf/netdev.c:421: tx_ring->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/igbvf/netdev.c:459: rx_ring->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/ixgb/ixgb_main.c:682: txdr->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/ixgb/ixgb_main.c:765: rxdr->buffer_info =
vzalloc(size);
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c:1074: temp_ring =
vmalloc(array_size(i, sizeof(struct ixgbe_ring)));
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:6352:
tx_ring->tx_buffer_info = vmalloc(size);
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c:6446:
rx_ring->rx_buffer_info = vmalloc(size);
drivers/net/ethernet/intel/ixgbevf/ethtool.c:285: tx_ring =
vmalloc(array_size(sizeof(*tx_ring),
drivers/net/ethernet/intel/ixgbevf/ethtool.c:331: rx_ring =
vmalloc(array_size(sizeof(*rx_ring),
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:3373: tx_ring->tx_buffer_info
= vmalloc(size);
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c:3451: rx_ring->rx_buffer_info
= vmalloc(size);