cvs commit: src/sys/dev/an if_an.c if_anreg.h src/sys/dev/bfe if_bfe.c src/sys/dev/my if_my.c src/sys/dev/owi if_owi.c if_wivar.h src/sys/dev/re if_re.c src/sys/dev/wl if_wl.c src/sys/pci if_dc.c if_dcreg.h if_pcn.c if_pcnreg.h if_rl.c ...

Luigi Rizzo rizzo at
Sat Nov 15 02:17:26 PST 2003

On Fri, Nov 14, 2003 at 04:33:18PM -0500, Robert Watson wrote:
> I can think of two concerns with that: first, that interface locks may be
> handled differently for different interfaces, and second, that in the
> future we may want to avoid an unlock/lock pair for each packet input. 
> I've been running with local patches intended to reduce the number of
> unlock/lock pairs for coalesced interrupt handling by only unlocking to
> deliver chains of mbufs to if_input rather than individual mbufs.  I.e.,

as i was telling Sam, i doubt you'll see any coalescing except in
cases od DoS attacks on GigE interfaces, or with very slow boxes.
As a matter of fact, in the latter case the risk is looping
in the driver up to mbuf exhaustion, and then passing up a
zillion buffer to if_input() in a single call.
Which basically has the same problem of deferred dispatch
through netisr.
(easy fix there, limit the burst size to some small value such
as 5-10 buffers).


More information about the cvs-all mailing list