[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpUZOVbYvcfK9BriSsSdsC5BMcgbWxZZJzNARV4pcTmZkA@mail.gmail.com>
Date: Fri, 2 Sep 2016 10:24:15 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Nicolas Dichtel <nicolas.dichtel@...nd.com>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: [Patch net-next 2/2] netns: avoid disabling irq for netns id
On Fri, Sep 2, 2016 at 9:39 AM, Cong Wang <xiyou.wangcong@...il.com> wrote:
> On Fri, Sep 2, 2016 at 1:12 AM, Nicolas Dichtel
> <nicolas.dichtel@...nd.com> wrote:
>> Le 02/09/2016 à 06:53, Cong Wang a écrit :
>>> We never read or change netns id in hardirq context,
>>> the only place we read netns id in softirq context
>>> is in vxlan_xmit(). So, it should be enough to just
>>> disable BH.
>>
>> Are you sure? Did you audit all part of the code?
>
> I did audit all the callers, and I didn't find any of them in IRQ context.
>
>> peernet2id() is called from netlink core system (do_one_broadcast()). Are you
>> sure that no driver call this function from an hard irq context?
>
> I audit all callers of netlink_broadcast(), and I don't see any of
> them in hardirq context.
Note, you can rule out most of them by checking GFP_KERNEL,
which indicates a process context. ;) For GFP_ATOMIC cases,
I don't see any of them in hardirq context either, but I am definitely
not familiar with drivers like infiniband.
Powered by blists - more mailing lists