1. 11 Jan, 2013 4 commits
    • Alexander Duyck's avatar
      net: Rewrite netif_set_xps_queues to address several issues · 01c5f864
      Alexander Duyck authored
      This change is meant to address several issues I found within the
      netif_set_xps_queues function.
      
      If the allocation of one of the maps to be assigned to new_dev_maps failed
      we could end up with the device map in an inconsistent state since we had
      already worked through a number of CPUs and removed or added the queue.  To
      address that I split the process into several steps.  The first of which is
      just the allocation of updated maps for CPUs that will need larger maps to
      store the queue.  By doing this we can fail gracefully without actually
      altering the contents of the current device map.
      
      The second issue I found was the fact that we were always allocating a new
      device map even if we were not adding any queues.  I have updated the code
      so that we only allocate a new device map if we are adding queues,
      otherwise if we are not adding any queues to CPUs we just skip to the
      removal process.
      
      The last change I made was to reuse the code from remove_xps_queue to remove
      the queue from the CPU.  By making this change we can be consistent in how
      we go about adding and removing the queues from the CPUs.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01c5f864
    • Alexander Duyck's avatar
      net: Rewrite netif_reset_xps_queue to allow for better code reuse · 10cdc3f3
      Alexander Duyck authored
      This patch does a minor refactor on netif_reset_xps_queue to address a few
      items I noticed.
      
      First is the fact that we are doing removal of queues in both
      netif_reset_xps_queue and netif_set_xps_queue.  Since there is no need to
      have the code in two places I am pushing it out into a separate function
      and will come back in another patch and reuse the code in
      netif_set_xps_queue.
      
      The second item this change addresses is the fact that the Tx queues were
      not getting their numa_node value cleared as a part of the XPS queue reset.
      This patch resolves that by resetting the numa_node value if the dev_maps
      value is set.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10cdc3f3
    • Alexander Duyck's avatar
      net: Add functions netif_reset_xps_queue and netif_set_xps_queue · 537c00de
      Alexander Duyck authored
      This patch adds two functions, netif_reset_xps_queue and
      netif_set_xps_queue.  The main idea behind these two functions is to
      provide a mechanism through which drivers can update their defaults in
      regards to XPS.
      
      Currently no such mechanism exists and as a result we cannot use XPS for
      things such as ATR which would require a basic configuration to start in
      which the Tx queues are mapped to CPUs via a 1:1 mapping.  With this change
      I am making it possible for drivers such as ixgbe to be able to use the XPS
      feature by controlling the default configuration.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      537c00de
    • Alexander Duyck's avatar
      net: Split core bits of netdev_pick_tx into __netdev_pick_tx · 416186fb
      Alexander Duyck authored
      This change splits the core bits of netdev_pick_tx into a separate function.
      The main idea behind this is to make this code accessible to select queue
      functions when they decide to process the standard path instead of their
      own custom path in their select queue routine.
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      416186fb
  2. 10 Jan, 2013 20 commits
  3. 09 Jan, 2013 9 commits
  4. 08 Jan, 2013 5 commits
  5. 07 Jan, 2013 2 commits
    • Paul Gortmaker's avatar
      drivers/net: delete 8390 based EISA drivers. · bca94cff
      Paul Gortmaker authored
      The NS8390 chip was essentially the 1st widespread PC ethernet
      chip, starting its life on 8 bit ISA cards in the late 1980s.
      Even with better technologies available (bus mastering etc)
      the 8390 managed to get used on a few rare EISA cards in the
      early to mid 1990s.
      
      The EISA bus in the x86 world was largely confined to systems
      ranging from 486 to 586 (essentially 200MHz or lower, and less
      than 100MB RAM) -- i.e. machines unlikely to be still in service,
      and even less likely to be running a 3.9+ kernel.
      
      On top of that, only one of the five really ever was considered
      non-experimental; the smc-ultra32 was the one -- since it was
      largely just an EISA version of the popular smc-ultra ISA card.
      All the others had such a tiny user base that they simply never
      could be considered anything more than experimental.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      bca94cff
    • Paul Gortmaker's avatar
      drivers/net: remove orphaned references to micro channel · 483f7772
      Paul Gortmaker authored
      We threw away the microchannel support, but the removal wasn't
      completely trivial since there was namespace overlap with the
      machine check support, and hence some orphaned dependencies
      survived the deletion.  This attempts to sweep those up and
      send them to the bit-bucket.
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      483f7772