Re: [RFC PATCH net] netns: fix GFP flags in rtnl_net_notifyid()
From: Guillaume Nault <hidden>
Date: 2019-10-18 23:29:32
On Fri, Oct 18, 2019 at 01:55:46PM -0700, Pravin Shelar wrote:
On Sun, Oct 13, 2019 at 3:22 PM Guillaume Nault [off-list ref] wrote:quoted
The point of my RFC is to know if it's possible to avoid all these gfp_t flags, by allowing ovs_vport_cmd_fill_info() to sleep (at least I'd like to figure out if it's worth spending time investigating this path). To do so, we'd requires moving the ovs_vport_cmd_fill_info() call of ovs_vport_cmd_{get,dump}() out of RCU critical section. Since we have no reference counter, I believe we'd have to protect these calls with ovs_lock() instead of RCU. Is that acceptable? If not, is there any other way?I do not see point of added complexity and serialized OVS flow dumps just to avoid GFP_ATOMIC allocations in some code path. What is issue passing the parameter as you have done in this patch?
Adding the gfp_t parameter certainly isn't complex, but that's still code churn for the affected functions. And since only very few call paths actually needed GFP_ATOMIC, I wanted to investigate the possibility of converting them. But I'm fine with keeping the patch as is. I'll repost it formally. Thanks for your review. Guillaume