LCOV - code coverage report
Current view: top level - vnet/util - throttle.c (source / functions) Hit Total Coverage
Test: coverage-filtered.info Lines: 9 9 100.0 %
Date: 2023-07-05 22:20:52 Functions: 1 1 100.0 %

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2018 Cisco and/or its affiliates.
       3             :  * Licensed under the Apache License, Version 2.0 (the "License");
       4             :  * you may not use this file except in compliance with the License.
       5             :  * You may obtain a copy of the License at:
       6             :  *
       7             :  *     http://www.apache.org/licenses/LICENSE-2.0
       8             :  *
       9             :  * Unless required by applicable law or agreed to in writing, software
      10             :  * distributed under the License is distributed on an "AS IS" BASIS,
      11             :  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      12             :  * See the License for the specific language governing permissions and
      13             :  * limitations under the License.
      14             :  */
      15             : 
      16             : #include <vnet/util/throttle.h>
      17             : 
      18             : void
      19        2236 : throttle_init (throttle_t *t, u32 n_threads, u32 buckets, f64 time)
      20             : {
      21             :   u32 i;
      22             : 
      23        2236 :   t->time = time;
      24        2236 :   t->buckets = 1 << max_log2 (buckets);
      25        2236 :   vec_validate (t->bitmaps, n_threads);
      26        2236 :   vec_validate (t->seeds, n_threads);
      27        2236 :   vec_validate (t->last_seed_change_time, n_threads);
      28             : 
      29        4688 :   for (i = 0; i < n_threads; i++)
      30        2452 :     clib_bitmap_alloc (t->bitmaps[i], t->buckets);
      31        2236 : }
      32             : 
      33             : /*
      34             :  * fd.io coding-style-patch-verification: ON
      35             :  *
      36             :  * Local Variables:
      37             :  * eval: (c-set-style "gnu")
      38             :  * End:
      39             :  */

Generated by: LCOV version 1.14