[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100526.212105.212688828.davem@davemloft.net>
Date: Wed, 26 May 2010 21:21:05 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: eric.dumazet@...il.com
Cc: anton@...ba.org, netdev@...r.kernel.org
Subject: Re: Warning in net/ipv4/af_inet.c:154
From: Eric Dumazet <eric.dumazet@...il.com>
Date: Thu, 27 May 2010 06:18:46 +0200
> Process context :
>
> lock only (sk_lock.slock = locked, sk_lock.owned = ???)
>
> So I should add a test on owned. If set (by another thread), we should take the slow path.
Indeed, what you're doing now is broken.
If owned is non-zero when you take the spinlock you have to queue your
work, just like how we toss packets into the socket backlog, which is
processed by release_sock(), when this happens.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists