Skip to content
  1. Mar 26, 2014
    • Yuval Mintz's avatar
      bnx2x: Remove the sriov VFOP mechanism · 2dc33bbc
      Yuval Mintz authored
      
      
      Since we now posses a workqueue dedicated for sriov, the paradigm that sriov-
      related tasks cannot sleep is no longer correct.
      
      The VFOP mechanism was the one previously supporting said paradigm - the sriov
      related tasks were broken into segments which did not require sleep, and the
      mechanism re-scheduled the next segment whenever possible.
      
      This patch remvoes the VFOP mechanism altogether - the resulting code is a much
      easier to follow code; The segments are gathered into straight-forward
      functions which sleep whenever neccessary.
      
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: default avatarAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2dc33bbc
    • Yuval Mintz's avatar
      bnx2x: Create workqueue for IOV related tasks · 370d4a26
      Yuval Mintz authored
      
      
      The bnx2x sriov mechanisms were done in the bnx2x slowpath workitem which
      runs on the bnx2x's workqueue; This workitem is also responsible for the bottom
      half of interrupt handling in the driver, and specifically it also receives
      FW notifications of ramrod completions, allowing other flows to progress.
      
      The original design of the sriov reltaed-flows was based on the notion such
      flows must not sleep, since their context is the slowpath workitem.
      Otherwise, we might reach timeouts - those flows may wait for ramrod completion
      that will never arrive as the workitem wlll not be re-scheduled until that same
      flow will be over.
      
      In more recent time bnx2x started supporting features in which the VF interface
      can be configured by the tools accessing the PF on the hypervisor.
      This support created possible races on the VF-PF lock (which is taken either
      when the PF is handling a VF message or when the PF is doing some slowpath work
      on behalf of the VF) which may cause timeouts on the VF side and lags on the PF
      side.
      
      This patch changes the scheme - it creates a new workqueue for sriov related
      tasks and moves all handling currently done in the slowpath task into the the
      new workqueue.
      
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: default avatarAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      370d4a26
    • Yuval Mintz's avatar
      bnx2x: Support mng. request for driver version · 42f8277f
      Yuval Mintz authored
      
      
      This adds support in a new management feature which needs the driver versions
      (bnx2x, bnx2fc and bnx2i) loaded for each interface.
      
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: default avatarAriel Elior <Ariel.Elior@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      42f8277f
    • Thomas Gleixner's avatar
      atm: idt77105: Use del_timer_sync() in exit path · 869f2739
      Thomas Gleixner authored
      
      
      The module is about to go away. Make sure everything is stopped safely
      before we pull the plug.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Chas Williams <chas@cmf.nrl.navy.mil>
      Cc: atm <linux-atm-general@lists.sourceforge.net>
      Cc: netdev <netdev@vger.kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      869f2739
    • Thomas Gleixner's avatar
      atm: firestream: Use del_timer_sync() in teardown path · aff12acc
      Thomas Gleixner authored
      
      
      The device is about to vanish. So we need to make sure that the timer
      is completely stopped and the callback is not running on another CPU.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Chas Williams <chas@cmf.nrl.navy.mil>
      Cc: atm <linux-atm-general@lists.sourceforge.net>
      Cc: netdev <netdev@vger.kernel.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aff12acc
    • Matan Barak's avatar
      mlx4: Use actual number of PCI functions (PF + VFs) for alias GUID logic · e471b403
      Matan Barak authored
      
      
      The code which is dealing with SRIOV alias GUIDs in the mlx4 IB driver has some
      logic which operated according to the maximal possible active functions (PF + VFs).
      
      After the single port VFs code integration this resulted in a flow of false-positive
      warnings going to the kernel log after the PF driver started the alias GUID work.
      
      Fix it by referring to the actual number of functions.
      
      Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e471b403
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 04f58c88
      David S. Miller authored
      
      
      Conflicts:
      	Documentation/devicetree/bindings/net/micrel-ks8851.txt
      	net/core/netpoll.c
      
      The net/core/netpoll.c conflict is a bug fix in 'net' happening
      to code which is completely removed in 'net-next'.
      
      In micrel-ks8851.txt we simply have overlapping changes.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      04f58c88
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next · 0fc31966
      David S. Miller authored
      
      
      John W. Linville says:
      
      ====================
      Please pull this batch of wireless updates intended for 3.15!
      
      For the mac80211 bits, Johannes says:
      
      "This has a whole bunch of bugfixes for things that went into -next
      previously as well as some other bugfixes I didn't want to rush into
      3.14 at this point. The rest of it is some cleanups and a few small
      features, the biggest of which is probably Janusz's regulatory DFS CAC
      time code."
      
      For the Bluetooth bits, Gustavo says:
      
      "One more pull request to 3.15. This is mostly and bug fix pull request, it
      contains several fixes and clean up all over the tree, plus some small new
      features."
      
      For the NFC bits, Samuel says:
      
      "This is the NFC pull request for 3.15. With this one we have:
      
      - Support for ISO 15693 a.k.a. NFC vicinity a.k.a. Type 5 tags. ISO
        15693 are long range (1 - 2 meters) vicinity tags/cards. The kernel
        now supports those through the NFC netlink and digital APIs.
      
      - Support for TI's trf7970a chipset. This chipset relies on the NFC
        digital layer and the driver currently supports type 2, 4A and 5 tags.
      
      - Support for NXP's pn544 secure firmare download. The pn544 C3 chipsets
        relies on a different firmware download protocal than the C2 one. We
        now support both and use the right one depending on the version we
        detect at runtime.
      
      - Support for 4A tags from the NFC digital layer.
      
      - A bunch of cleanups and minor fixes from Axel Lin and Thierry Escande."
      
      For the iwlwifi bits, Emmanuel says:
      
      "We were sending a host command while the mutex wasn't held. This
      led to hard-to-catch races."
      
      And...
      
      "I have a fix for a "merge damage" which is not really a merge
      damage: it enables scheduled scan which has been disabled in
      wireless.git. Since you merged wireless.git into wireless-next.git,
      this can now be fixed in wireless-next.git.
      
      Besides this, Alex made a workaround for a hardware bug. This fix
      allows us to consume less power in S3. Arik and Eliad continue to
      work on D0i3 which is a run-time power saving feature. Eliad also
      contributes a few bits to the rate scaling logic to which Eyal adds his
      own contribution. Avri dives deep in the power code - newer firmware
      will allow to enable power save in newer scenarios. Johannes made a few
      clean-ups. I have the regular amount of BT Coex boring stuff. I disable
      uAPSD since we identified firmware bugs that cause packet loss. One
      thing that do stand out is the udev event that we now send when the
      FW asserts. I hope it will allow us to debug the FW more easily."
      
      Also included is one last iwlwifi pull for a build breakage fix...
      
      For the Atheros bits, Kalle says:
      
      "Michal now did some optimisations and was able to improve throughput by
      100 Mbps on our MIPS based AP135 platform. Chun-Yeow added some
      workarounds to be able to better use ad-hoc mode. Ben improved log
      messages and added support for MSDU chaining. And, as usual, also some
      smaller fixes."
      
      Beyond that...
      
      Andrea Merello continues his rtl8180 refactoring, in preparation for
      a long-awaited rtl8187 driver.  We get a new driver (rsi) for the
      RS9113 chip, from Fariya Fatima.  And, of course, we get the usual
      round of updates for ath9k, brcmfmac, mwifiex, wil6210, etc. as well.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fc31966
    • David S. Miller's avatar
      xen-netback: Proper printf format for ptrdiff_t is 't'. · 2c5f4f84
      David S. Miller authored
      
      
      This fixes:
      
      drivers/net/xen-netback/netback.c: In function ‘xenvif_tx_dealloc_action’:
      drivers/net/xen-netback/netback.c:1573:8: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long int’ [-Wformat=]
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c5f4f84
    • Zoltan Kiss's avatar
      Revert "xen-netback: Aggregate TX unmap operations" · 397dfd9f
      Zoltan Kiss authored
      This reverts commit e9275f5e
      
      . This commit is the
      last in the netback grant mapping series, and it tries to do more aggressive
      aggreagtion of unmap operations. However practical use showed almost no
      positive effect, whilst with certain frontends it causes significant performance
      regression.
      
      Signed-off-by: default avatarZoltan Kiss <zoltan.kiss@citrix.com>
      Acked-by: default avatarIan Campbell <ian.campbell@citrix.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      397dfd9f
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/net-next · 8779772c
      David S. Miller authored
      
      
      Eric W. Biederman says:
      
      ====================
      Using dev_kfree/consume_skb_any for functions called in multiple contexts
      
      These changes are a result of walking through the network drivers
      supporting netpoll and verifying the code paths that netpoll can cause
      to be called in hard irq context use an appropriate flavor of
      kfree_skb.  Either dev_kfree_skb_any or dev_consume_skb_any.
      
      Since my last pass at this I have become aware of the small differences
      between dev_kfree_skb_any and dev_consume_skb_any.
      net/core/drop_monitor.c reports the dev_kfree_skb_any as a drop and
      while being quite about the second.  With the weird twist that
      dev_kfree_skb is unintuitively consume_skb.
      
      As netpoll now calls the napi poll function with budget == 0, pieces of
      a drivers the napi poll function that don't run when budget == 0 have
      been ignored.
      
      The most interesting change is to the atl1c which tried unsuccesfully to
      tell one of it's functions which context it is called in so that it
      could call dev_kfree_skb_irq or dev_kfree_skb as appropriate.  I have
      just removed the extra parameter and called dev_consume_skb_any.
      
      At 54 separate changes I will post each change as a separate patch (so
      they can be reviewed) but for general sanity sake I have gathered them
      all into a git branch for easy acces.
      ====================
      
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8779772c
    • Linus Torvalds's avatar
      Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linux · 632b06aa
      Linus Torvalds authored
      Pull nfsd fix frm Bruce Fields:
       "J R Okajima sent this early and I was just slow to pass it along,
        apologies.  Fortunately it's a simple fix"
      
      * 'nfsd-next' of git://linux-nfs.org/~bfields/linux:
        nfsd: fix lost nfserrno() call in nfsd_setattr()
      632b06aa
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 3e79d978
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "These four commits are obvious fixes (a couple of fdget_pos()-related
        ones from Eric Biggers, prepend_name() fix, missing checks for false
        negatives from __lookup_mnt() in fs/namei.c)"
      
      For now I'm pulling just the four obvious fixes, there's another four
      pending in Al's 'for-linus' branch wrt the mnt_hash list that were more
      involved.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        rcuwalk: recheck mount_lock after mountpoint crossing attempts
        make prepend_name() work correctly when called with negative *buflen
        vfs: Don't let __fdget_pos() get FMODE_PATH files
        vfs: atomic f_pos access in llseek()
      3e79d978
  2. Mar 25, 2014