[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1302734679.2873.23.camel@bwh-desktop>
Date: Wed, 13 Apr 2011 23:44:39 +0100
From: Ben Hutchings <bhutchings@...arflare.com>
To: "Allan, Bruce W" <bruce.w.allan@...el.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: RE: [net-next-2.6 RFC PATCH v2 01/13] ethtool: allow custom
interval for physical identification
On Wed, 2011-04-13 at 15:39 -0700, Allan, Bruce W wrote:
>
> >-----Original Message-----
> >From: Ben Hutchings [mailto:bhutchings@...arflare.com]
> >Sent: Wednesday, April 13, 2011 1:25 PM
> >To: Allan, Bruce W
> >Cc: netdev@...r.kernel.org
> >Subject: Re: [net-next-2.6 RFC PATCH v2 01/13] ethtool: allow custom interval
> >for physical identification
> >
> >I'm sure there ought to be a clearer way to do this, and to avoid any
> >weird effects from integer overflow in the multiplication. How about
> >using an inner loop for each second:
> >
> > /* Driver expects to be called at twice the frequency in rc */
> > int n = rc * 2, i, interval = HZ / n;
> >
/* Count down seconds */
> > do {
/* Count down iterations per second */
> > i = n;
> > do {
> > rtnl_lock();
> > rc = dev->ethtool_ops->set_phys_id(
> > dev, (i & 1) ? ETHTOOL_ID_OFF : ETHTOOL_ID_ON);
> > rtnl_unlock();
> > if (rc)
> > break;
> > schedule_timeout_interruptible(interval);
> > } while (!signal_pending(current) && --i != 0);
> > } while (!signal_pending(current) &&
> > (id.data == 0 || --id.data != 0));
> >
> >Ben.
>
> OK, if that is clearer to you...v3 forthcoming.
I guess it wouldn't hurt to add comemnts too. Would you agree that it's
clear with the additions above?
Ben.
--
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists