10 Dec, 2013

14 commits

  • Commit 6da7c8fcbcbd ("qdisc: allow setting default queuing discipline")
    added the ability to change default qdisc from pfifo_fast to say fq

    But as most modern ethernet devices are multiqueue, we cant really
    see all the statistics from "tc -s qdisc show", as the default root
    qdisc is mq.

    This patch adds the calls to qdisc_list_add() to mq and mqprio

    Signed-off-by: Eric Dumazet
    Cc: Stephen Hemminger
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Jeff Kirsher says:

    ====================
    Intel Wired LAN Driver Updates

    This series contains updates to i40e only.

    Jacob provides a i40e patch to get 1588 work correctly by separating
    TSYNVALID and TSYNINDX fields in the receive descriptor.

    Jesse provides several i40e patches, first to correct the checking
    of the multi-bit state. The hash is reported correctly in the RSS
    field if and only if the filter status is 3. Other values of the
    filter status mean different things and we should not depend on a
    bitwise result. Then provides a patch to enable a couple of
    workarounds based on revision ID that allow the driver to work
    more fully on early hardware.

    Shannon provides several i40e patches as well. First sets the media
    type in the hardware structure based on the external connection type.
    Then provides a patch to only setup the rings that will be used. Lastly
    provides a fix where the TESTING state was still set when exiting the
    ethtool diagnostics.

    Kevin Scott provides one i40e patch to add a new flag to the i40e_add_veb()
    which allows the driver to request the hardware to filter on layer 2
    parameters.

    Anjali provides four i40e patches, first refactors the reset code in
    order to re-size queues and vectors while the interface is still up.
    Then provides a patch to enable all PCTYPEs expect FCoE for RSS. Adds
    a message to notify the user of how many VFs are initialized on each
    port. Lastly adds a new variable to track the number of PF instances,
    this is a global counter on purpose so that each PF loaded has a
    unique ID.

    Catherine bumps the driver version.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     
  • The driver core clears the driver data to NULL after device_release
    or on probe failure. Thus, it is not needed to manually clear the
    device driver data to NULL.

    Signed-off-by: Jingoo Han
    Signed-off-by: David S. Miller

    Jingoo Han
     

07 Dec, 2013

