• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/netpfil/ipfw/

Lines Matching defs:si

117 idle_check(struct wf2qp_si *si, int n, int force)
119 struct dn_heap *h = &si->idle_heap;
121 (force || DN_KEY_LT(HEAP_TOP(h)->key, si->V))) {
130 si->wsum -= q->fs->fs.par[0]; /* adjust sum of weights */
131 if (si->wsum > 0)
132 si->inv_wsum = ONE_FP/si->wsum;
140 struct wf2qp_si *si = (struct wf2qp_si *)(_si + 1);
156 alg_fq->S = si->V; /* init start time */
157 si->wsum += fs->fs.par[0]; /* add weight of new queue. */
158 si->inv_wsum = ONE_FP/si->wsum;
160 heap_extract(&si->idle_heap, q);
161 alg_fq->S = MAX64(alg_fq->F, si->V); /* compute new S */
166 if (si->ne_heap.elements == 0 && si->sch_heap.elements == 0)
167 si->V = MAX64(alg_fq->S, si->V);
180 if (DN_KEY_LT(si->V, alg_fq->S)) {
182 if (si->sch_heap.elements == 0)
184 heap_insert(&si->ne_heap, alg_fq->S, q);
186 heap_insert(&si->sch_heap, alg_fq->F, q);
196 struct wf2qp_si *si = (struct wf2qp_si *)(_si + 1);
199 struct dn_heap *sch = &si->sch_heap;
200 struct dn_heap *neh = &si->ne_heap;
207 idle_check(si, 0x7fffffff, 1);
208 si->V = 0;
209 si->wsum = 0; /* should be set already */
212 idle_check(si, 1, 0); /* drain something from the idle heap */
231 si->V = MAX64(si->V, HEAP_TOP(neh)->key);
234 DN_KEY_LEQ(HEAP_TOP(neh)->key, si->V)) {
247 si->V += (uint64_t)(m->m_pkthdr.len) * si->inv_wsum;
250 heap_insert(&si->idle_heap, alg_fq->F, q);
255 if (DN_KEY_LEQ(alg_fq->S, si->V)) {
268 struct wf2qp_si *si = (struct wf2qp_si *)(_si + 1);
272 if (heap_init(&si->idle_heap, 16, ofs) ||
273 heap_init(&si->sch_heap, 16, ofs) ||
274 heap_init(&si->ne_heap, 16, ofs)) {
275 heap_free(&si->ne_heap);
276 heap_free(&si->sch_heap);
277 heap_free(&si->idle_heap);
286 struct wf2qp_si *si = (struct wf2qp_si *)(_si + 1);
288 heap_free(&si->sch_heap);
289 heap_free(&si->ne_heap);
290 heap_free(&si->idle_heap);
328 struct wf2qp_si *si = (struct wf2qp_si *)(q->_si + 1);
332 si->wsum -= q->fs->fs.par[0];
333 if (si->wsum > 0)
334 si->inv_wsum = ONE_FP/si->wsum;
340 heap_extract(&si->idle_heap, q);
341 } else if (DN_KEY_LT(si->V, alg_fq->S)) {
342 heap_extract(&si->ne_heap, q);
344 heap_extract(&si->sch_heap, q);
359 /* we need extra space in the si and the queue */