Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 16 Nov 2001 19:19:39 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 16 Nov 2001 19:19:29 -0500 Received: from [208.129.208.52] ([208.129.208.52]:54789 "EHLO xmailserver.org") by vger.kernel.org with ESMTP id ; Fri, 16 Nov 2001 19:19:23 -0500 Date: Fri, 16 Nov 2001 16:28:33 -0800 (PST) From: Davide Libenzi X-X-Sender: davide@blue1.dev.mcafeelabs.com To: Mike Kravetz cc: lse-tech@lists.sourceforge.net, lkml Subject: Re: Real Time Runqueue In-Reply-To: <20011116154701.G1152@w-mikek2.des.beaverton.ibm.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 16 Nov 2001, Mike Kravetz wrote: > Suppose you have a 2 CPU system with 4 runnable tasks. 3 of these > tasks are realtime with the same realtime priority and the other is > an ordinary SCHED_OTHER task. The task distribution on the runqueues > looks something like this. > > CPU 0 CPU 1 > --------- --------- > RT Task A RT Task B > Other Task C RT Task D > > Task A and Task B are currently running on the 2 CPUs. Now, Task A > voluntarily gives up CPU 0 and Task B is still running on CPU 1. > At this point, Task D should be chosen to run on CPU 0. Correct? > Isn't this a required RT semantic? I'm curious how you plan on > accomplishing this. Well I don't know how RT sematics apply to SMP systems. The easy solution ( == big common lock ) would be to have a single RT queue that is checked before the private one. Anyway, sometime it happens that the cure is worst than the disease and to solve a corner case you're going to punish common case performances ( Linux is not an RT OS even with that fix ). - Davide - 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/