DPDK
17.02.1
Main Page
Related Pages
Data Structures
Files
Examples
File List
Globals
lib
librte_eal
common
include
rte_malloc_heap.h
1
/*-
2
* BSD LICENSE
3
*
4
* Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
*
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in
15
* the documentation and/or other materials provided with the
16
* distribution.
17
* * Neither the name of Intel Corporation nor the names of its
18
* contributors may be used to endorse or promote products derived
19
* from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#ifndef _RTE_MALLOC_HEAP_H_
35
#define _RTE_MALLOC_HEAP_H_
36
37
#include <stddef.h>
38
#include <sys/queue.h>
39
#include <
rte_spinlock.h
>
40
#include <
rte_memory.h
>
41
42
/* Number of free lists per heap, grouped by size. */
43
#define RTE_HEAP_NUM_FREELISTS 13
44
48
struct
malloc_heap
{
49
rte_spinlock_t
lock;
50
LIST_HEAD(, malloc_elem) free_head[RTE_HEAP_NUM_FREELISTS];
51
unsigned
alloc_count;
52
size_t
total_size;
53
}
__rte_cache_aligned
;
54
55
#endif
/* _RTE_MALLOC_HEAP_H_ */
Generated by
1.8.1.2