26 commits

  • Track the number of physical functions (PFs) found, this is a global counter
    on purpose so that each pf loaded has a unique ID.

    Change-Id: I74d618520afbce4a774d0235449e3b5f97ff6d4a
    Signed-off-by: Anjali Singhai Jain
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Anjali Singhai Jain
     
  • Print a message to notify the user of how many VFs are initialized on each
    port.

    Change-Id: I29ac2acc478ee4e588fd6ffcc35133d4c6607ca9
    Signed-off-by: Anjali Singhai Jain
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Anjali Singhai Jain
     
  • Put the print and reset statements in the actual test functions to make
    them more self-contained, and only run the reset for tests that need it.

    Change-Id: Ic70f49b11bf8bae82e59d8fd25b46215c90c4510
    Signed-off-by: Shannon Nelson
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Shannon Nelson
     
  • Fix a bug where the TESTING state was still set when
    exiting the ethtool diagnostics.

    Change-Id: Ic47950d2e86a67167d1d282256d477cecd86d820
    Signed-off-by: Shannon Nelson
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Shannon Nelson
     
  • The VSI may be allocated more queues (alloc_queue_pairs) than actually
    are to be used (num_queue_pairs), so only allocate rings for the queues
    to be used. The numbers will likely be the same for most VSIs, but can
    be different based on how TCs are assigned and enabled.

    Change-Id: Ie40f7ad0affbc4b45d6f049bcf02ee2fa24edc74
    Signed-off-by: Shannon Nelson
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Shannon Nelson
     
  • RSS can steer packets based on recognition of all
    sorts of different headers. Enable some more of them.

    Change-Id: I2264dedae66fb0bceca6fb6e772e050e3ca8efc8
    Signed-off-by: Anjali Singhai Jain
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Anjali Singhai Jain
     
  • In order to re-size queues and vectors while the interface is
    still up, we need to be able to call functions to free and
    re-allocate without bringing down the VSI.

    We also need to reset the existing setup, update the
    configuration and then rebuild again. This requires us to have
    the reset flow broken down into two parts.

    Change-Id: I374dd25aabf769decda69b676491c7b7730a4635
    Signed-off-by: Anjali Singhai Jain
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Anjali Singhai Jain
     
  • Update the driver version to 0.3.12-k

    Signed-off-by: Catherine Sullivan
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Catherine Sullivan
     
  • Whitespace fixes

    Change-Id: I95f4d02e4a2a92d6b6fca3ae2b7865c4b916a9bb
    Signed-off-by: Jeff Kirsher
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala

    Jeff Kirsher
     
  • Enable a couple of workarounds based on revision ID that allow the
    driver to work more fully on early hardware.

    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • Add a new flag to the add VEB command which allows the
    driver to request the hardware to filter on L2 parameters.

    This is an implementation of the driver access to a new firmware
    feature.

    Change-Id: Id61d3cad4125bdc68b8fd9d555c448a10c344b6b
    Signed-off-by: Kevin Scott
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Kevin Scott
     
  • Set the media type in the hardware structure, based
    on the external connection type.

    Add Direct Attach to the type of media reported by ethtool.

    Change-Id: I4ad2f5bf882766d6e737fac4477abf049491b3b3
    Signed-off-by: Shannon Nelson
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • The hash is reported correctly in the rss field if and only if
    the filter status is 3. Other values of filter status mean
    different things and we shouldn't depend on a bitwise result.

    The issue was that
    a & b --> returns true for b={1,2,3}
    the fix is
    a & b == b

    Also refactor this function to use constant operations because we
    are in fast path.

    Change-Id: I4e29be87439c1cf8b60bc31bea29dff89596c013
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jesse Brandeburg
     
  • In order to get 1588 to work correctly the defines need a bit
    of a tweak.

    Change-Id: Ie50ce2a18e1593441f1560411e5a4f51c6d48aaa
    Signed-off-by: Jacob Keller
    Signed-off-by: Jesse Brandeburg
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Jacob Keller
     
  • Add a new check for CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to reduce
    the number of or's used in the ether_addr_equal comparison to very
    slightly improve function performance.

    Simplify the ether_addr_equal_64bits implementation.
    Integrate and remove the zap_last_2bytes helper as it's now
    used only once.

    Remove the now unused compare_ether_addr function.

    Update the unaligned-memory-access documentation to remove the
    compare_ether_addr description and show how unaligned accesses
    could occur with ether_addr_equal.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • use pr_ instead of printk(LEVEL)

    Signed-off-by: Wang Weidong
    Signed-off-by: David S. Miller

    wangweidong
     
  • Creating an address with this flag set will result in kernel taking care
    of temporary addresses in the same way as if the address was created by
    kernel itself (after RA receive). This allows userspace applications
    implementing the autoconfiguration (NetworkManager for example) to
    implement ipv6 addresses privacy.

    Signed-off-by: Jiri Pirko
    Signed-off-by: Thomas Haller
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • There is no more space in u8 ifa_flags. So do what davem suffested and
    add another netlink attr called IFA_FLAGS for carry more flags.

    Signed-off-by: Jiri Pirko
    Signed-off-by: Thomas Haller
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Some network drivers use dev_kfree_skb_any() and dev_kfree_skb_irq()
    helpers to free skbs, both for dropped packets and TX completed ones.

    We need to separate the two causes to get better diagnostics
    given by dropwatch or "perf record -e skb:kfree_skb"

    This patch provides two new helpers, dev_consume_skb_any() and
    dev_consume_skb_irq() to be used for consumed skbs.

    __dev_kfree_skb_irq() is slightly optimized to remove one
    atomic_dec_and_test() in fast path, and use this_cpu_{r|w} accessors.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Signed-off-by: Zhi Yong Wu
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • Signed-off-by: Zhi Yong Wu
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • Signed-off-by: Zhi Yong Wu
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • Since vhost_dev_init() forever return 0, some branches are never run,
    therefore need to be removed.

    Signed-off-by: Zhi Yong Wu
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Zhi Yong Wu
     
  • Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Nithin Sujir
     
  • commit 4d95847381228639844c7197deb8b2211274ef22 - "tg3: Workaround
    rx_discards stat bug", added a workaround for miscounted statistics for
    multicast packets. This fix needs to be applied to the 5762.

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Nithin Sujir
     
  • The APD bit is 14 and not bit 10.

    Signed-off-by: Nithin Nayak Sujir
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Nithin Sujir