diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -639,13 +639,6 @@ * to be cleaned up. */ inp->inp_route.ro_flags = RT_LLE_CACHE; -#ifdef TCPHPTS - /* - * If using hpts lets drop a random number in so - * not all new connections fall on the same CPU. - */ - inp->inp_hpts_cpu = hpts_random_cpu(inp); -#endif refcount_init(&inp->inp_refcount, 1); /* Reference from socket. */ INP_WLOCK(inp); INP_INFO_WLOCK(pcbinfo); diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -2315,6 +2315,13 @@ */ inp->inp_ip_ttl = V_ip_defttl; inp->inp_ppcb = tp; +#ifdef TCPHPTS + /* + * If using hpts lets drop a random number in so + * not all new connections fall on the same CPU. + */ + inp->inp_hpts_cpu = hpts_random_cpu(inp); +#endif #ifdef TCPPCAP /* * Init the TCP PCAP queues.