mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 09:58:01 +00:00
Current numa.h header for sparse re-defines functions in a way
that breaks the header from libnuma 2.0.13+, because the original
issue was fixed in that version:
25dcde021d
Sparse errors as a result:
lib/netdev-afxdp.c: note: in included file (through include/sparse/numa.h):
/usr/include/numa.h:346:26: error: macro "numa_get_interleave_mask_compat"
passed 1 arguments, but takes just 0
/usr/include/numa.h:376:26: error: macro "numa_get_membind_compat"
passed 1 arguments, but takes just 0
/usr/include/numa.h:406:26: error: macro "numa_get_run_node_mask_compat"
passed 1 arguments, but takes just 0
/usr/include/numa.h:347:1: error: Expected ; at end of declaration
/usr/include/numa.h:347:1: error: got {
/usr/include/numa.h:351:9: error: 'tp' has implicit type
It's hard to adjust defines to work with both versions of a header.
Just defining all the functions we actually use in OVS instead and
not including the original header.
Fixes: e8568993e062 ("netdev-afxdp: NUMA-aware memory allocation for XSK related memory.")
Reviewed-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/*
|
|
* Copyright (c) 2019 Nicira, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at:
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#ifndef __CHECKER__
|
|
#error "Use this header only with sparse. It is not a correct implementation."
|
|
#endif
|
|
|
|
#ifndef __NUMA_H_SPARSE
|
|
#define __NUMA_H_SPARSE 1
|
|
|
|
/* Avoid sparse warning "non-ANSI function declaration of function" with
|
|
* libnuma < 2.0.13. */
|
|
|
|
struct bitmask {
|
|
unsigned long size;
|
|
unsigned long *maskp;
|
|
};
|
|
|
|
int numa_available(void);
|
|
struct bitmask *numa_allocate_nodemask(void);
|
|
void numa_bitmask_free(struct bitmask *);
|
|
void numa_set_localalloc(void);
|
|
void numa_set_preferred(int node);
|
|
|
|
#endif /* <numa.h> for sparse. */
|