Hi, http://lists.openfabrics.org/pipermail/general/2008-July/052458.html This might help you. From: kernelnewbies-bounces@xxxxxxxxxxxxxxxxx [mailto:kernelnewbies-bounces@xxxxxxxxxxxxxxxxx] On Behalf Of rohan puri Sent: 28 November 2011 12:36 To: Vimal; kernelnewbies Subject: Re: What is RTNL lock? On Mon, Nov 28, 2011 at 12:19 PM, Vimal <j.vimal@xxxxxxxxx> wrote: Hi Rohan
Yes, I understood this part, but I am wondering what is the purpose of this lock. I am guessing it's to protect all network related operations from critical events, for e.g.: protecting a packet transmit during device removal, protecting routing table entry during route lookup, etc., but I can't find its precise documentation anywhere. Thanks, On 27 November 2011 22:44, rohan puri <rohan.puri15@xxxxxxxxx> wrote: > > > On Sun, Nov 27, 2011 at 10:37 PM, Vimal <j.vimal@xxxxxxxxx> wrote: >> >> Hi all, >> >> In the Linux networking code, I see a lot of comments that say "Must >> be called with RTNL lock." >> >> What is this lock? I tried searching for it but couldn't find any >> explanation on what it is... >> >> Thanks >> -- >> Vimal >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@xxxxxxxxxxxxxxxxx >> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > Hello Vimal, > This is a mutex named rtnl_mutex. Refer file net/core/rtnetlink.c > static DEFINE_MUTEX(rtnl_mutex); > > void rtnl_lock(void) > { > mutex_lock(&rtnl_mutex); > } > EXPORT_SYMBOL(rtnl_lock); > Where ever you see those comments indicate that this mutex is to be held > before execution of that code path. > Regards, > Rohan
-- Vimal This lock is used to serialize changes to net_device instances from runtime events, conf changes Refer book understanding Linux network internals for more details. |
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies