Hi Gustavo, Thank you for the patch! Yet something to improve:
[auto build test ERROR on net/master] [also build test ERROR on v4.15 next-20180202] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Gustavo-A-R-Silva/tcp_lp-use-64-bit-arithmetic-instead-of-32-bit/20180202-135349 config: i386-randconfig-i0-201804 (attached as .config) compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): net/ipv4/tcp_lp.o: In function `tcp_lp_remote_hz_estimator': >> net/ipv4/tcp_lp.c:150: undefined reference to `__divdi3' vim +150 net/ipv4/tcp_lp.c 125 126 /** 127 * tcp_lp_remote_hz_estimator 128 * 129 * Estimate remote HZ. 130 * We keep on updating the estimated value, where original TCP-LP 131 * implementation only guest it for once and use forever. 132 */ 133 static u32 tcp_lp_remote_hz_estimator(struct sock *sk) 134 { 135 struct tcp_sock *tp = tcp_sk(sk); 136 struct lp *lp = inet_csk_ca(sk); 137 s64 rhz = (s64)lp->remote_hz << 6; /* remote HZ << 6 */ 138 s64 m = 0; 139 140 /* not yet record reference time 141 * go away!! record it before come back!! */ 142 if (lp->remote_ref_time == 0 || lp->local_ref_time == 0) 143 goto out; 144 145 /* we can't calc remote HZ with no different!! */ 146 if (tp->rx_opt.rcv_tsval == lp->remote_ref_time || 147 tp->rx_opt.rcv_tsecr == lp->local_ref_time) 148 goto out; 149 > 150 m = (s64)TCP_TS_HZ * 151 (tp->rx_opt.rcv_tsval - lp->remote_ref_time) / 152 (tp->rx_opt.rcv_tsecr - lp->local_ref_time); 153 if (m < 0) 154 m = -m; 155 156 if (rhz > 0) { 157 m -= rhz >> 6; /* m is now error in remote HZ est */ 158 rhz += m; /* 63/64 old + 1/64 new */ 159 } else 160 rhz = m << 6; 161 162 out: 163 /* record time for successful remote HZ calc */ 164 if ((rhz >> 6) > 0) 165 lp->flag |= LP_VALID_RHZ; 166 else 167 lp->flag &= ~LP_VALID_RHZ; 168 169 /* record reference time stamp */ 170 lp->remote_ref_time = tp->rx_opt.rcv_tsval; 171 lp->local_ref_time = tp->rx_opt.rcv_tsecr; 172 173 return rhz >> 6; 174 } 175 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip