On Mon, Dec 12, 2005 at 02:04:18PM +0100, Benoit Boissinot wrote:
> On Sun, Dec 11, 2005 at 08:35:08PM -0800, David S. Miller wrote:
> > From: Andrew Morton <[EMAIL PROTECTED]>
> > Date: Sun, 11 Dec 2005 18:39:32 -0800
> > 
> > > Odd net behaviour with Dave's net-2.6.16 tree.
> >  ...
> > > - i cannot login with xdm, as soon as i login, the X server restarts.
> > >   Login with startx works (.xinitrc is a symlink to .xsession)
> > >   It works fine with 2.6.15-rc5-mm1.
> > >   If you need any log please ask.
> > > 
> > > - there is a warning when pinging an inexistent ip
> > >   (it works fine with 2.6.15-rc5-mm1 too)
> > [snip]
> > diff --git a/include/net/sock.h b/include/net/sock.h
> > index 982b4ec..6036340 100644
> > --- a/include/net/sock.h
> > +++ b/include/net/sock.h
> > @@ -1166,8 +1166,11 @@ static inline int sock_queue_err_skb(str
> >   
> >  static inline int sock_error(struct sock *sk)
> >  {
> > -   int err = xchg(&sk->sk_err, 0);
> > -   return -err;
> > +   int err;
> > +   if (likely(!sk->sk_err))
> > +           return 0;
> > +   err = xchg(&sk->sk_err, 0);
> > +   return unlikely(-err);
> the 'return unlikely(-err)' isn't in gitweb
> (http://kernel.org/git/?p=linux/kernel/git/davem/net-2.6.16.git;a=commit;h=eaa9fba6511857dd2dc6f7f99a4564148c238081)
> changing it to 'return -err' makes ping and xdm happy again.
> (i don't understand how the unlikely can make a performance difference).
> 
> Anyway, since i'm using gcc-4 (tested with 4.0.2 and 4.1-beta) maybe it
> is a gcc bug.  I'm currently rebuilding my kernel with gcc-3.4.

The bug appears with gcc-3.4 too.

thanks,

Benoit

-- 
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to