Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263554AbUCTWUY (ORCPT ); Sat, 20 Mar 2004 17:20:24 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263555AbUCTWUY (ORCPT ); Sat, 20 Mar 2004 17:20:24 -0500 Received: from moutng.kundenserver.de ([212.227.126.171]:49351 "EHLO moutng.kundenserver.de") by vger.kernel.org with ESMTP id S263554AbUCTWUX (ORCPT ); Sat, 20 Mar 2004 17:20:23 -0500 Date: Sat, 20 Mar 2004 23:20:15 +0100 (MET) From: Armin Schindler To: Andrew Morton cc: , Subject: Re: [PATCH 2.6] serialization of kernelcapi work In-Reply-To: <20040320130509.660c350e.akpm@osdl.org> Message-ID: Organization: Cytronics & Melware MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:4f0aeee4703bc17a8237042c4702a75a Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1340 Lines: 32 On Sat, 20 Mar 2004, Andrew Morton wrote: > Armin Schindler wrote: > > > > > However you are limiting things so only a single CPU can run `work to do' > > > at any time, same as with a semaphore. > > > > Well, limiting the 'work to do' to one CPU is exactly what I need to do, > > the code must not run on another CPU at the same time. > > Across the entire kernel? For *all* ISDN connections and interfaces? Actually yes, for incoming messages. > Surely there must be some finer-grained level at which the serialisation is > needed - per-inteface, per-connection, per-session, whatever? All incoming CAPI messages are queued in one global list and then the work is scheduled. The recv_handler() is just a dispatcher, which dequeues all new messages and puts them into the right queue for the application to read. "the code must not run on another CPU at the same time" is not quite correct. The code itself may run more than once of course, just the dequeue-from-global-queue and put into application-queue sequence may not run twice for the same application. Armin - 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/