introduce SCPerfSyncCounters/SCPerfSyncCounters macro to synchronize counters

remotes/origin/master-1.1.x
Anoop Saldanha 14 years ago committed by Victor Julien
parent f7b1972263
commit d68f182ebd

@ -691,7 +691,7 @@ void *AppLayerDetectProtoThread(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
}

@ -215,7 +215,6 @@ typedef struct SCPerfOPIfaceContext_ {
SCMutex pctmi_lock;
} SCPerfOPIfaceContext;
/* the initialization functions */
void SCPerfInitCounterApi(void);
void SCPerfSpawnThreads(void);
@ -260,4 +259,14 @@ void SCPerfRegisterTests(void);
void SCPerfCounterAddUI64(uint16_t, SCPerfCounterArray *, uint64_t);
void SCPerfCounterAddDouble(uint16_t, SCPerfCounterArray *, double);
#define SCPerfSyncCounters(tv, reset_lc) \
SCPerfUpdateCounterArray((tv)->sc_perf_pca, &(tv)->sc_perf_pctx, (reset_lc)); \
#define SCPerfSyncCountersIfSignalled(tv, reset_lc) \
do { \
if ((tv)->sc_perf_pctx.perf_flag == 1) { \
SCPerfUpdateCounterArray((tv)->sc_perf_pca, &(tv)->sc_perf_pctx, (reset_lc)); \
} \
} while (0)
#endif /* __COUNTERS_H__ */

@ -367,7 +367,7 @@ void *SCCudaPBTmThreadsSlot1(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
}

@ -219,7 +219,7 @@ void *FlowManagerThread(void *td)
}
if (TmThreadsCheckFlag(th_v, THV_KILL)) {
SCPerfUpdateCounterArray(th_v->sc_perf_pca, &th_v->sc_perf_pctx, 0);
SCPerfSyncCounters(th_v, 0);
break;
}

@ -390,10 +390,7 @@ TmEcode ReceiveAFPLoop(ThreadVars *tv, void *data, void *slot)
ptv->afp_state = AFP_STATE_DOWN;
continue;
}
if (tv->sc_perf_pctx.perf_flag == 1) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
}
SCPerfSyncCountersIfSignalled(tv, 0);
}
if (suricata_ctl_flags & SURICATA_STOP ||

@ -183,9 +183,7 @@ TmEcode ReceivePcapFileLoop(ThreadVars *tv, void *data, void *slot) {
EngineStop();
break;
}
if (tv->sc_perf_pctx.perf_flag == 1) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
}
SCPerfSyncCountersIfSignalled(tv, 0);
}
SCReturnInt(TM_ECODE_OK);

@ -264,10 +264,7 @@ TmEcode ReceivePcapLoop(ThreadVars *tv, void *data, void *slot)
break;
}
}
if (tv->sc_perf_pctx.perf_flag == 1) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
}
SCPerfSyncCountersIfSignalled(tv, 0);
}
SCReturnInt(TM_ECODE_OK);

@ -249,10 +249,7 @@ TmEcode ReceivePfringLoop(ThreadVars *tv, void *data, void *slot)
TmqhOutputPacketpool(ptv->tv, p);
return TM_ECODE_FAILED;
}
if (tv->sc_perf_pctx.perf_flag == 1) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
}
SCPerfSyncCountersIfSignalled(tv, 0);
}
return TM_ECODE_OK;

@ -172,7 +172,7 @@ void *TmThreadsSlot1NoIn(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
} /* while (run) */
@ -244,7 +244,7 @@ void *TmThreadsSlot1NoOut(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
} /* while (run) */
@ -311,7 +311,7 @@ void *TmThreadsSlot1NoInOut(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
} /* while (run) */
@ -413,7 +413,7 @@ void *TmThreadsSlot1(void *td)
}
if (TmThreadsCheckFlag(tv, THV_KILL)) {
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
run = 0;
}
} /* while (run) */
@ -571,7 +571,7 @@ void *TmThreadsSlotPktAcqLoop(void *td) {
run = 0;
}
}
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
TmThreadWaitForFlag(tv, THV_DEINIT);
@ -693,7 +693,7 @@ void *TmThreadsSlotVar(void *td)
run = 0;
}
} /* while (run) */
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCounters(tv, 0);
TmThreadWaitForFlag(tv, THV_DEINIT);

@ -73,8 +73,7 @@ Packet *TmqhInputFlow(ThreadVars *tv)
SCCondWait(&q->cond_q, &q->mutex_q);
}
if (tv->sc_perf_pctx.perf_flag == 1)
SCPerfUpdateCounterArray(tv->sc_perf_pca, &tv->sc_perf_pctx, 0);
SCPerfSyncCountersIfSignalled(tv, 0);
if (q->len > 0) {
Packet *p = PacketDequeue(q);

@ -94,8 +94,7 @@ Packet *TmqhInputRingBufferMrSw(ThreadVars *t)
Packet *p = (Packet *)RingBufferMrSw8Get(rb);
if (t->sc_perf_pctx.perf_flag == 1)
SCPerfUpdateCounterArray(t->sc_perf_pca, &t->sc_perf_pctx, 0);
SCPerfSyncCountersIfSignalled(t, 0);
return p;
}
@ -112,8 +111,7 @@ Packet *TmqhInputRingBufferSrSw(ThreadVars *t)
Packet *p = (Packet *)RingBufferSrSw8Get(rb);
if (t->sc_perf_pctx.perf_flag == 1)
SCPerfUpdateCounterArray(t->sc_perf_pca, &t->sc_perf_pctx, 0);
SCPerfSyncCountersIfSignalled(t, 0);
return p;
}
@ -130,8 +128,7 @@ Packet *TmqhInputRingBufferSrMw(ThreadVars *t)
Packet *p = (Packet *)RingBufferSrMw8Get(rb);
if (t->sc_perf_pctx.perf_flag == 1)
SCPerfUpdateCounterArray(t->sc_perf_pca, &t->sc_perf_pctx, 0);
SCPerfSyncCountersIfSignalled(t, 0);
return p;
}

@ -53,8 +53,7 @@ Packet *TmqhInputSimple(ThreadVars *t)
SCCondWait(&q->cond_q, &q->mutex_q);
}
if (t->sc_perf_pctx.perf_flag == 1)
SCPerfUpdateCounterArray(t->sc_perf_pca, &t->sc_perf_pctx, 0);
SCPerfSyncCountersIfSignalled(t, 0);
if (q->len > 0) {
Packet *p = PacketDequeue(q);

Loading…
Cancel
Save