Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 20 Mar 2001 04:33:20 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 20 Mar 2001 04:33:10 -0500 Received: from ppp0.ocs.com.au ([203.34.97.3]:11783 "HELO mail.ocs.com.au") by vger.kernel.org with SMTP id ; Tue, 20 Mar 2001 04:33:05 -0500 X-Mailer: exmh version 2.1.1 10/15/1999 From: Keith Owens To: Rusty Russell cc: nigel@nrg.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH for 2.5] preemptible kernel In-Reply-To: Your message of "Tue, 20 Mar 2001 19:43:50 +1100." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 20 Mar 2001 20:32:15 +1100 Message-ID: <851.985080735@ocs3.ocs-net> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 20 Mar 2001 19:43:50 +1100, Rusty Russell wrote: >The third is that preemtivity conflicts with the naive >quiescent-period approach proposed for module unloading in 2.5, and >useful for several other things (eg. hotplugging CPUs). This method >relies on knowing that when a schedule() has occurred on every CPU, we >know noone is holding certain references. > >This, too, is soluble, but it means that synchronize_kernel() must >guarantee that each task which was running or preempted in kernel >space when it was called, has been non-preemtively scheduled before >synchronize_kernel() can exit. Icky. The preemption patch only allows preemption from interrupt and only for a single level of preemption. That coexists quite happily with synchronize_kernel() which runs in user context. Just count user context schedules (preempt_count == 0), not preemptive schedules. - 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/