Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751167AbWBLQzk (ORCPT ); Sun, 12 Feb 2006 11:55:40 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751149AbWBLQzk (ORCPT ); Sun, 12 Feb 2006 11:55:40 -0500 Received: from [194.90.237.34] ([194.90.237.34]:23186 "EHLO mtlexch01.mtl.com") by vger.kernel.org with ESMTP id S1751167AbWBLQzj (ORCPT ); Sun, 12 Feb 2006 11:55:39 -0500 Date: Sun, 12 Feb 2006 18:56:57 +0200 From: "Michael S. Tsirkin" To: Roland Dreier Cc: Andrew Morton , linux-kernel@vger.kernel.org, openib-general@openib.org Subject: Re: [openib-general] Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped Message-ID: <20060212165657.GA14127@mellanox.co.il> Reply-To: "Michael S. Tsirkin" References: <1139689341370-68b63fa9b8e76d91@cisco.com> <20060211140209.57af1b16.akpm@osdl.org> <20060212075037.GA11550@mellanox.co.il> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.1i X-OriginalArrivalTime: 12 Feb 2006 16:57:27.0531 (UTC) FILETIME=[676CBBB0:01C62FF5] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1472 Lines: 34 Quoting r. Roland Dreier : > Subject: Re: [openib-general] Re: [git patch review 1/4] IPoIB: Don't start send-only joins while multicast thread is stopped > > Michael> Basically, its as Andrew said: the lock around clear_bit > Michael> is there to ensure that ipoib_mcast_send isnt running > Michael> already when we stop the thread. Thats why test_bit has > Michael> to be inside the lock, too. > > Makes sense I guess. If I'm understanding correctly, the lock isn't > really there to serialize the bit ops, but rather to make sure > ipoib_mcast_send() won't do anything after we clear the bit. Right. Thats one way to put it. > Does that mean that there's no reason to take the lock around the set_bit()? Ugh, sorry, I dont really remember why I put it there. I guess I just have easier time reasoning about locks than barriers and atomic operations. "bit is protected by priv->lock" is a simple rule, and we are not on data path here. The fact that the race went unnoticed for a while validates this approach in my eyes. I guess longer term we will replace mcast_mutex with priv->lock anyway, so it doesnt matter much. -- Michael S. Tsirkin Staff Engineer, Mellanox Technologies - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/