From owner-cvs-src-old@FreeBSD.ORG Mon Mar 1 23:39:53 2010 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 E51E7106566B for ; Mon, 1 Mar 2010 23:39:53 +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 D2C588FC0C for ; Mon, 1 Mar 2010 23:39:53 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o21NdrGg024682 for ; Mon, 1 Mar 2010 23:39:53 GMT (envelope-from yongari@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o21NdrNx024681 for cvs-src-old@freebsd.org; Mon, 1 Mar 2010 23:39:53 GMT (envelope-from yongari@repoman.freebsd.org) Message-Id: <201003012339.o21NdrNx024681@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to yongari@repoman.freebsd.org using -f From: Pyun YongHyeon Date: Mon, 1 Mar 2010 23:39:43 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/msk if_msk.c if_mskreg.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: Mon, 01 Mar 2010 23:39:54 -0000 yongari 2010-03-01 23:39:43 UTC FreeBSD src repository Modified files: sys/dev/msk if_msk.c if_mskreg.h Log: SVN rev 204541 on 2010-03-01 23:39:43Z by yongari Implement rudimentary interrupt moderation with programmable countdown timer register. The timer resolution may vary among controllers but the value would be represented by core clock cycles. msk(4) will automatically computes number of required clock cycles from given micro-seconds unit. The default interrupt holdoff timer value is 100us which will ensure less than 10k interrupts under load. The timer value can be changed with dev.mskc.0.int_holdoff sysctl node. Note, the interrupt moderation is shared resource on dual-port controllers so you can't use separate interrupt moderation value for each port. This means we can't stop interrupt moderation in driver stop routine. Also have msk_tick() reclaim transmitted Tx buffers as safety belt. With this change there is no need to check missing Tx completion interrupt in watchdog handler, so remove it. Revision Changes Path 1.88 +20 -20 src/sys/dev/msk/if_msk.c 1.35 +3 -0 src/sys/dev/msk/if_mskreg.h