This series converts all get/dump requests to .call_rcu. This allows listing rulesets, sets, etc. even if another entity is performaning an update. In the dump case, only the dump request was locked via nfnl mutex, i.e. the dump callbacks in nf_tables already use rcu read locks everywhere. So just convert the callbacks to .call_rcu to have nfnetlink not grab the subsystem mutex in the first place. The patches are repetitive, as the same pattern is applied to all get callbacks. I splitted them up into smaller chunks to make this more dissectable. Florian Westphal (8): netfilter: nf_tables: nf_tables_getgen: use call_rcu netfilter: nf_tables: nf_tables_gettable: use call_rcu netfilter: nf_tables: nf_tables_getchain: use call_rcu netfilter: nf_tables: nf_tables_getset: use call_rcu netfilter: nf_tables: nf_tables_getsetelem: use call_rcu netfilter: nf_tables: nf_tables_getobj: use call_rcu netfilter: nf_tables: nf_tables_getflowtable: use call_rcu netfilter: nf_tables: nf_tables_getrule: use call_rcu nf_tables_api.c | 111 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 72 insertions(+), 39 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html