From: Sepherosa Ziehau Date: Thu, 3 Aug 2017 09:19:11 +0000 (+0800) Subject: inpcb: Simplify inpcb marker interface X-Git-Tag: v5.1.0~287 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/729f22bcba8f511a14b48e022d4be7151a2dd23a inpcb: Simplify inpcb marker interface --- diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 3f8a81f894..77939a37ae 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1232,7 +1232,7 @@ in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr, int err, KASSERT(&curthread->td_msgport == netisr_cpuport(pcbinfo->cpu), ("not in the correct netisr")); - marker = &in_pcbmarkers[mycpuid]; + marker = in_pcbmarker(); /* * NOTE: @@ -1292,7 +1292,7 @@ in_pcbpurgeif0(struct inpcbinfo *pcbinfo, struct ifnet *ifp) * even if the token was released due to the blocking multicast * address deletion. */ - marker = &in_pcbmarkers[mycpuid]; + marker = in_pcbmarker(); GET_PCBINFO_TOKEN(pcbinfo); @@ -2384,23 +2384,19 @@ in_pcbglobalinit(void) } struct inpcb * -in_pcbmarker(int cpuid) +in_pcbmarker(void) { - KASSERT(cpuid >= 0 && cpuid < netisr_ncpus, - ("invalid cpuid %d", cpuid)); - KASSERT(curthread->td_type == TD_TYPE_NETISR, ("not in netisr")); - return &in_pcbmarkers[cpuid]; + ASSERT_NETISR_NCPUS(curthread, mycpuid); + return &in_pcbmarkers[mycpuid]; } struct inpcontainer * -in_pcbcontainer_marker(int cpuid) +in_pcbcontainer_marker(void) { - KASSERT(cpuid >= 0 && cpuid < netisr_ncpus, - ("invalid cpuid %d", cpuid)); - KASSERT(curthread->td_type == TD_TYPE_NETISR, ("not in netisr")); - return &in_pcbcontainer_markers[cpuid]; + ASSERT_NETISR_NCPUS(curthread, mycpuid); + return &in_pcbcontainer_markers[mycpuid]; } void diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h index 8e5576bc9b..67bdd6c97d 100644 --- a/sys/netinet/in_pcb.h +++ b/sys/netinet/in_pcb.h @@ -548,9 +548,9 @@ int in_pcblist_range(SYSCTL_HANDLER_ARGS); int in_pcblist_ncpus(SYSCTL_HANDLER_ARGS); struct inpcb * - in_pcbmarker(int cpuid); + in_pcbmarker(void); struct inpcontainer * - in_pcbcontainer_marker(int cpuid); + in_pcbcontainer_marker(void); #endif /* _KERNEL */ diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index fe0e700dc9..44401ddeb9 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -552,7 +552,7 @@ udp_input(struct mbuf **mp, int *offp, int proto) ichead = &pcbinfo->wildcardhashbase[ INP_PCBWILDCARDHASH(uh->uh_dport, pcbinfo->wildcardhashmask)]; - ic_marker = in_pcbcontainer_marker(mycpuid); + ic_marker = in_pcbcontainer_marker(); GET_PCBINFO_TOKEN(pcbinfo); LIST_INSERT_HEAD(ichead, ic_marker, ic_list); diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 76131dfd7c..05e1502060 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -571,7 +571,7 @@ in6_pcbnotify(struct inpcbinfo *pcbinfo, struct sockaddr *dst, in_port_t fport, if (cmd != PRC_MSGSIZE) arg = inet6ctlerrmap[cmd]; - marker = in_pcbmarker(mycpuid); + marker = in_pcbmarker(); GET_PCBINFO_TOKEN(pcbinfo); @@ -732,7 +732,7 @@ in6_pcbpurgeif0(struct inpcbinfo *pcbinfo, struct ifnet *ifp) * even if the token was released due to the blocking multicast * address deletion. */ - marker = in_pcbmarker(mycpuid); + marker = in_pcbmarker(); GET_PCBINFO_TOKEN(pcbinfo); diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index 95d219e845..2d495c7174 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -231,7 +231,7 @@ udp6_input(struct mbuf **mp, int *offp, int proto) */ last = NULL; - marker = in_pcbmarker(mycpuid); + marker = in_pcbmarker(); GET_PCBINFO_TOKEN(pcbinfo);