From: Murali Karicheri <m-karicheri2@ti•com>
To: open list: TI NETCP ETHERNET DRIVER <netdev@vger•kernel.org>,
David Miller <davem@davemloft•net>, ;
Subject: Re: netdev: question on ndo_set_rx_mode() API
Date: Mon, 21 Sep 2015 13:15:26 -0400 [thread overview]
Message-ID: <56003B2E.9010904@ti.com> (raw)
In-Reply-To: <55FC44CF.8050001@ti.com>
On 09/18/2015 01:07 PM, Murali Karicheri wrote:
> Hello Netdev experts,
>
> I am seeing an issue with netcp driver that has a mutex lock/unlock()
> call. When kernel hack debug options are enabled, I see a warning that
> this function is taking a mutex that can sleep and is not allowed. I am
> working to fix this. Looking at other drivers, I see many drivers such
> as e1000_main.c are not holding any driver specific lock as part of the
> API implementation. So my first attempt is to remove the mutex. But
> wondering what kind of synchronization is required in this API to run it
> properly on an SMP kernel. Based on my search following files are
> calling dev_change_flags() which in turn calls ndo_set_rx_mode()
>
> Set-1
> ======
> net/ipv4/devinet.c
> net/ipv4/ipconfig.c
> net/core/dev_ioctl.c
>
> Set-2
> =====
> net/8021q/vlan.c
> net/core/rtnetlink.c
>
> Set-1 seems to call this with rtnl_lock (mutex) held. So there is
> already protection between processes that calls this function and driver
> doesn't need to provide any explicit synchronization. Is this correct?
>
> For Set-2, I can't figure out in what context this is calling this API
> Can someone help me understand this?
>
> However I see below.
>
> Documentation/networking/netdevices.txt explains,
>
> ndo_set_rx_mode:
> Synchronization: netif_addr_lock spinlock.
> Context: BHs disabled
>
> So is there any synchronization required from the driver perspective? If
> yes, what kind of synchronization is needed? Thanks in advance for your
> response.
>
Any help??
Thanks.
--
Murali Karicheri
Linux Kernel, Keystone
prev parent reply other threads:[~2015-09-21 17:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-18 17:07 netdev: question on ndo_set_rx_mode() API Murali Karicheri
2015-09-21 17:15 ` Murali Karicheri [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56003B2E.9010904@ti.com \
--to=m-karicheri2@ti$(echo .)com \
--cc=davem@davemloft$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox