X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=datapath%2Ftable.h;h=f186600b21cb3cd3d786c862a161a8bc9a1e5f62;hb=d650378e743b93ab070ffde978a7557aa522dcb1;hp=dac57476a5526a2107eabcfc01f930fdbfbe2b06;hpb=ac0ceab6e39da04d146b41a8a2828c7288941a00;p=openvswitch diff --git a/datapath/table.h b/datapath/table.h index dac57476..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 ***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)