From owner-cvs-src-old@FreeBSD.ORG Fri Feb 18 20:38:22 2011 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 64B961065693 for ; Fri, 18 Feb 2011 20:38:22 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5177C8FC1C for ; Fri, 18 Feb 2011 20:38:22 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p1IKcMDx042270 for ; Fri, 18 Feb 2011 20:38:22 GMT (envelope-from yongari@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p1IKcMD0042269 for cvs-src-old@freebsd.org; Fri, 18 Feb 2011 20:38:22 GMT (envelope-from yongari@repoman.freebsd.org) Message-Id: <201102182038.p1IKcMD0042269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to yongari@repoman.freebsd.org using -f From: Pyun YongHyeon Date: Fri, 18 Feb 2011 20:38:05 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/dc if_dc.c if_dcreg.h 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: Fri, 18 Feb 2011 20:38:22 -0000 yongari 2011-02-18 20:38:05 UTC FreeBSD src repository Modified files: sys/dev/dc if_dc.c if_dcreg.h Log: SVN rev 218820 on 2011-02-18 20:38:05Z by yongari For controllers that have TX interrupt moderation capability, request TX completion interrupt for every 8-th frames. Previously dc(4) requested TX completion interrupt if number of queued TX descriptors is greater than 64. This caused a lot of TX completion interrupt under high TX load once driver queued more than 64 TX descriptors. It's quite normal to see more than 64 queued TX descriptors under high TX load. This change reduces the number of TX completion interrupts to be less than 17k under high TX load. Because this change does not generate TX completion interrupt for each frame, add reclaiming transmitted buffers in dc_tick not to generate false watchdog timeouts. While I'm here add check for queued descriptors in dc_txeof() since there is no more work to do when there is no pending descriptors. Revision Changes Path 1.210 +15 -1 src/sys/dev/dc/if_dc.c 1.63 +1 -0 src/sys/dev/dc/if_dcreg.h