From owner-cvs-src-old@FreeBSD.ORG Sun Jan 9 23:46:39 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 8A91B1065673 for ; Sun, 9 Jan 2011 23:46:39 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 78B8E8FC17 for ; Sun, 9 Jan 2011 23:46:39 +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 p09NkdP3007527 for ; Sun, 9 Jan 2011 23:46:39 GMT (envelope-from jmallett@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p09Nkd3m007526 for cvs-src-old@freebsd.org; Sun, 9 Jan 2011 23:46:39 GMT (envelope-from jmallett@repoman.freebsd.org) Message-Id: <201101092346.p09Nkd3m007526@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to jmallett@repoman.freebsd.org using -f From: Juli Mallett Date: Sun, 9 Jan 2011 23:46:24 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/mips/cavium/octe ethernet-rx.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: Sun, 09 Jan 2011 23:46:39 -0000 jmallett 2011-01-09 23:46:24 UTC FreeBSD src repository Modified files: sys/mips/cavium/octe ethernet-rx.c Log: SVN rev 217212 on 2011-01-09 23:46:24Z by jmallett Now that we correctly enable rx interrupts on all cores, performance has gotten quite awful, because e.g. 4 packets will come in and get processed on 4 different cores at the same time, really battling with the TCP stack quite painfully. For now, just run one task at a time. This gets performance up in most cases to where it was before the correctness fixes that got interrupts to run on all cores (except in high-load TCP transmit cases where all we're handling receive for is ACKs) and in some cases it's better now. What would be ideal would be to use a more advanced interrupt mitigation strategy and possibly to use different workqueue groups per port for multi-port systems, and so on, but this is a fine stopgap. Revision Changes Path 1.4 +22 -1 src/sys/mips/cavium/octe/ethernet-rx.c