Received: by oss.sgi.com id ; Tue, 20 Jun 2000 09:48:47 -0700 Received: from dialup185.canberra.net.au ([203.33.188.57]:1284 "HELO halfway") by oss.sgi.com with SMTP id ; Tue, 20 Jun 2000 09:48:43 -0700 Received: from linuxcare.com.au (localhost [127.0.0.1]) by halfway (Postfix) with ESMTP id D030D817F; Tue, 20 Jun 2000 17:01:56 +1000 (EST) From: Rusty Russell To: Keith Owens Cc: "netdev@oss.sgi.com" Subject: Re: modular net drivers In-reply-to: Your message of "Tue, 20 Jun 2000 10:29:59 +1000." <3292.961460999@kao2.melbourne.sgi.com> Date: Tue, 20 Jun 2000 17:01:56 +1000 Message-Id: <20000620070156.D030D817F@halfway> Sender: owner-netdev@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;netdev-outgoing In message <3292.961460999@kao2.melbourne.sgi.com> you write: > It is also an important bug fix. The module code has suffered from > unload races ever since the kernel locking became fine grained, users > can crash the kernel. Races which can be largely solved at the moment by having the module page removal code sync all bh's and softirqs after calling cleanup(). Hell, we could even poll all CPUs and check they're not executing in the about-to-be-freed pages. Speed is completely unimportant here. Let's be clear: embedding a struct module *owner in every registerable structure is the path to bloated insanity. Other avenues should be explored. ``A 2.4 Kernel In Our Time!'' Rusty. -- Hacking time.