22 Oct, 2012

20 commits


20 Oct, 2012

16 commits


19 Oct, 2012

4 commits

  • This change makes it so that igb_update_dca is broken into two halves, one
    for Rx and one for Tx. The advantage to this is primarily readability.

    In addition I am enabling relaxed ordering for reads from hardware since
    this is supported on all of the igb parts.

    Signed-off-by: Alexander Duyck
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Alexander Duyck
     
  • This change helps to address locking issues seen with
    netif_set_real_num_tx_queues and netif_set_real_num_rx_queues when used in
    the igb_set_interrupt_capability function. To resolve these locking issues
    I have moved the two function calls into __igb_open so that they can be
    called while the RTNL lock is held.

    An added advantage to this is that the number of queues is not updated
    until the last possible moment so if there are any issues in allocating
    MSI-X interrupts or resources for the rings we have time to change the
    values prior to updating the netdev.

    Signed-off-by: Alexander Duyck
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Alexander Duyck
     
  • This change combines the the allocation of q_vectors and rings into a single
    function. The advantage of this is that we are guaranteed we will avoid
    overlap in the L1 cache sets.

    Signed-off-by: Alexander Duyck
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Alexander Duyck
     
  • This change locks us in at 2K buffers even on a system that supports larger
    frames. The reason for this change is to make better use of pages and to
    reduce the overall truesize of frames generated by igb.

    Signed-off-by: Alexander Duyck
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Alexander Duyck