freebsd-dev/sys/pci
Luigi Rizzo 920dcd3fcb Remove the need for an expensive m_devget on the i386, which does not
have alignment problems.

On small boxes (e.g. the net4501 from Soekris, featuring a 486/133)
this provides huge performance benefits: the peak forwarding rate
with avg.sized packets goes up by 50-70% because of this change
alone. Faster CPUs might benefit less from this change, but in any
case the CPU has better things to do than waste time on useless
memory-to-memory copies.

Several drivers (for Tulip-like cards) might benefit from a similar
change.

Right now the new behaviour is controlled by a sysctl variable,
hw.sis_quick which defaults to 1 (on), you can set it to 0 to
reintroduce the old behaviour (and compare the results).  The
variable is only there to show how much you can gain with this
change, it will go away soon.

Also, slightly simplify the code to initialize the ring buffers,
and remove a couple of dangerous printf's which could trigger on
any packet in case of mbuf shortage.

MFC-after: 3 days
2001-11-28 16:10:37 +00:00
..
agp_ali.c Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_amd.c Add probe line for the AMD 761 northbridge chip. At least it detects now, 2001-09-20 05:13:12 +00:00
agp_i810.c Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_if.m
agp_intel.c Add support for Intel's i820/i840/i845/i850/i860 chipset. 2001-11-08 16:03:23 +00:00
agp_sis.c Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_via.c Recognise VIA Apollo KT133A bridge. 2001-08-30 14:17:48 +00:00
agp.c Don't automatically unbind/deallocate memory when releasing. 2001-11-27 14:12:21 +00:00
agppriv.h
agpreg.h Add support for Intel's i820/i840/i845/i850/i860 chipset. 2001-11-08 16:03:23 +00:00
agpvar.h
alpm.c Remove unneeded (and compile-breaking) #include "alpm.h" 2001-01-17 00:38:06 +00:00
amd.c Move unused functions into #if 0 ... #endif. 2001-05-06 08:07:10 +00:00
amd.h
amdpm.c SMBus support for the AMD 756 power management unit. See smbus(4), 2001-09-16 22:35:07 +00:00
cy_pci.c Converted to new-bus. 2001-02-01 09:49:57 +00:00
cy_pcireg.h
dc21040reg.h Remove some unused stuff 2001-03-25 07:21:04 +00:00
if_dc.c Remove ifnet.if_mpsafe for now. If this is needed, it won't be needed 2001-11-14 18:36:37 +00:00
if_dcreg.h Defs for three (unused so far) bits in PCI command/status register 2001-10-25 17:43:26 +00:00
if_de.c Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
if_devar.h No FreeBSD/vax here either. 2001-11-03 08:32:28 +00:00
if_en_pci.c newbusify the en atm driver. 2000-11-07 09:31:28 +00:00
if_mn.c Fix warnings: 2001-06-15 07:39:12 +00:00
if_pcn.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_pcnreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_rl.c Add suspend/resume code mostly merged from fxp driver. 2001-11-23 14:27:33 +00:00
if_rlreg.h Add suspend/resume code mostly merged from fxp driver. 2001-11-23 14:27:33 +00:00
if_sf.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_sfreg.h Still more changes to try to prevent TX lockups. Will wait for one more 2001-08-16 00:32:20 +00:00
if_sis.c Remove the need for an expensive m_devget on the i386, which does not 2001-11-28 16:10:37 +00:00
if_sisreg.h Fix a bug in the driver -- under load, the receive unit could become 2001-11-27 16:29:11 +00:00
if_sk.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_skreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_ste.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_stereg.h Fix a bug in the ste_setmulti() routine. The NIC has 4 16-bit multicast 2001-08-23 18:22:55 +00:00
if_ti.c Have the driver advertise that it is capable of hardware checksums, and 2001-09-18 18:40:22 +00:00
if_tireg.h Fix the definitions for memory bank sizes, which I somehow got wrong. 2001-04-26 16:40:45 +00:00
if_tl.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_tlreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_tx.c Update tx(4) to always enable vlan(4) support. 2001-09-05 23:04:53 +00:00
if_txvar.h Add support for 802.1Q VLAN and oversized ethernet frames. 2001-08-13 18:32:39 +00:00
if_vr.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_vrreg.h Close PR 22208: bring chip out of suspend mode, because Windows might 2001-05-14 19:13:02 +00:00
if_wb.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_wbreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_xl.c Implement TCP/IP checksum off-loading on send for the 3c905B and later 2001-10-22 06:45:42 +00:00
if_xlreg.h Add support for the 3c656B cardbus adapter. This is one half of a 2001-08-28 00:40:18 +00:00
intpm.c Fix warning: 2001-06-15 07:42:58 +00:00
intpmreg.h
locate.pl
meteor_reg.h
meteor.c Remove unneeded call to cdevsw_add() 2001-11-04 08:44:49 +00:00
ncr.c s/adress/address/ 2001-07-23 12:05:27 +00:00
ncrreg.h
ohci_pci.c Add AMD766 OHCI USB controller. Remove unused VENDORID lists. 2001-11-06 23:44:03 +00:00
simos.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
simos.h
ti_fw2.h
ti_fw.h
uhci_pci.c Add ICH3 (82801CA/CAM) and 460GX 2001-11-03 05:03:00 +00:00
xmaciireg.h
xrpu.c KSE Milestone 2 2001-09-12 08:38:13 +00:00