Hi, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on net-next/master] url: https://github.com/0day-ci/linux/commits/xiangxia-m-yue-gmail-com/optimize-openvswitch-flow-looking-up/20191013-161404 reproduce: # apt-get install sparse # sparse version: v0.6.1-rc1-43-g0ccb3b4-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot sparse warnings: (new ones prefixed by >>) >> net/openvswitch/flow_table.c:307:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct callback_head *head @@ got struct callback_hestruct callback_head *head @@ >> net/openvswitch/flow_table.c:307:9: sparse: expected struct callback_head *head >> net/openvswitch/flow_table.c:307:9: sparse: got struct callback_head [noderef] * vim +307 net/openvswitch/flow_table.c 297 298 /* No need for locking this function is called from RCU callback or 299 * error path. 300 */ 301 void ovs_flow_tbl_destroy(struct flow_table *table) 302 { 303 struct table_instance *ti = rcu_dereference_raw(table->ti); 304 struct table_instance *ufid_ti = rcu_dereference_raw(table->ufid_ti); 305 306 free_percpu(table->mask_cache); > 307 kfree_rcu(table->mask_array, rcu); 308 table_instance_destroy(ti, ufid_ti, false); 309 } 310 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation