MCPcopy Create free account
hub / github.com/F-Stack/f-stack / netisr_queue_internal

Function netisr_queue_internal

freebsd/net/netisr.c:1028–1052  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1026}
1027
1028static int
1029netisr_queue_internal(u_int proto, struct mbuf *m, u_int cpuid)
1030{
1031 struct netisr_workstream *nwsp;
1032 struct netisr_work *npwp;
1033 int dosignal, error;
1034
1035#ifdef NETISR_LOCKING
1036 NETISR_LOCK_ASSERT();
1037#endif
1038 KASSERT(cpuid <= mp_maxid, ("%s: cpuid too big (%u, %u)", __func__,
1039 cpuid, mp_maxid));
1040 KASSERT(!CPU_ABSENT(cpuid), ("%s: CPU %u absent", __func__, cpuid));
1041
1042 dosignal = 0;
1043 error = 0;
1044 nwsp = DPCPU_ID_PTR(cpuid, nws);
1045 npwp = &nwsp->nws_work[proto];
1046 NWS_LOCK(nwsp);
1047 error = netisr_queue_workstream(nwsp, proto, npwp, m, &dosignal);
1048 NWS_UNLOCK(nwsp);
1049 if (dosignal)
1050 NWS_SIGNAL(nwsp);
1051 return (error);
1052}
1053
1054int
1055netisr_queue_src(u_int proto, uintptr_t source, struct mbuf *m)

Callers 2

netisr_queue_srcFunction · 0.85
netisr_dispatch_srcFunction · 0.85

Calls 1

netisr_queue_workstreamFunction · 0.85

Tested by

no test coverage detected