From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH -mm 5/9] netconsole: Introduce dev_status member Date: Thu, 5 Jul 2007 08:17:03 -0700 Message-ID: <20070705081703.7bcc28bc@oldman> References: <20070704110739.28520.5036.sendpatchset@cselinux1.cse.iitk.ac.in> <20070704110804.28520.25792.sendpatchset@cselinux1.cse.iitk.ac.in> <20070704135642.GB11115@waste.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Satyam Sharma , Linux Kernel Mailing List , Keiichi Kii , Netdev , Joel Becker , Andrew Morton , David Miller To: Matt Mackall Return-path: Received: from smtp2.linux-foundation.org ([207.189.120.14]:36730 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757211AbXGEPSq (ORCPT ); Thu, 5 Jul 2007 11:18:46 -0400 In-Reply-To: <20070704135642.GB11115@waste.org> Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Wed, 4 Jul 2007 08:56:42 -0500 Matt Mackall wrote: > On Wed, Jul 04, 2007 at 04:38:04PM +0530, Satyam Sharma wrote: > > From: Satyam Sharma > > > > [5/9] netconsole: Introduce dev_status member > > > > Introduce a new member in netconsole_target that tracks the status (up or > > down) of the underlying interface network device that the specific logging > > target netpoll is attached to. > > > > We then join this up with the just-introduced net_device notifier, and > > introduce NETDEV_UP and NETDEV_DOWN notifications. By disabling the target > > when the corresponding local interface is down, we save the overhead of > > unnecessarily disabling interrupts and calling into the netpoll stack in > > console->write(). > > Yuck. > > > +/* > > + * Why no net_dev_is_up() in netdevice.h? The kernel could lose a lot of > > + * weight if only netdevice.h had the good sense to export such a function. > > + * Oh well ... > > + */ > > +static inline int net_dev_is_up(struct net_device *net_dev) > > +{ > > + return ((net_dev->flags & IFF_UP) == IFF_UP); > > +} > > Why editorialize? Why not just add this to netdevice.h? > > > + if (nt->dev_status) { > > Why not simply call net_dev_is_up? The flags field values are really BSD legacy-ish stuff and should not be used internally. IFF_UP etc, do not have the necessary atomic properties. Use netif_running() instead.