Lines Matching defs:nwsp

702 	struct netisr_workstream *nwsp;
712 nwsp = DPCPU_ID_PTR(i, nws);
713 if (nwsp->nws_intr_event == NULL)
715 npwp = &nwsp->nws_work[proto];
716 NWS_LOCK(nwsp);
750 NWS_UNLOCK(nwsp);
883 netisr_process_workstream_proto(struct netisr_workstream *nwsp, u_int proto)
890 NWS_LOCK_ASSERT(nwsp);
892 KASSERT(nwsp->nws_flags & NWS_RUNNING,
897 npwp = &nwsp->nws_work[proto];
913 nwsp->nws_pendingbits &= ~(1 << proto);
914 NWS_UNLOCK(nwsp);
932 netisr_proto[proto].np_drainedcpu(nwsp->nws_cpu);
933 NWS_LOCK(nwsp);
950 struct netisr_workstream *nwsp;
953 nwsp = arg;
963 NWS_LOCK(nwsp);
964 KASSERT(!(nwsp->nws_flags & NWS_RUNNING), ("swi_net: running"));
965 if (nwsp->nws_flags & NWS_DISPATCHING)
967 nwsp->nws_flags |= NWS_RUNNING;
968 nwsp->nws_flags &= ~NWS_SCHEDULED;
969 while ((bits = nwsp->nws_pendingbits) != 0) {
973 (void)netisr_process_workstream_proto(nwsp, prot);
976 nwsp->nws_flags &= ~NWS_RUNNING;
978 NWS_UNLOCK(nwsp);
988 netisr_queue_workstream(struct netisr_workstream *nwsp, u_int proto,
992 NWS_LOCK_ASSERT(nwsp);
1013 nwsp->nws_pendingbits |= (1 << proto);
1014 if (!(nwsp->nws_flags &
1016 nwsp->nws_flags |= NWS_SCHEDULED;
1031 struct netisr_workstream *nwsp;
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);
1050 NWS_SIGNAL(nwsp);
1112 struct netisr_workstream *nwsp;
1147 nwsp = DPCPU_PTR(nws);
1148 npwp = &nwsp->nws_work[proto];
1174 nwsp = DPCPU_PTR(nws);
1175 npwp = &nwsp->nws_work[proto];
1184 NWS_LOCK(nwsp);
1185 if (nwsp->nws_flags & (NWS_RUNNING | NWS_DISPATCHING | NWS_SCHEDULED)) {
1186 error = netisr_queue_workstream(nwsp, proto, npwp, m,
1188 NWS_UNLOCK(nwsp);
1190 NWS_SIGNAL(nwsp);
1200 nwsp->nws_flags |= NWS_DISPATCHING;
1201 NWS_UNLOCK(nwsp);
1203 NWS_LOCK(nwsp);
1204 nwsp->nws_flags &= ~NWS_DISPATCHING;
1216 if (nwsp->nws_pendingbits != 0) {
1217 nwsp->nws_flags |= NWS_SCHEDULED;
1221 NWS_UNLOCK(nwsp);
1223 NWS_SIGNAL(nwsp);
1254 struct netisr_workstream *nwsp;
1256 nwsp = DPCPU_ID_PTR(nws_array[0], nws);
1257 NWS_SIGNAL(nwsp);
1265 struct netisr_workstream *nwsp;
1270 nwsp = DPCPU_ID_PTR(cpuid, nws);
1271 mtx_init(&nwsp->nws_mtx, "netisr_mtx", NULL, MTX_DEF);
1272 nwsp->nws_cpu = cpuid;
1274 error = swi_add(&nwsp->nws_intr_event, swiname, swi_net, nwsp,
1275 SWI_NET, INTR_TYPE_NET | INTR_MPSAFE, &nwsp->nws_swi_cookie);
1278 pc->pc_netisr = nwsp->nws_intr_event;
1280 error = intr_event_bind(nwsp->nws_intr_event, cpuid);
1286 nws_array[nws_count] = nwsp->nws_cpu;
1426 struct netisr_workstream *nwsp;
1437 nwsp = DPCPU_ID_PTR(cpuid, nws);
1438 if (nwsp->nws_intr_event == NULL)
1440 NWS_LOCK(nwsp);
1451 if (nwsp->nws_intr_event != NULL)
1453 NWS_UNLOCK(nwsp);
1478 struct netisr_workstream *nwsp;
1491 nwsp = DPCPU_ID_PTR(cpuid, nws);
1492 if (nwsp->nws_intr_event == NULL)
1494 NWS_LOCK(nwsp);
1499 nwp = &nwsp->nws_work[proto];
1514 NWS_UNLOCK(nwsp);
1532 struct netisr_workstream *nwsp;
1540 nwsp = DPCPU_ID_PTR(cpuid, nws);
1541 if (nwsp->nws_intr_event == NULL)
1547 nwp = &nwsp->nws_work[proto];