From owner-freebsd-net@FreeBSD.ORG Mon Jul 26 15:35:56 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5A50116A4CF for ; Mon, 26 Jul 2004 15:35:56 +0000 (GMT) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id D914343D46 for ; Mon, 26 Jul 2004 15:35:54 +0000 (GMT) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2657.72) id ; Mon, 26 Jul 2004 11:35:36 -0400 Message-ID: From: Don Bowman To: 'James' , Don Bowman Date: Mon, 26 Jul 2004 11:35:33 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" cc: freebsd-net@freebsd.org Subject: RE: device polling takes more CPU hits?? X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jul 2004 15:35:56 -0000 From: James [mailto:haesu@towardex.com] > Hi Don, > root@r2.bos# sysctl kern.clockrate > kern.clockrate: { hz = 4000, tick = 250, tickadj = 1, profhz > = 1024, stathz = 128 } That's a pretty high HZ, here's what i have: kern.clockrate: { hz = 2500, tick = 400, tickadj = 1, profhz = 1024, stathz = 128 } I have the same box spec as you, only with em (bge doesn't support polling, but it has its own interrupt coalescer that works... you can tune that in the if_bge.h I think, there's some comments). I'm doing ~800Kpps with polling. My polling params are below. > > root@r2.bos# sysctl kern.polling > kern.polling.burst: 150 > kern.polling.each_burst: 5 > kern.polling.burst_max: 150 > kern.polling.idle_poll: 1 > kern.polling.poll_in_trap: 1 > kern.polling.user_frac: 50 > kern.polling.reg_frac: 20 > kern.polling.short_ticks: 4909 > kern.polling.lost_polls: 11464 > kern.polling.pending_polls: 0 > kern.polling.residual_burst: 0 > kern.polling.handlers: 1 > kern.polling.enable: 1 > kern.polling.phase: 0 > kern.polling.suspect: 10249 > kern.polling.stalled: 3 > > root@r2.bos# sysctl machdep.cpu_idle_hlt > machdep.cpu_idle_hlt: 1 > kern.polling.burst: 1000 kern.polling.each_burst: 80 kern.polling.burst_max: 1000 kern.polling.idle_poll: 1 kern.polling.poll_in_trap: 0 kern.polling.user_frac: 5 kern.polling.reg_frac: 120 kern.polling.short_ticks: 29 kern.polling.lost_polls: 55004 kern.polling.pending_polls: 0 kern.polling.residual_burst: 0 kern.polling.handlers: 4 kern.polling.enable: 1 kern.polling.phase: 0 kern.polling.suspect: 50690 kern.polling.stalled: 25