summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/contrib/altq/altq/altq_hfsc.c12
-rw-r--r--sys/contrib/altq/altq/altq_priq.c10
-rw-r--r--sys/contrib/altq/altq/altq_rmclass.c8
3 files changed, 11 insertions, 19 deletions
diff --git a/sys/contrib/altq/altq/altq_hfsc.c b/sys/contrib/altq/altq/altq_hfsc.c
index 9c91c43..bced145 100644
--- a/sys/contrib/altq/altq/altq_hfsc.c
+++ b/sys/contrib/altq/altq/altq_hfsc.c
@@ -400,15 +400,13 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc,
}
#endif
- cl = malloc(sizeof(struct hfsc_class), M_DEVBUF, M_WAITOK);
+ cl = malloc(sizeof(struct hfsc_class), M_DEVBUF, M_NOWAIT | M_ZERO);
if (cl == NULL)
return (NULL);
- bzero(cl, sizeof(struct hfsc_class));
- cl->cl_q = malloc(sizeof(class_queue_t), M_DEVBUF, M_WAITOK);
+ cl->cl_q = malloc(sizeof(class_queue_t), M_DEVBUF, M_NOWAIT | M_ZERO);
if (cl->cl_q == NULL)
goto err_ret;
- bzero(cl->cl_q, sizeof(class_queue_t));
cl->cl_actc = actlist_alloc();
if (cl->cl_actc == NULL)
@@ -466,7 +464,7 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc,
if (rsc != NULL && (rsc->m1 != 0 || rsc->m2 != 0)) {
cl->cl_rsc = malloc(sizeof(struct internal_sc),
- M_DEVBUF, M_WAITOK);
+ M_DEVBUF, M_NOWAIT);
if (cl->cl_rsc == NULL)
goto err_ret;
sc2isc(rsc, cl->cl_rsc);
@@ -475,7 +473,7 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc,
}
if (fsc != NULL && (fsc->m1 != 0 || fsc->m2 != 0)) {
cl->cl_fsc = malloc(sizeof(struct internal_sc),
- M_DEVBUF, M_WAITOK);
+ M_DEVBUF, M_NOWAIT);
if (cl->cl_fsc == NULL)
goto err_ret;
sc2isc(fsc, cl->cl_fsc);
@@ -483,7 +481,7 @@ hfsc_class_create(struct hfsc_if *hif, struct service_curve *rsc,
}
if (usc != NULL && (usc->m1 != 0 || usc->m2 != 0)) {
cl->cl_usc = malloc(sizeof(struct internal_sc),
- M_DEVBUF, M_WAITOK);
+ M_DEVBUF, M_NOWAIT);
if (cl->cl_usc == NULL)
goto err_ret;
sc2isc(usc, cl->cl_usc);
diff --git a/sys/contrib/altq/altq/altq_priq.c b/sys/contrib/altq/altq/altq_priq.c
index 0ec6534..0dde938 100644
--- a/sys/contrib/altq/altq/altq_priq.c
+++ b/sys/contrib/altq/altq/altq_priq.c
@@ -316,17 +316,15 @@ priq_class_create(struct priq_if *pif, int pri, int qlimit, int flags, int qid)
red_destroy(cl->cl_red);
#endif
} else {
- cl = malloc(sizeof(struct priq_class),
- M_DEVBUF, M_WAITOK);
+ cl = malloc(sizeof(struct priq_class), M_DEVBUF,
+ M_NOWAIT | M_ZERO);
if (cl == NULL)
return (NULL);
- bzero(cl, sizeof(struct priq_class));
- cl->cl_q = malloc(sizeof(class_queue_t),
- M_DEVBUF, M_WAITOK);
+ cl->cl_q = malloc(sizeof(class_queue_t), M_DEVBUF,
+ M_NOWAIT | M_ZERO);
if (cl->cl_q == NULL)
goto err_ret;
- bzero(cl->cl_q, sizeof(class_queue_t));
}
pif->pif_classes[pri] = cl;
diff --git a/sys/contrib/altq/altq/altq_rmclass.c b/sys/contrib/altq/altq/altq_rmclass.c
index 79fc68b..fec54ce 100644
--- a/sys/contrib/altq/altq/altq_rmclass.c
+++ b/sys/contrib/altq/altq/altq_rmclass.c
@@ -218,19 +218,15 @@ rmc_newclass(int pri, struct rm_ifdat *ifd, u_int nsecPerByte,
}
#endif
- cl = malloc(sizeof(struct rm_class),
- M_DEVBUF, M_WAITOK);
+ cl = malloc(sizeof(struct rm_class), M_DEVBUF, M_NOWAIT | M_ZERO);
if (cl == NULL)
return (NULL);
- bzero(cl, sizeof(struct rm_class));
CALLOUT_INIT(&cl->callout_);
- cl->q_ = malloc(sizeof(class_queue_t),
- M_DEVBUF, M_WAITOK);
+ cl->q_ = malloc(sizeof(class_queue_t), M_DEVBUF, M_NOWAIT | M_ZERO);
if (cl->q_ == NULL) {
free(cl, M_DEVBUF);
return (NULL);
}
- bzero(cl->q_, sizeof(class_queue_t));
/*
* Class initialization.
OpenPOWER on IntegriCloud