From owner-cvs-src-old@FreeBSD.ORG Sat May 30 15:15:33 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E510106566B for ; Sat, 30 May 2009 15:15:33 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 072768FC1C for ; Sat, 30 May 2009 15:15:33 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n4UFFWul062310 for ; Sat, 30 May 2009 15:15:32 GMT (envelope-from attilio@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n4UFFWEE062309 for cvs-src-old@freebsd.org; Sat, 30 May 2009 15:15:32 GMT (envelope-from attilio@repoman.freebsd.org) Message-Id: <200905301515.n4UFFWEE062309@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to attilio@repoman.freebsd.org using -f From: Attilio Rao Date: Sat, 30 May 2009 15:14:44 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/arm/xscale/ixp425 if_npe.c ixp425_qmgr.c ixp425_qmgr.h src/sys/dev/bge if_bge.c src/sys/dev/dc if_dc.c src/sys/dev/e1000 if_em.c src/sys/dev/firewire if_fwe.c if_fwip.c src/sys/dev/fxp if_fxp.c src/sys/dev/ixgb if_ixgb.c ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 May 2009 15:15:33 -0000 attilio 2009-05-30 15:14:44 UTC FreeBSD src repository Modified files: sys/arm/xscale/ixp425 if_npe.c ixp425_qmgr.c ixp425_qmgr.h sys/dev/bge if_bge.c sys/dev/dc if_dc.c sys/dev/e1000 if_em.c sys/dev/firewire if_fwe.c if_fwip.c sys/dev/fxp if_fxp.c sys/dev/ixgb if_ixgb.c sys/dev/lmc if_lmc.c sys/dev/mge if_mge.c sys/dev/nfe if_nfe.c sys/dev/re if_re.c sys/dev/sf if_sf.c sys/dev/sis if_sis.c sys/dev/smc if_smc.c sys/dev/ste if_ste.c sys/dev/stge if_stge.c sys/dev/tsec if_tsec.c sys/dev/vge if_vge.c sys/dev/vr if_vr.c sys/dev/xl if_xl.c sys/net if.h if_var.h sys/pci if_rl.c sys/sys param.h Log: SVN rev 193096 on 2009-05-30 15:14:44Z by attilio When user_frac in the polling subsystem is low it is going to busy the CPU for too long period than necessary. Additively, interfaces are kept polled (in the tick) even if no more packets are available. In order to avoid such situations a new generic mechanism can be implemented in proactive way, keeping track of the time spent on any packet and fragmenting the time for any tick, stopping the processing as soon as possible. In order to implement such mechanism, the polling handler needs to change, returning the number of packets processed. While the intended logic is not part of this patch, the polling KPI is broken by this commit, adding an int return value and the new flag IFCAP_POLLING_NOCOUNT (which will signal that the return value is meaningless for the installed handler and checking should be skipped). Bump __FreeBSD_version in order to signal such situation. Reviewed by: emaste Sponsored by: Sandvine Incorporated Revision Changes Path 1.16 +10 -5 src/sys/arm/xscale/ixp425/if_npe.c 1.6 +1 -1 src/sys/arm/xscale/ixp425/ixp425_qmgr.c 1.2 +3 -1 src/sys/arm/xscale/ixp425/ixp425_qmgr.h 1.223 +13 -9 src/sys/dev/bge/if_bge.c 1.200 +14 -8 src/sys/dev/dc/if_dc.c 1.16 +22 -11 src/sys/dev/e1000/if_em.c 1.47 +5 -2 src/sys/dev/firewire/if_fwe.c 1.19 +6 -3 src/sys/dev/firewire/if_fwip.c 1.287 +14 -7 src/sys/dev/fxp/if_fxp.c 1.24 +14 -8 src/sys/dev/ixgb/if_ixgb.c 1.39 +2 -1 src/sys/dev/lmc/if_lmc.c 1.5 +10 -6 src/sys/dev/mge/if_mge.c 1.33 +23 -13 src/sys/dev/nfe/if_nfe.c 1.158 +19 -12 src/sys/dev/re/if_re.c 1.100 +13 -7 src/sys/dev/sf/if_sf.c 1.8 +9 -5 src/sys/dev/sis/if_sis.c 1.7 +2 -0 src/sys/dev/smc/if_smc.c 1.2 +13 -8 src/sys/dev/ste/if_ste.c 1.13 +13 -7 src/sys/dev/stge/if_stge.c 1.12 +14 -6 src/sys/dev/tsec/if_tsec.c 1.36 +7 -5 src/sys/dev/vge/if_vge.c 1.135 +17 -9 src/sys/dev/vr/if_vr.c 1.6 +16 -9 src/sys/dev/xl/if_xl.c 1.119 +1 -0 src/sys/net/if.h 1.141 +1 -1 src/sys/net/if_var.h 1.188 +17 -10 src/sys/pci/if_rl.c 1.415 +1 -1 src/sys/sys/param.h