- 11 10月, 2007 1 次提交
-
-
由 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>
-
- 01 8月, 2007 1 次提交
-
-
由 Matthew Wilcox 提交于
All drivers implement ethtool get_perm_addr the same way -- by calling the generic function. So we can inline the generic function into the caller and avoid going through the drivers. Signed-off-by: NMatthew Wilcox <matthew@wil.cx> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 18 5月, 2007 1 次提交
-
-
由 Auke Kok 提交于
pci_enable_msi calls can fail for normal operational reasons. Driver should not print an error message in that case. Fix a leak that leaves msi enabled if pci_request_irq fails. We can remove CONFIG_PCI_MSI ifdefs alltogether Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 09 5月, 2007 1 次提交
-
-
由 Michael Opdenacker 提交于
Signed-off-by: NMichael Opdenacker <michael@free-electrons.com> Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
- 03 5月, 2007 1 次提交
-
-
由 Jean Delvare 提交于
I noticed that many source files include <linux/pci.h> while they do not appear to need it. Here is an attempt to clean it all up. In order to find all possibly affected files, I searched for all files including <linux/pci.h> but without any other occurence of "pci" or "PCI". I removed the include statement from all of these, then I compiled an allmodconfig kernel on both i386 and x86_64 and fixed the false positives manually. My tests covered 66% of the affected files, so there could be false positives remaining. Untested files are: arch/alpha/kernel/err_common.c arch/alpha/kernel/err_ev6.c arch/alpha/kernel/err_ev7.c arch/ia64/sn/kernel/huberror.c arch/ia64/sn/kernel/xpnet.c arch/m68knommu/kernel/dma.c arch/mips/lib/iomap.c arch/powerpc/platforms/pseries/ras.c arch/ppc/8260_io/enet.c arch/ppc/8260_io/fcc_enet.c arch/ppc/8xx_io/enet.c arch/ppc/syslib/ppc4xx_sgdma.c arch/sh64/mach-cayman/iomap.c arch/xtensa/kernel/xtensa_ksyms.c arch/xtensa/platform-iss/setup.c drivers/i2c/busses/i2c-at91.c drivers/i2c/busses/i2c-mpc.c drivers/media/video/saa711x.c drivers/misc/hdpuftrs/hdpu_cpustate.c drivers/misc/hdpuftrs/hdpu_nexus.c drivers/net/au1000_eth.c drivers/net/fec_8xx/fec_main.c drivers/net/fec_8xx/fec_mii.c drivers/net/fs_enet/fs_enet-main.c drivers/net/fs_enet/mac-fcc.c drivers/net/fs_enet/mac-fec.c drivers/net/fs_enet/mac-scc.c drivers/net/fs_enet/mii-bitbang.c drivers/net/fs_enet/mii-fec.c drivers/net/ibm_emac/ibm_emac_core.c drivers/net/lasi_82596.c drivers/parisc/hppb.c drivers/sbus/sbus.c drivers/video/g364fb.c drivers/video/platinumfb.c drivers/video/stifb.c drivers/video/valkyriefb.c include/asm-arm/arch-ixp4xx/dma.h sound/oss/au1550_ac97.c I would welcome test reports for these files. I am fine with removing the untested files from the patch if the general opinion is that these changes aren't safe. The tested part would still be nice to have. Note that this patch depends on another header fixup patch I submitted to LKML yesterday: [PATCH] scatterlist.h needs types.h http://lkml.org/lkml/2007/3/01/141Signed-off-by: NJean Delvare <khali@linux-fr.org> Cc: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 28 4月, 2007 2 次提交
-
-
由 Milind Arun Choudhary 提交于
IXGB_ROUNDUP macro cleanup ,use ALIGN Signed-off-by: NMilind Arun Choudhary <milindchoudhary@gmail.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ahmed S. Darwish 提交于
Signed-off-by: NAhmed S. Darwish <darwish.07@gmail.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 26 4月, 2007 6 次提交
-
-
由 Arnaldo Carvalho de Melo 提交于
To clearly state the intent of copying to linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: NArnaldo Carvalho de Melo <acme@ghostprotocols.net>
-
由 Arnaldo Carvalho de Melo 提交于
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Arnaldo Carvalho de Melo 提交于
The ip_hdrlen() buddy, created to reduce the number of skb->h.th-> uses and to avoid the longer, open coded equivalent. Ditched a no-op in bnx2 in the process. I wonder if we should have a BUG_ON(skb->h.th->doff < 5) in tcp_optlen()... Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Arnaldo Carvalho de Melo 提交于
For the quite common 'skb->h.raw - skb->data' sequence. Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Arnaldo Carvalho de Melo 提交于
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Arnaldo Carvalho de Melo 提交于
For the quite common 'skb->nh.raw - skb->data' sequence. Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 03 3月, 2007 1 次提交
-
-
由 Dan Aloni 提交于
This patch splits the vlan_group struct into a multi-allocated struct. On x86_64, the size of the original struct is a little more than 32KB, causing a 4-order allocation, which is prune to problems caused by buddy-system external fragmentation conditions. I couldn't just use vmalloc() because vfree() cannot be called in the softirq context of the RCU callback. Signed-off-by: NDan Aloni <da-x@monatomic.org> Acked-by: NJeff Garzik <jeff@garzik.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 08 2月, 2007 1 次提交
-
-
由 Linas Vepstas 提交于
Use newly minted routine to access the PCI channel state. Signed-off-by: NLinas Vepstas <linas@linas.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 06 2月, 2007 1 次提交
-
-
由 Arjan van de Ven 提交于
Remove the NETIF_F_TSO #ifdef-ery in drivers/net; this was for old-old-2.4 compat (even current 2.4 has NETIF_F_TSO) but it's time to get rid of it by now. Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 07 1月, 2007 3 次提交
-
-
由 Aaron Salter 提交于
We need to disable the AV bit before flushing the low register. Signed-off-by: <aaron.k.salter@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
A similar patch to commit 65c7973f but now for ixgb. Cc: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
This fix was already merged in commit 96f9c2e2 but reverted in commit 989316dd. After stresstesting we found that the fix does not add new regressions and works around a TX hang spotted by several users. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
- 03 12月, 2006 1 次提交
-
-
由 Al Viro 提交于
... into anonymous union of __wsum and __u32 (csum and csum_offset resp.) Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 22 11月, 2006 1 次提交
-
-
由 David Howells 提交于
Fix up for make allyesconfig. Signed-Off-By: NDavid Howells <dhowells@redhat.com>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 28 9月, 2006 5 次提交
-
-
由 Auke Kok 提交于
e100-3.5.17-k2 e1000-7.2.9-k2 ixgb-1.0.117-k2 Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
PCI error recovery code recently merged needs to use netdev_priv Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
We experimented with more descriptor buffer writebacks and found that values larger than 8 give HW problems, but 8 is safe and gives us some improved performance. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
We keep getting requests from people that think that this might be an exploitable hole where we would overwrite 4 bytes in the netdev struct if the pci name would exceed 15 characters. In reality this will never happen but we fix it anyway. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
This update to the copyright header adds the mailinglist, and aligns it with the kernel licensing as well as remove the offending 'all rights reserved'. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
- 23 9月, 2006 1 次提交
-
-
由 Patrick McHardy 提交于
Replace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose checksum still needs to be completed) and CHECKSUM_COMPLETE (for incoming packets, device supplied full checksum). Patch originally from Herbert Xu, updated by myself for 2.6.18-rc3. Signed-off-by: NPatrick McHardy <kaber@trash.net> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 20 9月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 14 9月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 01 9月, 2006 9 次提交
-
-
由 Auke Kok 提交于
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Same change as e1000: remove skb->dev assignment, it's now done by netdev_alloc_skb. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Linas Vepstas 提交于
Adds PCI Error recovery callbacks to the Intel 10-gigabit ethernet ixgb device driver. Lightly tested, works. "Zhang, Yanmin" <yanmin_zhang@linux.intel.com> wrote: Both pci_disable_device and ixgb_down would access the device. It doesn't follow Documentation/pci-error-recovery.txt that error_detected shouldn't do any access to the device. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Recalculate when to wake the queue using DESC_NEEDED instead of a static hardcoded number. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
- 20 8月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: NMichal Piotrowski <michal.k.k.piotrowski@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-