Subject: [ofa-general] locking requirements when calling dev_set_mtu()

From: Eli Cohen <[email-masked]>
Date: Wed, 2 Jul 2008 11:54:09 +0300

Hi,

I have the need to change the MTU of IP over IB from the driver code
and not from the shell. Looking for the right way to do it I came
across the dev_set_mtu() which seems appropriate as it handles all
notifications too. However, it is not clear to me whether I have to
wrap the call to dev_set_mtu() with any locks. Specifically, I was
referred to a mail thread that suggests that I have to use
rtnl_lock()/rtnl_unlock():
http://marc.info/?l=linux-netdev&m=121201324611292&w=2

With reference to the above URL, I would say that it is possible for
me to hit to the assertion ASSERT_RTNL() if I don't take rtnl_lock
prior to calling dev_set_mtu(). However I don't hit it, though I can't
count on that there will not be a case that any function registered
for notification would expect to see the lock acquired.

Can someone shed light on this?

Thanks,
Eli