From owner-freebsd-hackers@FreeBSD.ORG Thu Nov 20 09:59:04 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1122016A4CE for ; Thu, 20 Nov 2003 09:59:04 -0800 (PST) Received: from mail.sandvine.com (sandvine.com [199.243.201.138]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3342843FDF for ; Thu, 20 Nov 2003 09:59:03 -0800 (PST) (envelope-from don@sandvine.com) Received: by mail.sandvine.com with Internet Mail Service (5.5.2657.72) id ; Thu, 20 Nov 2003 12:59:02 -0500 Message-ID: From: Don Bowman To: 'Avleen Vig' , freebsd-hackers@freebsd.org Date: Thu, 20 Nov 2003 12:58:58 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2657.72) Content-Type: text/plain; charset="iso-8859-1" Subject: RE: Device polling, with SMP? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Nov 2003 17:59:04 -0000 From: Avleen Vig [mailto:lists-freebsd@silverwraith.com] > > Has anyone here used DEVICE_POLLING on an SMP box? > I have one server which does recieve ~130kpps at times on an > interface, > but I cannot enable DEVICE_POLLING because hte system locks up under > load from interrupts. > > In this case I'm not sure which is better, disabling one of the CPU's, > or trying to make DECIVE_POLLING work with SMP. > > I read Luigi's paper at info.iet.unipi.it/~luigi/polling/ which at the > end implies that DEVICE_POLLING on an SMP box might not make > sense - but > right now for me it would make sense as both CPU's are locked: > One tries to handle interrupts > The other tries to manage the application > > I could try forcing DEVICE_POLLING to compile as is suggested in that > URL but I wanted to see if anyone had tried this before. > > The interface is an FXP. We use it on em. I just commented out the #error line that says you can't do it. device polling in idle doesn't work, and the user/system time calculation isn't correct, but it works well otherwise. --don