1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2019 Intel Corporation 3 */ 4 5 #include "rte_stack.h" 6 7 void rte_stack_std_init(struct rte_stack * s)8rte_stack_std_init(struct rte_stack *s) 9 { 10 rte_spinlock_init(&s->stack_std.lock); 11 } 12 13 ssize_t rte_stack_std_get_memsize(unsigned int count)14rte_stack_std_get_memsize(unsigned int count) 15 { 16 ssize_t sz = sizeof(struct rte_stack); 17 18 sz += RTE_CACHE_LINE_ROUNDUP(count * sizeof(void *)); 19 20 /* Add padding to avoid false sharing conflicts caused by 21 * next-line hardware prefetchers. 22 */ 23 sz += 2 * RTE_CACHE_LINE_SIZE; 24 25 return sz; 26 } 27