1. 11 10月, 2007 2 次提交
    • S
      [S2IO]: Making MSIX as default intr_type · 8abc4d5b
      Sivakumar Subramani 提交于
      - Making MSIX as default intr_type
      - Driver will test MSI-X by issuing test MSI-X vector and if fails it will
        fallback to INTA
      Signed-off-by: NSivakumar Subramani <sivakumar.subramani@neterion.com>
      Signed-off-by: NRamkrishna Vepa <ram.vepa@neterion.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8abc4d5b
    • S
      [NET]: Make NAPI polling independent of struct net_device objects. · bea3348e
      Stephen Hemminger 提交于
      Several devices have multiple independant RX queues per net
      device, and some have a single interrupt doorbell for several
      queues.
      
      In either case, it's easier to support layouts like that if the
      structure representing the poll is independant from the net
      device itself.
      
      The signature of the ->poll() call back goes from:
      
      	int foo_poll(struct net_device *dev, int *budget)
      
      to
      
      	int foo_poll(struct napi_struct *napi, int budget)
      
      The caller is returned the number of RX packets processed (or
      the number of "NAPI credits" consumed if you want to get
      abstract).  The callee no longer messes around bumping
      dev->quota, *budget, etc. because that is all handled in the
      caller upon return.
      
      The napi_struct is to be embedded in the device driver private data
      structures.
      
      Furthermore, it is the driver's responsibility to disable all NAPI
      instances in it's ->stop() device close handler.  Since the
      napi_struct is privatized into the driver's private data structures,
      only the driver knows how to get at all of the napi_struct instances
      it may have per-device.
      
      With lots of help and suggestions from Rusty Russell, Roland Dreier,
      Michael Chan, Jeff Garzik, and Jamal Hadi Salim.
      
      Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
      Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.
      
      [ Ported to current tree and all drivers converted.  Integrated
        Stephen's follow-on kerneldoc additions, and restored poll_list
        handling to the old style to fix mutual exclusion issues.  -DaveM ]
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bea3348e
  2. 04 8月, 2007 1 次提交
  3. 31 7月, 2007 6 次提交
  4. 17 7月, 2007 1 次提交
  5. 12 7月, 2007 1 次提交
    • A
      PCI: Change all drivers to use pci_device->revision · 44c10138
      Auke Kok 提交于
      Instead of all drivers reading pci config space to get the revision
      ID, they can now use the pci_device->revision member.
      
      This exposes some issues where drivers where reading a word or a dword
      for the revision number, and adding useless error-handling around the
      read. Some drivers even just read it for no purpose of all.
      
      In devices where the revision ID is being copied over and used in what
      appears to be the equivalent of hotpath, I have left the copy code
      and the cached copy as not to influence the driver's performance.
      
      Compile tested with make all{yes,mod}config on x86_64 and i386.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Acked-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      44c10138
  6. 11 7月, 2007 1 次提交
  7. 09 7月, 2007 2 次提交
  8. 27 6月, 2007 1 次提交
    • O
      2.6.22: ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined! · f9046eb3
      Olaf Hering 提交于
      On Tue, Jun 19, Stephen Hemminger wrote:
      > Olaf Hering <olaf@aepfle.de> wrote:
      > > What happend to __ucmpdi2 from David Woodhouse?
      > > google has a few hits about stuff like this on 32bit powerpc with gcc 4.1.2:
      > >
      > > ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined!
      > >
      > > using the drivers/net/s2io* files from 2.6.21 with 2.6.22-rc5 fixes the
      > > compile.
      > >
      > > 25805dcf adds two u64 >>= 48 followed by
      > > a switch statement (line 2889 and 6816).
      >
      > Probably the "switch(err) {" needs a cast to a smaller type (like u8).
      
      This change removes the compiler-generated calls to __ucmpdi2.
      Signed-off-by: NOlaf Hering <olaf@aepfle.de>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      f9046eb3
  9. 03 6月, 2007 1 次提交
  10. 12 5月, 2007 3 次提交
  11. 28 4月, 2007 4 次提交
  12. 26 4月, 2007 1 次提交
    • A
      [SK_BUFF]: Convert skb->tail to sk_buff_data_t · 27a884dc
      Arnaldo Carvalho de Melo 提交于
      So that it is also an offset from skb->head, reduces its size from 8 to 4 bytes
      on 64bit architectures, allowing us to combine the 4 bytes hole left by the
      layer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4
      64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...
      :-)
      
      Many calculations that previously required that skb->{transport,network,
      mac}_header be first converted to a pointer now can be done directly, being
      meaningful as offsets or pointers.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27a884dc
  13. 03 3月, 2007 1 次提交
  14. 27 2月, 2007 6 次提交
  15. 21 2月, 2007 1 次提交
  16. 15 2月, 2007 1 次提交
    • T
      [PATCH] remove many unneeded #includes of sched.h · cd354f1a
      Tim Schmielau 提交于
      After Al Viro (finally) succeeded in removing the sched.h #include in module.h
      recently, it makes sense again to remove other superfluous sched.h includes.
      There are quite a lot of files which include it but don't actually need
      anything defined in there.  Presumably these includes were once needed for
      macros that used to live in sched.h, but moved to other header files in the
      course of cleaning it up.
      
      To ease the pain, this time I did not fiddle with any header files and only
      removed #includes from .c-files, which tend to cause less trouble.
      
      Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
      arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
      allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
      configs in arch/arm/configs on arm.  I also checked that no new warnings were
      introduced by the patch (actually, some warnings are removed that were emitted
      by unnecessarily included header files).
      Signed-off-by: NTim Schmielau <tim@physik3.uni-rostock.de>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cd354f1a
  17. 10 2月, 2007 1 次提交
  18. 06 2月, 2007 6 次提交