freebsd-dev/sys
Marius Strobl 82a67a70a2 o In order to reduce bug and code duplication fold handling of NICs
requiring DC_TX_ALIGN or DC_TX_COALESCE, which was previously done
  in dc_start_locked(), into dc_encap().
o In dc_encap():
  - If m_defrag() fails just drop the packet like other NIC drivers
    do. This should only happen when there's a mbuf shortage, in which
    case it was possible to end up with an IFQ full of packets which
    couldn't be processed as they couldn't be defragmented as they
    were taking up all the mbufs themselves. This includes adjusting
    dc_start_locked() to not trying to prepend the mbuf (chain) if
    dc_encap() has freed it.
  - Likewise, if bus_dmamap_load_mbuf() fails as dc_dma_map_txbuf()
    failed, free the mbuf possibly allocated by the above call to
    m_defrag() and drop the packet.
o In dc_txeof():
  - Don't clear IFF_DRV_OACTIVE unless there are at least 6 free TX
    descriptors. Further down the road dc_encap() will bail if there
    are only 5 or fewer free TX descriptors, causing dc_start_locked()
    to abort and prepend the dequeued mbuf again so it makes no sense
    to pretend we could process mbufs again when in fact we won't.
    While at it replace this magic 5 with a macro DC_TX_LIST_RSVD.
  - Just always assign idx to sc->dc_cdata.dc_tx_cons; it doesn't
    make much sense to exclude the idx == sc->dc_cdata.dc_tx_cons
    case.
o In dc_dma_map_txbuf() there's no need to set sc->dc_cdata.dc_tx_err
  to error if the latter is != 0, bus_dmamap_load_mbuf() already
  returns the same error value in that case anyway.
o For less overhead, convert to use bus_dmamap_load_mbuf_sg() for
  loading RX buffers.
o Remove some banal and/or outdated comments.

Approved by:	re (kensmith)
MFC after:	1 week
2007-08-05 11:28:19 +00:00
..
amd64 Move mp_topology() from apic_init(i386) and apic_setup_local(amd64) to 2007-08-02 21:17:58 +00:00
arm Add in all the USB devices and all the wireless goo. The KB9202 has 2007-07-31 17:45:54 +00:00
boot MFp4: 2007-07-13 14:27:05 +00:00
bsm Merge OpenBSM 1.0 alpha 15 changes to src/sys/bsm: 2007-07-22 12:28:13 +00:00
cam Do not forget to cam_periph_unhold the peripheral before exiting 2007-07-21 18:07:45 +00:00
cddl Update assertion after revision 1.23. 2007-07-24 15:00:43 +00:00
compat ndis will signal the kthread to exit and then sleep on the proc pointer to 2007-07-22 20:53:28 +00:00
conf Enable -Werror for ia64. 2007-07-31 03:15:32 +00:00
contrib Replace references to NET_CALLOUT_MPSAFE with CALLOUT_MPSAFE, and remove 2007-07-28 07:31:30 +00:00
crypto Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSEC 2007-07-03 12:13:45 +00:00
ddb Use FOREACH_PROC_IN_SYSTEM instead of using its unrolled form. 2007-01-17 15:05:52 +00:00
dev o In order to reduce bug and code duplication fold handling of NICs 2007-08-05 11:28:19 +00:00
fs Oops, fix the fix for the i/o size of the fsinfo block. Its log 2007-08-03 23:13:50 +00:00
gdb Add kdb_cpu_sync_icache(), intended to synchronize instruction 2007-06-09 21:55:17 +00:00
geom Have gpart synthesize a disk geometry if the underlying provider 2007-06-17 22:19:19 +00:00
gnu The last entry in the ext2_opts array must be NULL, 2007-07-14 21:18:19 +00:00
i4b I4B header files were repo-copied from sys/i386/include/ to 2007-07-06 07:17:22 +00:00
i386 Move mp_topology() from apic_init(i386) and apic_setup_local(amd64) to 2007-08-02 21:17:58 +00:00
ia64 Replace "__asm __volatile()" by equivalent support functions from 2007-08-04 19:52:10 +00:00
isa It seems that some i386 mothermoards either do not implement the 2007-07-27 09:34:42 +00:00
kern - Fix one line that erroneously crept in my last commit. 2007-08-04 01:21:28 +00:00
libkern Unbreak high resolution profiling a little: use dummy asms to prevent 2007-06-13 06:17:48 +00:00
modules Attach the iscsi module build. 2007-07-24 16:58:18 +00:00
net - Ensure the path cost does not exceed 65535 in legacy STP mode. 2007-08-04 21:09:04 +00:00
net80211 In add_channel(), search 11g channels if mode is AUTO and corresponding 2007-07-20 11:38:12 +00:00
netatalk Mark wire data structures in netatalk as __packed so that they are 2007-06-28 12:54:58 +00:00
netatm Disconnect netatm from the build as it is not MPSAFE and relies on 2007-07-14 21:49:24 +00:00
netgraph Add 64bit statistic counters to the ng_ppp node. 2007-08-01 20:49:35 +00:00
netinet Change TCPTV_MIN to be independent of HZ. While it was documented to 2007-07-31 22:11:55 +00:00
netinet6 Continue effort to improve parity between UDPv4 and UDPv6: add a missing 2007-07-27 08:25:02 +00:00
netipsec Replace hard coded options by their defined PFIL_{IN,OUT} names. 2007-07-19 09:57:54 +00:00
netipx Make tcpstates[] static, and make sure TCPSTATES is defined before 2007-07-30 11:06:42 +00:00
netnatm s/destory/destroy/ (except for the code in contrib/). 2007-04-16 12:31:35 +00:00
netncp Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
netsmb Fixing the mount_smbfs(8) hanging by utilising the destroy_dev_sched() KPI. 2007-07-10 09:23:10 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
nfsclient Fix for a race where out of order loading of NFS attrs into the 2007-07-03 18:31:47 +00:00
nfsserver First in a series of changes to remove the now-unused Giant compatibility 2007-07-27 11:59:57 +00:00
opencrypto Quiet warnings. These do not appear to be actually used uninitialized, 2007-07-05 06:59:14 +00:00
pc98 Mfi386 revision 1.239 of src/sys/i386/isa/clock.c. Seemingly some 2007-07-29 20:16:48 +00:00
pccard
pci Add the device ID for the VIA CX700 chipset. 2007-08-02 04:29:19 +00:00
powerpc Fix backward compatibility of the "old" (i.e. FreeBSD6) lseek 2007-07-31 06:23:26 +00:00
rpc Check for a NULL return from rpcclnt_buildheader- it can fail if 2007-06-16 05:42:26 +00:00
security When checking labels during a vnode link operation in MLS, use the file 2007-07-23 13:28:54 +00:00
sparc64 If clock_ct_to_ts fails to convert time time from the real time clock, 2007-07-23 09:42:32 +00:00
sun4v Fix warning - add missing #include 2007-07-06 00:41:53 +00:00
sys Replace references to NET_CALLOUT_MPSAFE with CALLOUT_MPSAFE, and remove 2007-07-28 07:31:30 +00:00
tools Catch up with ACPI-CA 20070320 import. 2007-03-22 18:16:43 +00:00
ufs Perform range check before allocating memory when reading 2007-07-13 18:51:08 +00:00
vm Do not acquire Giant unconditionally around the calls to the cdevsw 2007-08-05 05:40:52 +00:00
Makefile Complete repo-copy and move of Coda from src/sys/coda to src/sys/fs/coda 2007-07-12 21:04:58 +00:00