[PATCH 1/5] rtnl_unlock cleanups

David Miller davem at davemloft.net
Wed Oct 10 21:13:06 PDT 2007


From: "Denis V. Lunev" <den at openvz.org>
Date: Fri, 5 Oct 2007 18:44:14 +0400

> There is no need to process outstanding netlink user->kernel packets
> during rtnl_unlock now. There is no rtnl_trylock in the rtnetlink_rcv
> anymore.
> 
> Normal code path is the following:
> netlink_sendmsg
>    netlink_unicast
>        netlink_sendskb
>            skb_queue_tail
>            netlink_data_ready
>                rtnetlink_rcv
>                    mutex_lock(&rtnl_mutex);
>                    netlink_run_queue(sk, qlen, &rtnetlink_rcv_msg);
>                    mutex_unlock(&rtnl_mutex);
> 
> So, it is possible, that packets can be present in the rtnl->sk_receive_queue
> during rtnl_unlock, but there is no need to process them at that moment as
> rtnetlink_rcv for that packet is pending.
> 
> Signed-off-by: Denis V. Lunev <den at openvz.org>
> Acked-by: Alexey Kuznetsov <kuznet at ms2.inr.ac.ru>

Applied.


More information about the Containers mailing list