X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Ftable.h;h=f186600b21cb3cd3d786c862a161a8bc9a1e5f62;hb=31ac1e590b9bb2a2ce7c70cd7c8fd2db0fb8e481;hp=609d9b14bddfea507ce991a39fa9b7dcd29dc417;hpb=e1040c772fbebc3abe9e7222f9c540112c4dca81;p=openvswitch diff --git a/datapath/table.h b/datapath/table.h index 609d9b14..f186600b 100644 --- a/datapath/table.h +++ b/datapath/table.h @@ -34,7 +34,7 @@ struct tbl_node { struct tbl { struct rcu_head rcu; unsigned int n_buckets; - struct tbl_bucket ** __rcu *buckets; + struct tbl_bucket __rcu ***buckets; unsigned int count; void (*obj_destructor)(struct tbl_node *); }; @@ -47,6 +47,9 @@ struct tbl { #define TBL_L1_SIZE (1 << TBL_L1_BITS) #define TBL_L1_SHIFT TBL_L2_BITS +/* For 4 kB pages, this is 1,024 on 32-bit or 512 on 64-bit. */ +#define TBL_MIN_BUCKETS TBL_L2_SIZE + /* For 4 kB pages, this is 1,048,576 on 32-bit or 262,144 on 64-bit. */ #define TBL_MAX_BUCKETS (TBL_L1_SIZE * TBL_L2_SIZE)