X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lib%2Fprio_heap%2Flttng_prio_heap.c;h=0b85ddbeb9854371da48ee03eb9f512227687c15;hb=a071f25d89c4ef76ffe7bdfcaeb783bc9cfc1211;hp=6db7f524008c332dfa426f5dbf7c8a5d4b9361b7;hpb=5671a6610b06175832338ed78db486b59bc5246c;p=lttng-modules.git diff --git a/lib/prio_heap/lttng_prio_heap.c b/lib/prio_heap/lttng_prio_heap.c index 6db7f524..0b85ddbe 100644 --- a/lib/prio_heap/lttng_prio_heap.c +++ b/lib/prio_heap/lttng_prio_heap.c @@ -1,31 +1,15 @@ -/* +/* SPDX-License-Identifier: MIT + * * lttng_prio_heap.c * * Priority heap containing pointers. Based on CLRS, chapter 6. * * Copyright 2011 - Mathieu Desnoyers - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. */ #include -#include +#include +#include #ifdef DEBUG_HEAP void lttng_check_heap(const struct lttng_ptr_heap *heap) @@ -70,12 +54,12 @@ int heap_grow(struct lttng_ptr_heap *heap, size_t new_len) return 0; heap->alloc_len = max_t(size_t, new_len, heap->alloc_len << 1); - new_ptrs = kmalloc(heap->alloc_len * sizeof(void *), heap->gfpmask); + new_ptrs = lttng_kvmalloc(heap->alloc_len * sizeof(void *), heap->gfpmask); if (!new_ptrs) return -ENOMEM; if (heap->ptrs) memcpy(new_ptrs, heap->ptrs, heap->len * sizeof(void *)); - kfree(heap->ptrs); + lttng_kvfree(heap->ptrs); heap->ptrs = new_ptrs; return 0; } @@ -109,7 +93,7 @@ int lttng_heap_init(struct lttng_ptr_heap *heap, size_t alloc_len, void lttng_heap_free(struct lttng_ptr_heap *heap) { - kfree(heap->ptrs); + lttng_kvfree(heap->ptrs); } static void heapify(struct lttng_ptr_heap *heap, size_t i)