From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Dillow Subject: Re: [PATCH] r8169: Reduce looping in the interrupt handler. Date: Wed, 26 Aug 2009 09:59:35 -0400 Message-ID: <1251295175.14241.11.camel@obelisk.thedillows.org> References: <1250895567.23419.1.camel@obelisk.thedillows.org> <1250897657.23419.5.camel@obelisk.thedillows.org> <1250973787.3582.14.camel@obelisk.thedillows.org> <1251169150.4023.11.camel@obelisk.thedillows.org> <1251232848.9607.15.camel@lap75545.ornl.gov> <20090825221903.GA13630@electric-eye.fr.zoreil.com> <1251294974.14241.9.camel@obelisk.thedillows.org> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Francois Romieu , Michael Riepe , Michael Buesch , Rui Santos , Michael B??ker , linux-kernel@vger.kernel.org, netdev@vger.kernel.org To: "Eric W. Biederman" Return-path: Received: from smtp.knology.net ([24.214.63.101]:38434 "EHLO smtp.knology.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757409AbZHZN7h (ORCPT ); Wed, 26 Aug 2009 09:59:37 -0400 In-Reply-To: <1251294974.14241.9.camel@obelisk.thedillows.org> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, 2009-08-26 at 09:56 -0400, David Dillow wrote: > On Wed, 2009-08-26 at 00:58 -0700, Eric W. Biederman wrote: > > diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c > > index 3b19e0c..2214945 100644 > > --- a/drivers/net/r8169.c > > +++ b/drivers/net/r8169.c > > > + > > + /* Ignore the parts of status that reflect more than > > + * the enabled interrupts. > > + */ > > + smp_rmb(); > > + if (!(status & tp->intr_mask & tp->intr_event)) > > + break; > > } > > This looks like an odd construct, since we're just about to go back the > while condition up top -- why not just mask it here and let the loop > handle it naturally? Never mind, I see what you are doing -- avoiding a false loop if we get status == 0xffff. I still don't like the aesthetics of it, but it makes sense, and I'll blame it on the card. :) I should really get some caffeine before posting...