[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20071221143707.fbb0ae60.billfink@mindspring.com>
Date: Fri, 21 Dec 2007 14:37:07 -0500
From: Bill Fink <billfink@...dspring.com>
To: "Ilpo =?ISO-8859-1?Q?J=E4rvinen" ?= <ilpo.jarvinen@...sinki.fi>
Cc: David Miller <davem@...emloft.net>,
Herbert Xu <herbert@...dor.apana.org.au>,
Netdev <netdev@...r.kernel.org>, John Heffner <jheffner@....edu>
Subject: Re: TSO trimming question
On Fri, 21 Dec 2007, Ilpo Järvinen wrote:
> On Fri, 21 Dec 2007, Bill Fink wrote:
>
> > On Fri, 21 Dec 2007, Bill Fink wrote:
> >
> > > Or perhaps even:
> > >
> > > /* Ok, it looks like it is advisable to defer. */
> > > tp->tso_deferred = jiffies;
> > >
> > > /* need to return a non-zero value to defer, which means won't
> > > * defer if jiffies == 0 but it's only a 1 in 4 billion event
> > > * (and avoids a compare/branch by not checking jiffies)
> > > /
> > > return jiffies;
> >
> > Ack. I introduced my own 64-bit to 32-bit issue (too late at night).
> > How about:
> >
> > /* Ok, it looks like it is advisable to defer. */
> > tp->tso_deferred = jiffies;
> >
> > /* this won't defer if jiffies == 0 but it's only a 1 in
> > * 4 billion event (and avoids a branch)
> > */
> > return (jiffies != 0);
>
> I'm not sure how the jiffies work but is this racy as well?
>
> Simple return tp->tso_deferred; should work, shouldn't it? :-)
As long as tp->tso_deferred remains u32, pending the other issue.
-Bill
--
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