Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/cc/cc_cdg.c
Show First 20 Lines • Show All 331 Lines • ▼ Show 20 Lines | |||||
static void | static void | ||||
cdg_cb_destroy(struct cc_var *ccv) | cdg_cb_destroy(struct cc_var *ccv) | ||||
{ | { | ||||
struct cdg *cdg_data; | struct cdg *cdg_data; | ||||
struct qdiff_sample *qds, *qds_n; | struct qdiff_sample *qds, *qds_n; | ||||
cdg_data = ccv->cc_data; | cdg_data = ccv->cc_data; | ||||
if (cdg_data == NULL) | |||||
return; | |||||
qds = STAILQ_FIRST(&cdg_data->qdiffmin_q); | qds = STAILQ_FIRST(&cdg_data->qdiffmin_q); | ||||
while (qds != NULL) { | while (qds != NULL) { | ||||
qds_n = STAILQ_NEXT(qds, qdiff_lnk); | qds_n = STAILQ_NEXT(qds, qdiff_lnk); | ||||
uma_zfree(qdiffsample_zone,qds); | uma_zfree(qdiffsample_zone,qds); | ||||
qds = qds_n; | qds = qds_n; | ||||
} | } | ||||
qds = STAILQ_FIRST(&cdg_data->qdiffmax_q); | qds = STAILQ_FIRST(&cdg_data->qdiffmax_q); | ||||
while (qds != NULL) { | while (qds != NULL) { | ||||
qds_n = STAILQ_NEXT(qds, qdiff_lnk); | qds_n = STAILQ_NEXT(qds, qdiff_lnk); | ||||
uma_zfree(qdiffsample_zone,qds); | uma_zfree(qdiffsample_zone,qds); | ||||
qds = qds_n; | qds = qds_n; | ||||
} | } | ||||
free(ccv->cc_data, M_CDG); | free(ccv->cc_data, M_CDG); | ||||
ccv->cc_data = NULL; | |||||
} | } | ||||
static int | static int | ||||
cdg_beta_handler(SYSCTL_HANDLER_ARGS) | cdg_beta_handler(SYSCTL_HANDLER_ARGS) | ||||
{ | { | ||||
if (req->newptr != NULL && | if (req->newptr != NULL && | ||||
(CAST_PTR_INT(req->newptr) == 0 || CAST_PTR_INT(req->newptr) > 100)) | (CAST_PTR_INT(req->newptr) == 0 || CAST_PTR_INT(req->newptr) > 100)) | ||||
▲ Show 20 Lines • Show All 338 Lines • Show Last 20 Lines |