diff options
author | simokawa <simokawa@FreeBSD.org> | 2003-03-06 05:06:44 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2003-03-06 05:06:44 +0000 |
commit | c00efc4a6458fc8f3d1e0efe77cba6ad40fa575b (patch) | |
tree | 471d8578c29742f90d52c760d12307f57dd822dc /sys/dev/firewire/firewire.c | |
parent | c5c996630b414b6c8d83d61fa13f192b93da19fd (diff) | |
download | FreeBSD-src-c00efc4a6458fc8f3d1e0efe77cba6ad40fa575b.zip FreeBSD-src-c00efc4a6458fc8f3d1e0efe77cba6ad40fa575b.tar.gz |
MFp4(simokawa_sbp)
Improve if_fwe performance.
- Simplify mbuf handling by using bulkxfer.
Now, it uses mbuf clusters for RX buffer as usual ethernet drivers.
- Recycle struct xfer buffer and don't call malloc at runtime.
- Count input and output errors.
- Handle a mbuf chain longer than 6 correctly.
- Increase queue length.
Diffstat (limited to 'sys/dev/firewire/firewire.c')
-rw-r--r-- | sys/dev/firewire/firewire.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index afd65e5..23de45a 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -522,6 +522,7 @@ fw_xferq_drain(struct fw_xferq *xferq) while ((xfer = STAILQ_FIRST(&xferq->q)) != NULL) { STAILQ_REMOVE_HEAD(&xferq->q, link); + xferq->queued --; xfer->resp = EAGAIN; switch (xfer->act_type) { case FWACT_XFER: |