17 b = numa_allocate_cpumask();
25 struct bitmask* bitmask() {
29 bool isBitSet(
unsigned int n) {
30 return numa_bitmask_isbitset(b,n);
34 static NumaCpuBitmask allocate() {
40 NumaCpuBitmask& operator=(
const NumaCpuBitmask& other) {
41 copy_bitmask_to_bitmask(other.b,b);
45 NumaCpuBitmask& operator|=(
const NumaCpuBitmask& bmp) {
47 for (
int i = 0; i < numa_num_configured_cpus(); i++)
53 NumaCpuBitmask(
const NumaCpuBitmask& other ) {
54 NumaCpuBitmask bcp = NumaCpuBitmask::allocate();
55 copy_bitmask_to_bitmask(other.b,bcp.b);
60 numa_bitmask_setbit(b,i);
63 bool get(
int i)
const {
64 return numa_bitmask_isbitset(b, i);
68 char s[numa_num_configured_cpus() + 1];
69 for (
int i = 0; i < numa_num_configured_cpus(); i++) {
75 s[numa_num_configured_cpus()] =
'\0';
76 click_chatter(
"%d : %s",numa_num_configured_cpus(),s);
80 if (numa_num_configured_cpus() > b.
size())
81 b.
resize(numa_num_configured_cpus());
82 for (
int i = 0; i < numa_num_configured_cpus(); i++) {
98 static NumaCpuBitmask all_cpu() {
99 NumaCpuBitmask bcp = NumaCpuBitmask::allocate();
100 copy_bitmask_to_bitmask(numa_all_cpus_ptr,bcp.bitmask());
104 static NumaCpuBitmask node_to_cpus(
int node) {
105 NumaCpuBitmask bcp = NumaCpuBitmask::allocate();
106 numa_node_to_cpus(node,bcp.bitmask());
110 static int get_max_cpus() {
111 return numa_num_configured_cpus();
114 static int get_max_numas() {
115 return numa_num_configured_nodes();
118 static int get_numa_node_of_cpu(
int cpuid) {
119 return numa_node_of_cpu(cpuid);
122 static int get_device_node(
const char* device) {
125 sprintf(path,
"/sys/class/net/%s/device/numa_node", device);
126 int fd = open(path, O_RDONLY);
127 int i = read(fd, path,100);
132 sscanf(path,
"%d",&i);
140 char s[numa_num_configured_cpus() + 1];
141 for (
int i = 0; i < numa_num_configured_cpus(); i++) {
147 s[numa_num_configured_cpus()] =
'\0';
148 click_chatter(
"%d : %s",numa_num_configured_cpus(),s);
Vector of bits.
Definition bitvector.hh:21
void resize(int n)
Resize the bitvector to n bits.
Definition bitvector.cc:70
int size() const
Return the number of bits in the bitvector.
Definition bitvector.hh:192