On Mon, Sep 04, 2006 at 05:44:58PM +0800, Wong Edison wrote: > pageexec report an oops for tcp_lp_owd_calculator(). This is due to > tcp_lp_remote_hz_estimator can return 0. > > This patch fix the handling of lp->flag, so will set lp->flag as FALSE > if rhz <= 0 > > Signed-off-by: Wong Hoi Sing Edison <[EMAIL PROTECTED]> > > --- > > diff -urpN 2.6.18-rc6/tcp_lp.c tcp-lp/tcp_lp.c > --- 2.6.18-rc6/tcp_lp.c 2006-09-04 16:21:00.000000000 +0800 > +++ tcp-lp/tcp_lp.c 2006-09-04 17:22:19.000000000 +0800 > @@ -153,14 +157,17 @@ static u32 tcp_lp_remote_hz_estimator(st > if (m < 0) > m = -m; > > - if (rhz != 0) { > + if (rhz > 0) { > m -= rhz >> 6; /* m is now error in remote HZ est */ > rhz += m; /* 63/64 old + 1/64 new */ > } else > rhz = m << 6; > > /* record time for successful remote HZ calc */ > - lp->flag |= LP_VALID_RHZ; > + if (rhz > 0) > + lp->flag |= LP_VALID_RHZ; > + else > + lp->flag &= ~LP_VALID_RHZ; > > out: > /* record reference time stamp */ > > -- > VGER BF report: U 0.500057
Got bitten by this zerodivide in 2.6.18.* (every few days a panic inside an interrupt handler) and it doesn't seem to be fixed in 2.6.19. -- Frank - 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